如何在CentOS 8/7上配置静态IP地址

时间:2020-02-23 14:31:27  来源:igfitidea点击:

欢迎来到有关如何在CentOS 8/7 Linux上配置静态IP地址的教程。我们是否一直试图找到一种简便的方法来在CentOS 8.7上设置静态IP地址?如果是,那么本教程适合我们。

在服务器上工作时,无论我们管理哪种服务器,都必须做静态IP地址配置。

要在CentOS上配置静态IP地址,可以使用以下任何一种方法:

指导在/etc/sysconfig/network-scripts /目录下编辑网络配置文件。使用nmcli网络配置命令行工具使用nmtui网络配置工具使用ip和ifconfig命令进行静态IP地址配置。

在本教程的下一部分中,请仔细查看所有这些方法。请注意,theipandifconfig方法不会在重新引导时持续存在。它仅在需要测试设置才能提交到文件时使用。

方法1:通过编辑网络配置文件来配置静态IP地址

假设我们有一台服务器,其网络接口名为eth0并想为其设置静态网络配置,则要创建的文件将是/etc/sysconfig/network-scripts/ifcfg-eth0,其基本内容类似于以下内容:

DEVICE=eth0
NAME=eth0
Type=Ethernet
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.4.4
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
PEERDNS=yes

最常见的配置参数及其说明如下:

BOOTPROTO = <协议>>,其中<协议>是以下之一:
无不应使用启动时协议。
bootp应该使用BOOTP协议。
dhcp应该使用DHCP协议。

IPADDR = <地址>>,其中<地址>是IP地址。
DEVICE = <名称>>,其中<名称>是物理设备的名称。
DNS {1,2} = <地址>>,其中<地址>是要放置在/etc/resolv.conf中的名称服务器地址
GATEWAY = <地址>>,其中<地址>是网络路由器的IP地址
MACADDR = <MAC地址>>其中,<MAC地址>是以太网设备的硬件地址,格式为AA:BB:CC:DD:EE:F
NETMASK = <掩码>>其中,<掩码>是网络掩码值。
ONBOOT = <answer>>其中<answer>是以下之一:
是该设备应在启动时激活。
否引导时不应激活此设备。
PEERDNS = <answer>>其中<answer>是以下之一:
如果设置了DNS指令,则修改/etc/resolv.conf。如果使用DHCP,则默认为yes。
否请勿修改/etc/resolv.conf。
USERCTL = <answer>>,其中<answer>为下列之一:
是允许非root用户控制此设备。
否不允许非root用户控制此设备。

如果我们正在运行NetworkManager服务,则需要指示网络服务网络管理员不管理该接口(eth0)。这是通过添加行来完成的;

NM_CONTROLLED=no

然后,我们可以停止NetworkManager服务。对于CentOS 7/8,可以使用以下方法完成:

sudo systemctl stop NetworkManager

保存更改后,关闭界面并恢复它:

sudo ifdown eth0 && sudo ifup eth0

使用ip命令检查当前配置:

$ip addr show

如果要使用ifconfig命令但未安装,请使用以下命令安装:

sudo yum -y install net-tools

然后使用ifconfig命令检查IP地址信息。

$ ifconfig -a

方法2:使用nmcli配置静态IP

NetworkManager是一个守护程序,位于libudev和其他Linux内核接口之上,并提供用于配置网络接口的高级接口。

另一方面,nmcli是用于控制NetworkManager和报告网络状态的命令行工具。它可以替代nm-applet或者其他图形客户端。 nmcli可以创建,显示,编辑,删除,激活和停用网络连接,以及控制和显示网络设备状态。

nmcli可以做很多网络配置,在此仅考虑基本配置。在尝试使用nmcli工具配置网络之前,请确保NetworkManager服务正在运行。

$systemctl status NetworkManager

如果服务未运行,请启动它:

$sudo systemctl start NetworkManager

要使用nmcli控制网络接口的状态,请在NIC名称前向下传递|。这将关闭接口或者显示已关闭的接口。

sudo nmcli connection down eth0
sudo nmcli connection up eth0

使用nmcli创建网络并配置静态IP地址

本示例将向我们展示如何创建一个名为eth0的新网络,并使用nmcli为它配置IPv4地址。

显示当前连接:

$nmcli con show

重新创建之前,请删除具有相同名称的连接。使用上一个命令显示的网络名称或者网络UUID:

$nmcli con delete eth0

创建一个名称为eth0的网络

$nmcli con add type ethernet ifname eth0 con-name eth0 \
  autoconnect yes ip4 192.168.1.10 gw4 192.168.1.1

Connection 'eth0' (804ce9b1-c5e1-42ff-b1a9-7a92e08e44a7) successfully added.

配置DNS并使该网络接口的网络配置始终手动。

nmcli con mod eth0 ipv4.method manual 
nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"

重新启动网络:

sudo nmcli con down eth0 && sudo nmcli con up eth0

使用带有nmcli的show命令查看网络配置:

$nmcli con show eth0

要删除连接,请使用:

$nmcli con del eth0
Connection 'eth0' (804ce9b1-c5e1-42ff-b1a9-7a92e08e44a7) successfully deleted.