Pages

Friday, April 25, 2025

How to Configure Static IP Address Using nmcli in Linux

Configuring a static IP address is a common task for Linux administrators, especially when setting up servers or virtual machines that require consistent network settings. The nmcli command-line tool, part of NetworkManager, provides a powerful and scriptable way to manage network connections without a GUI. In this guide, we’ll walk through the essential nmcli commands to set a static IPv4 address, gateway, DNS, and disable IPv6 for a network interface.

Step-by-Step: Setting a Static IP Address with nmcli

Let’s assume your network interface is named ens33. Here’s how to configure it:

  1. Assign a Static IPv4 Address
    nmcli con mod ens33 ipv4.addresses "172.16.3.150/16"
    This sets the IP address to 172.16.3.150 with a subnet mask of 255.255.0.0 (CIDR /16).
  2. Set the Default Gateway
    nmcli con mod ens33 ipv4.gateway "172.16.0.1"
    This command configures the default gateway for outgoing traffic.
  3. Configure DNS Server
    nmcli con mod ens33 ipv4.dns "8.8.8.8"
    This sets Google’s DNS server for name resolution. You can add multiple DNS servers by separating them with a comma, e.g., "8.8.8.8,8.8.4.4".
  4. Disable IPv6 (Optional)
    nmcli con mod ens33 ipv6.method "disabled"
    If your environment does not use IPv6, disabling it can simplify network troubleshooting and improve security.
  5. Set IPv4 Method to Manual
    nmcli con mod ens33 ipv4.method manual
    This ensures that the interface uses manual (static) configuration instead of DHCP.

Applying the Changes

After making these changes, you need to bring the connection down and back up for the settings to take effect:

  • nmcli con down ens33 nmcli con up ens33

Example: Complete Static IP Setup Script

  • nmcli con mod ens33 ipv4.addresses "172.16.3.150/16"
  • nmcli con mod ens33 ipv4.gateway "172.16.0.1"
  • nmcli con mod ens33 ipv4.dns "8.8.8.8"
  • nmcli con mod ens33 ipv6.method "disabled"
  • nmcli con mod ens33 ipv4.method manual
  • nmcli con down ens33 nmcli con up ens33

Additional Tips

  • Check Connection Name: Use nmcli con show to list all available connections and confirm your interface name (e.g., ens33).
  • Disable IPv6 for Other Connections: Replace ens33 with your actual interface name as needed.
  • Verify Configuration: After applying changes, use ip addr and nmcli dev show ens33 to verify your settings.

Summary Table: Key nmcli Commands

Command Description
nmcli con mod ens33 ipv4.addresses "IP/CIDR" Set static IP address and subnet
nmcli con mod ens33 ipv4.gateway "GATEWAY" Set default gateway
nmcli con mod ens33 ipv4.dns "DNS" Set DNS server(s)
nmcli con mod ens33 ipv6.method "disabled" Disable IPv6
nmcli con mod ens33 ipv4.method manual Set IPv4 configuration to manual
nmcli con down ens33 Deactivate the connection
nmcli con up ens33 Activate the connection

With these nmcli commands, you can quickly and reliably configure static IP settings on your Linux systems, making network management more efficient and consistent.

No comments:

Post a Comment