How To Configure Static IP Address in CentOS 7 / RHEL 7

Setting up the network and bringing servers into the network is the primary administration task for any system administrator.

In some cases, these tasks are automated using DHCP (Dynamic Network Configuration Protocol) which takes care of assigning IP Address to Desktop/Servers.

READ: How To configure DHCP server on CentOS 7, Ubuntu 18.04 & Debian 9

But, if you go to the bigger organizations, they use static (manual) IP to avoid network issues due non-availability of DHCP servers.

Configure Static IP Address in CentOS 7 / RHEL 7

Let us configure our system for the following information.

IP Address: Netmask: Gateway (Router): DNS Server 1: DNS Server 2: Domain Name: itzgeek.local

Find the available network interfaces on your system

Choose the desired network interface.

The output of ifconfig -a may look like below. Here, I wish to change the IP address of enp0s3.

Configure the Static IP Address

In this method, we will edit the network interface file found under /etc/sysconfig/network-scripts/ directory. For interface enp0s3 , the file name would be ifcfg-enp0s3 .

Update the interface file as per the requirement.

You can also use nmtui , a text-based user interface for configuring network interfaces.

Select Edit a connection and press Enter .

Set the IP Address and enter OK .

Restart Network

Finally, restart the network service using the following command to have these changes take effect.

Verify Static IP Address

Use ifconfig -a command to verify the static ip address.

Also, verify the DNS server entries.

That’s All. I hope you have learned how to configure a static IP address on CentOS 7 / RHEL 7 .

How To Install Oracle Java JDK 12 / 11 / 8 on Debian 10 / Debian 9

How to Configure Let’s Encrypt SSL in OpenLiteSpeed Web Server

How to Install Oracle Java JDK 18 on Linux

How to Install Oracle Java JDK 17 on Linux

How to Upgrade CentOS 7 to Rocky Linux 8

How To Install PHP 8.0 on CentOS 7 / RHEL 7

How To Install NTP (Chrony) On CentOS 8 / CentOS 7 & RHEL 8 / RHEL 7

How To Install Gradle on CentOS 8 / 7 & RHEL 8 / 7


Tecmint: Linux Howtos, Tutorials & Guides

How to Configure Network Static IP Address on RHEL/CentOS 8/7

The scope of this tutorial is to explain how we can edit and make changes to Network Configurations on RHEL/CentOS 8/7 from the command line only, and, more specifically how we can set up a Static IP address on network interfaces using system network-scripts, which is a must be configured to serve Internet-facing network services, and how to configure or change RHEL/CentOS system hostname .

Configure Network Interface in CentOS 7

Also will show you, how we can manage or disable unwanted system services, such as Network Manager , which is no longer needed in-case you use a manual static IP configured on network scripts, Avahi-Daemon which is, also, not needed on a server and represents a seriously security gap, unless you installed the server on your Laptop and you want to instantly browse your network for other services, and on the final will present you Network Manager Text User Interface – nmtui , a system utility that can ease the job of editing your system network settings with advanced Interface configurations like creating Bond , Bridge , Team and VLAN Interfaces.


Also, be aware that most of the configurations offered by editing system files should not be performed from a remote location using SSH service until you establish a continued and reliable network connection using a fixed IP address.

On this page

Step 1: Disable Unwanted System Services in CentOS

1. Before actually starting to do anything we need to make sure that our system has some necessary editing and networking tools like netstat , ifconfig , wget , curl , and lsof installed, some of them will not be used on this step but it’s better to have them installed for future configurations.

Install Networking Tools in CentOS

2. After the tools have installed run ifconfig to get your Network Interfaces settings and status, and, then run netstat or lsof command to check what services are running by default on our server.

Check Network Interfaces and Services Status

3. The netstat command output is pretty self-explanatory and shows a list of sockets associated with their running program name.

If, for example, our system will not be used as a mail service you can stop Postfix master daemon which runs on localhost and, also stop and disable other unwanted services using the following commands – the only service I advise not to stop or disable for now is SSH if you need remote control over the server.

Stop Postfix Service

Stop Postfix Service

Stop Avahi Daemon Service

Stop Avahi Daemon

4. You can, also, use old init commands to stop or disable services but since Red Hat now implements systemd process and service management, you should better get used to systemctl commands and use it often.

If you use Arch Linux then it should be a piece of cake to switch to systemd – although all init commands now are linked and pass-through systemd filter.

5. If you want to get a list of all started services run the service command and for an exhaustive report use systemctl .

List All Services in Linux

6. To manage services run the systemctl command using the most important switches: start , stop , restart , reload , disable , enable , show , list-dependencies , is-enabled, etc. followed by your service name.

Also, another important feature that the systemctl command can also run on a remote server through SSH service on a specified host using -H option and perform the same actions as locally.

For example, see the command and screenshot below.

Run systemctl on Remote Server

Step 2: Configuring Static IP Address on CentOS

7. Before start editing Network Interface Card system files make sure that from now on and until you set static IP, you have physical or any other type of access to your server, because this step requires bringing down your network interface and connections.

Although it can be done smoothly without disrupting your connectivity and activate connection after reboot . There is no way you can test it before reboot if you only have a single NIC attached. Still, I will present to you with the entire method and indicate the steps needed to be avoided in case you want to maintain your connectivity and test it afterward.

8. Now move to /etc/sysconfig/network-scripts/ path, open and choose your Network Interface you want to assign static IP for editing – to get all NICs names to use ifconfig or IP command as shown.

Check Network Interface Name

9. Next, use the following network template to edit the file and make sure that the ONBOOT statement is set on YES , BOOTPROTO is set to static or none and don’t change HWADDR and UUID values provided by default.

Make the following changes as shown.

Configure IP Address in CentOS 8

10. After finishing editing the file, close it, and move to resolv.conf file if you want DNS servers enabled system-wide.

Here just add your DNS servers using nameserver statement.

11. Now Network Interface is configured with a static IP, the only thing remaining is to restart your network or reboot your system and use ifconfig or IP command to view the IP address and test configuration using ping command.

NOTE : After restart use the newly static IP address configured to perform remote login with SSH.

Check New IP Address

Step 3: Setting Hostname in CentOS

12. To adjust system hostname system-wide, open hostname and hosts file located on /etc path and edit both the following way.

Hostname File

Here you can add just the name of the system but it’s a good idea to append the .dot domain to.

Here add the same hostname as above on the line before the localhost.localdomain statements.

Set Hostname in CentOS 7

Alternatively, you can set hostname using the hostnamectl command as shown.

13. To test if your hostname is correctly set use hostname command.

Step 4: Set Static IP Address on CentOS Using Nmtui Tool

14. NetworkManager Text User Interface (TUI) tool, nmtui , is an RHEL intuitive tool which provides a text interface to configure networking by controlling Network Manager, which helps to edit advanced network settings such as assign static IP addresses to Network Interfaces, activate or disable a connection, edit WI-FI connections, set your system hostname or create advanced Network interfaces like InfiniBand, bond, bridge, team or VLAN.

NetworkManager-tui is installed by default in RHEL/CentOS 7.0, but if for some reason its missing issue the following command to install it.

14. To start Network Manager Text User Interface run the nmtui command and use TAB or arrow keys to navigate through and press Enter to select an option. If you want to directly edit or connect a specific interface run the following options.

Configure Static IP in CentOS

If you want to set static IP you can, also, use Network Manager Text User Interface as a facile alternative to actually edit network interfaces files, with a limited number of options that method has to offer, but make sure Network Manager service is enabled and started on your system.

Tutorial Feedback...

If you appreciate what we do here on tecmint, you should consider:.

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Related Posts

how to set static ip address in rhel 7

How to Install Yii PHP Framework on RHEL, CentOS, Rocky and AlmaLinux

Install Nagios in Linux

How to Install Nagios Monitoring in RHEL, Rocky, and AlmaLinux

Synchronize Time with NTP in Linux

How to Synchronize Time with Chrony NTP in Linux

Configure FirewallD in RHEL, Rocky & AlmaLinux

How to Configure FirewallD in RHEL-based Distributions

Install EPEL Repo in RHEL, Rocky and AlmaLinux

How to Install EPEL Repository on RHEL, Rocky & AlmaLinux

Fix "Failed to download metadata for repo AppStream"

How to Fix Error: Failed to Download Metadata for Repo ‘AppStream’

11 thoughts on “How to Configure Network Static IP Address on RHEL/CentOS 8/7”

After 2 hours tests, Good all be fine, it works fine, just Added : In smb.conf file configuration in [Anonymous]

1- be sure that your server has a static connection 2- added user with password : smbpasswd -a username

Thank For Author I have make a samba configuration in 2 hours

I feel learning with quick manner in this site Thank you very much

I also routinely disable NetworkManager on my servers, but do note that “nmtui” (and also nmcli) are NetworkManager clients, so you cannot use them if you have disabled NetworkManager.

Excellent!. This is the ONLY post on setting static IP on Centos which is correct. Simple flow.

All: Just follow the steps as is.

Great explanation. Great job guys.

Great article. The static IP configuration works great on my RHEL 7 server vm.

Just have a question. The Red Hat documentation says that BOOTPROTO should be set to “none”. My copy of your configuration only works with BOOTPROTO=static as you used in your example. If I set it to none the ip address does not get updated. I am having some discussions with our Linux sys admins since they are insisting that I should follow only the Red Had docs and this is a problem as I can’t make it work with BOOTPROTO=none. Is there a reason why it only works with BOOTPROTO=static?

If it works with bootptoto=static then stick with this option as long as it does the job right! As far as i know it should work also with none (none actually specifies that no boot-time protocol should be used but the IP value from IPADDR= variable should be updated for NIC at boot time).

@Ehwan Kho: Just use ip link show or ifconfig -a command and you should see all your NICs names. You can also use nmtui to edit your new card settings.

How do I add a new network card – NIC? I tried using lspci | grep Ethernet, it display that it 2 cards. My question now how could I know its name? as they are not using the eth1, eth2 et al.. And I can’t see /etc/udev/rules.d/70-persistent-net.rules. Your thoughts are highly appreciated.

In my opinion you can use both approaches, manual editing NICs interfaces or configure static IP using NM or nmtui if you dont have a GUI. But for a better control and flexibility over your NICs you should go with manual configurations, without NM. If you go with manual without NM don’t forget to use NM_CONTROLLED=no and ONBOOT=yes parameters.

please matie cezar can you teach me how to network a small firm. i will be happy if you can teach me form scratch to the level of networking a firm. i want to learn the installation and configuration

I ALWAYS disable network manager on Servers, it’s too dynamic and wastes resources. Why Red Hat is pushing that crap I don’t know, but I haven’t met anyone who wants it on a server. It’s great for desktops, and laptops, but NOT servers. Also, the DNS settings need to stick to being setup in the resolv.conf file, not spread out in the ifcfg scripts. Keeps the config manageable and easy to troubleshoot.

From going over the documentation on RHEL/CentOS 7, it appears that they’re really pushing for NetworkManager to be the default way to manage networking. For servers (not desktop) do you believe it’s best to disable NetworkManager and just assign static IPs normally as you have instructed or do you believing managing all the network through net manager is worth it?

The reason I ask is because I only deal with servers (not desktops) and I’ve seen many times NetworkManger causing major network issues. So I’m still on the fence whether or not to do things through netManager. Specially considering that rhel 7 is using it by default.

Got something to say? Join the discussion. Cancel reply

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

Save my name, email, and website in this browser for the next time I comment.

Don't subscribe All Replies to my comments Notify me of followup comments via e-mail. You can also subscribe without commenting.

Select Your Language

Infrastructure and management.

Cloud Computing

Integration and Automation

Language and Page Formatting Options

Red hat training.

A Red Hat training course is available for Red Hat Enterprise Linux

3.6. Configuring IP Networking with ip Commands

Assigning a static address using ip commands, configuring multiple addresses using ip commands.

Account Information

how to set static ip address in rhel 7

How to configure a static IP address in CentOS 7

Share with Your Friends

Your email has been sent

Image of Jack Wallen

This short tutorial walks you through the process of changing a CentOS ethernet interface from DHCP to static--but be prepared to type.

You may have set up a CentOS server and, in the process, accidentally set it up with DHCP. If your CentOS server uses a GUI, changing that IP address from dynamic to static is very simple. But what if your server is a text-only machine? What do you do then? Fortunately, it’s not all that hard to configure that GUI-less server with a static IP address–you just have to know where it’s configured and know the syntax of the configuration. Of course, by nature of what we’re working on this is all done manually, so be prepared to type.

I’ll be working on CentOS 7 . I’ll assume you already have the operating system installed and working properly, have access to the machine, and have an administrative account. With that out of the way, let’s set up that static IP address.

Find your interface

The first thing we must do is find out the name of our ethernet interface. A static IP address cannot be configured without this name. To do this, log into your server and issue the command ip a . The output of this command ( Figure A ) will include the name of the interface.

how to set static ip address in rhel 7

As you can see, from my output, the name of my interface is enp0s3. Now that we know the name of our interface, we can configure the static address.

Configuring the address

Within the directory /etc/sysconfig/network-scripts/ you should find the file ifcfg-INTERFACENAME (Where INTERFACENAME is the name of your interface). In my instance, the file is ifcfg-enp0s3. It is important that you configure that file, and not the ifcfg-eth file. Open the correct file for editing with the command sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s3 . We need to modify that file in order to not only change the protocol from dhcp to static, but to add the specific IP address. So when you open up that file, you’ll want to change:



Now you’ll need to add the entries to set not only the IP address, but the netmask, gateway, and DNS addresses. At the bottom of that file, add the following:


NOTE: All fields in bold, you will edit to reflect your networking needs. If you have fewer or more DNS entries, add or remove them as needed.

Save and close that file. In order to make the changes take effect, issue the command sudo systemctl restart network. Once the networking system has restarted, issue the command ip a to see that your IP address has changed to reflect your configuration.

And that’s all there is to setting a static IP address on CentOS. That wasn’t so hard, now was it? Don’t think this technique is limited only to GUI-less CentOS servers. You can use the same method to set a static IP address on a CentOS server with a GUI as well.

Enjoy having more control over your CentOS network interfaces.

Person using a laptop computer.

Daily Tech Insider Newsletter

Stay up to date on the latest in technology with Daily Tech Insider. We bring you news on industry-leading companies, products, and people, as well as highlighted articles, downloads, and top resources. You’ll receive primers on hot tech topics that will help you stay ahead of the game.

Contact Jack Wallen

Your message has been sent

Editor's Picks

how to set static ip address in rhel 7

TechRepublic Premium editorial calendar: IT policies, checklists, toolkits and research for download

TechRepublic Premium content helps you solve your toughest IT issues and jump-start your career or next project.

An HR team uses HR and Payroll software.

The best human resources payroll software of 2023

With a lot of choices in the market, we have highlighted the top six HR and payroll software options for 2023.

A computer running Windows 11.

Windows 11 update brings Bing Chat into the taskbar

Microsoft's latest Windows 11 allows enterprises to control some of these new features, which also include Notepad, iPhone and Android news.

A software engineer works from home.

Tech jobs: No rush back to the office for software developers as salaries reach $180,000

Salaries for remote roles in software development were higher than location-bound jobs in 2022, Hired finds.

Project management process to manage and develop with resources to deliver quality product, agile development cycle, businessman project manager balance on clock juggling project management elements.

The 10 best agile project management software for 2023

With so many agile project management software tools available, it can be overwhelming to find the best fit for you. We've compiled a list of 10 tools you can use to take advantage of agile within your organization.

A user typing a password.

1Password is looking to a password-free future. Here’s why

With phishing-based credentials theft on the rise, 1Password CPO Steve Won explains why the endgame is to 'eliminate’ passwords entirely.

IT training policy

Successful IT departments are defined not only by the technology they deploy and manage, but by the skills and capabilities of their people. IT workers must keep up to date with the latest technology trends and evolutions, as well as developing soft skills like project management, presentation and persuasion, and general management. Due to the ...

MSP best practices: Network switch and router maintenance checklist

Managed services providers often prioritize properly configuring and implementing client network switches and firewalls. However, regularly reviewing and updating such components is an equally important responsibility. It’s essential to ensure clients understand the necessity of regularly auditing, updating and creating new backups for network switches and routers as well as the need for scheduling the ...

Service level agreement policy

A service level agreement is a proven method for establishing expectations for arrangements between a service provider and a customer. SLAs involve identifying standards for availability and uptime, problem response/resolution times, service quality, performance metrics and other operational concepts. SLAs streamline operations and allow both parties to identify a proper framework for ensuring business efficiency ...

The Geek Diary

CentOS / RHEL 7 : Configuring static IP adress using network interface configuration files

There are various ways you can configure an IP address in RHEL 7. The posts discusses the use of network interface configuration files to configure the IP address. Each physical network device has an associated network interface configuration file. Network interface configuration files are located in the /etc/sysconfig/network-scripts directory.

1. Use the ip addr command to display your available network interfaces.

Note that you have 3 Ethernet interfaces (eth0, eth1) and the loopback interface (lo). If you interface names are somthing like eno16777736, refere this post to change the interface naming to eth0 and eth1.

2. cd into the /etc/sysconfig/network-scripts directory which holds the network interface configuration files.

Here you would find the network configuration file for the eth1 interface i.e. ifcfg-eth1 . If not already present you can copy the interface configuration file of interface eth0.

3. We want to assign IP address to the interface eth1. Edit the configuration file for the interface and change the highlighted parameters as show below :

4. Edit the /etc/hosts file to add the entry for the new IP address :

5. Restart the network services :

Using network interface control scripts to stop/start a specific network interface

The network interface control scripts i.e. ifup and ifdown . Use the ifdown command to stop the interface and eno16777736. Verify the status of the interface using “if addr” command (the ip address should have disappeared):

Use the ifup command to start the interface again :

You May Also Like

How to setup a static IP address on Centos 7 / RHEL 7

how to set static ip address in rhel 7

In this article we will explain how to setup a static IP address on Centos 7 / RHEL 7.There are several ways to configure a static IP address.

1. nmtui Tool ( Network Configuration Text User Interface) 2. nmcli Tool ( Network Manager Command Line ) 3. Editing /etc/sysconfig/network-scripts/ifcfg-network_interface_name.fcg

For this tutorial, we’re going to assign to my server on my lab environment: – IP address : – NetMask – Gateway – Domain Name Servers : ( In my lab environment i’ve two Dns Servers) – Search Domains :

Before starting let’s check current IP address and of our Centos 7 / RHEL 7 server :

Here, like you see, my network interface name is enp0s3 and the network configuration is automatically assigned by my DHCP server. Let’s start setting up a static ip address to our server .

1./ nmtui tool:

nmtui set a static ip address centos 7 rhel 7

Remember to check Automatically connect   to start the network device on boot and click ok .

By the way you can directly edit or connect an interface network device using:

Finally, restart the Network configuration daemon

2. nmcli Tool ( Network Manager Command Line )

First, let’s display the network connections.

Let’s start.

if you want to display list of all informations of the network connection use this command.

3. Editing /etc/sysconfig/network-scripts/ifcfg-network_interface_name.fcg

BY default the configuration file will look like the block below.

  To change the above setup to a static IP address configuration, replace BOOTPROTO value from dhcp to static or none as shown below.

Then add the IP address, network mask, gateway, domain search and Dns for the server at the end and save the file.

Finally, restart the network service to insecure change takes effect.

  That’s it for now. Enjoy..  

PS. If you like this post please share it with your friends on the social networks using the buttons below.Thanks. YallaLabs

' src=

Lotfi Waderni

I'm a technical writer with a background in Linux and windows server administration.

How to change the Hostname on CentOS 7 / RHEL 7

How to setup a static ip address on ubuntu 16 lts, you may also like, how to install git on ubuntu 20.04, how to install netdata to monitor your..., how to install sublime text 3 on..., how to install pgadmin 4 in server..., leave a comment cancel reply.


  1. Configure Static IP Address and Set DNS in Ubuntu 15.10 Desktop and Server

    how to set static ip address in rhel 7

  2. How to Set Static IP Address in Windows 10

    how to set static ip address in rhel 7

  3. How to set static IP address

    how to set static ip address in rhel 7

  4. How to set a static IP address in Windows

    how to set static ip address in rhel 7

  5. How to setup a static IP address on Centos 7 / RHEL 7

    how to set static ip address in rhel 7

  6. rhel 8で静的IPアドレスを設定する3つの方法

    how to set static ip address in rhel 7


  1. LDAP

  2. #11

  3. Rocky Linux Tutorial

  4. Create a network manager connection to configure ipv4 & ipv6 address

  5. 07 IP Routing Lab03

  6. How To Set A Static IP In Linux Using The GUI


  1. How to configure a static IP address on CentOS 7 / RHEL 7

    How to configure a static IP address on CentOS 7 / RHEL 7 · Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 as follows: · DEVICE=

  2. How To Configure Static IP Address in CentOS 7 / RHEL 7

    Configure Static IP Address in CentOS 7 / RHEL 7 · Find the available network interfaces on your system · Choose the desired network interface · Configure the

  3. How to Configure Network Static IP Address on RHEL/CentOS 8/7

    How to Configure Network Static IP Address on RHEL/CentOS 8/7 · Step 1: Disable Unwanted System Services in CentOS · Step 2: Configuring Static IP

  4. 3.6. Configuring IP Networking with ip Commands

    The package name in Red Hat Enterprise Linux 7 is iproute. ... The ip commands can be used to add and remove addresses and routes to interfaces in parallel

  5. Easy guide to assign Static IP Address on CentOS / RHEL (7 & 8)

    To configure a static using the network manager, we will be using a tool called 'nmtui'. NMTUI is a CLI-based user interface for Network Manager

  6. How to configure a static IP address in CentOS 7

    The first thing we must do is find out the name of our ethernet interface. A static IP address cannot be configured without this name. To do

  7. How to Set the IP Address in Redhat 7

    How to Set the IP Address in Redhat 7 || RHEL7 or Centos7 step by step.

  8. How to assign IP Address on rhel7/centos7/Linux

    How to assign static IP Address on rhel7/centos7#ipaddress #ip #[email protected] blog: nns25.blogspot.comthis video is for the

  9. CentOS / RHEL 7 : Configuring static IP adress using network

    CentOS / RHEL 7 : Configuring static IP adress using network interface configuration files · 1. Use the ip addr command to display your available network

  10. How to setup a static IP address on Centos 7 / RHEL 7

    How to setup a static IP address on Centos 7 / RHEL 7 · 1. nmtui Tool ( Network Configuration Text User Interface) · 2. nmcli Tool ( Network