I am a new sysadmin and CentOS user. My system is configured to use DHCP. How can I switch from DHCP to static IP address configuration in a CentOS 7 desktop system? How do I setup a static TCP/IP address on my CentOS Linux 7 or Red Hat Enterprise Linux 7 server using command line option?On CentOS 7 or RHEL 7 one need to use the NetworkManager daemon. It attempts to make networking configuration and operation as painless and automatic as possible by managing the primary network connection and other network interfaces, like Ethernet, WiFi, and Mobile Broadband devices. In this quick tutorial you will learn about configuring a network interface using ifcfg files located in /etc/sysconfig/network-scripts/
directory in a CentOS 7 and RHEL 7:
- Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 as follows:
- Restart network service: systemctl restart network
How do I list network interfaces?
Type the following command:
# ip a
Fig.01: List NICs in a CentOS 7 server using ip command
Or use the following command:
# nmcli -p dev
Fig.02: nmcli command in action
Here is a typical DHCP configration for eth0 (stored in /etc/sysconfig/network-scripts/ifcfg-eth0 file):
DEVICE="eth0" ONBOOT=yes NETBOOT=yes UUID="41171a6f-bce1-44de-8a6e-cf5e782f8bd6" IPV6INIT=yes BOOTPROTO=dhcp HWADDR="00:08:a2:0a:ba:b8" TYPE=Ethernet NAME="eth0"
How do I configure an eth0 interface with static network settings ( method # 1 )?
To configure an eth0 interface with static network settings using ifcfg files, edit or create a file with name ifcfg-eth0 in the /etc/sysconfig/network-scripts/ directory as follows:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Update/edit as follows for static IP configuration:
HWADDR=00:08:A2:0A:BA:B8 TYPE=Ethernet BOOTPROTO=none # Server IP # IPADDR=192.168.2.203 # Subnet # PREFIX=24 # Set default gateway IP # GATEWAY=192.168.2.254 # Set dns servers # DNS1=192.168.2.254 DNS2=18.104.22.168 DNS3=22.214.171.124 DEFROUTE=yes IPV4_FAILURE_FATAL=no # Disable ipv6 # IPV6INIT=no NAME=eth0 # This is system specific and can be created using 'uuidgen eth0' command # UUID=41171a6f-bce1-44de-8a6e-cf5e782f8bd6 DEVICE=eth0 ONBOOT=yes
Save and close the file. You do not need to specify the network or broadcast address as this is calculated automatically by the system. To restart networking service, enter:
# systemctl restart network
Verify new IP settings:
# ip a s eth0
Verify new routing settings:
# ip r
Verify DNS servers settings:
# cat /etc/resolv.conf
Verify the internet connectivity:
# ping -c 3 cyberciti.biz # ping -c 4 google.com
Fig.03: Testing networking and make sure everything is working
How do I configure an eth0 interface with static network settings using Network Manager ( method # 2 )?
You need to use the nmtui command. It is a curses?based TUI application for interacting with NetworkManager. To show a connection editor that supports adding, modifying, viewing and deleting connections. To view or setup a static IP using this tool for eth0, enter:
# nmtui edit eth0
Fig.04: nmtui is a curses?based TUI application for interacting with NetworkManager.
Share this tutorial on: