RHEL / CentOS 7 设定网络固定 IP


RHEL 及 CentOS 会自动侦测 DHCP 取得 IP, 如果要改成使用固定 IP, 除了可以像以前一样修改设定档外, 在 CentOS 7 也可以用内建的 Network Manager 设定网络。

以下会提供两种设定固定 IP 的方法, 并以网卡 “eno16777736” 作为例子。

使用 Network Manager 设定固定 IP

虽然 RHEL / CentOS 7 默认启动了 Network Manager, 但在设定前也可以先确定 Network Manager 有启动:

$ systemctl status NetworkManager.service

看到绿色的 active (running), 那便表示 Network Manager 正在执行。

要检查那一张网卡由 Network Manager 管理, 可以用 nmcli 指令:

$ nmcli dev status

由 Network Manager 管理的网卡会显示 “connected”.

使用 Network Manager 前, 先安装 nmtui (Network Manager Text User Interface):

# yum install NetworkManager-tui

然后就可以使用 “nmtui” 指令, 例如要设定 eno16777736 网卡, 输入:

# nmtui edit eno16777736

然后用键盘的方向键, 移到 “IPv4 CONFIGURATION” 的 “Automatic”, 按 Enter 设定为 Manual, 按 “Show” 便会显示设定内容。
nmtui-01

在 Address 及 Gateway 设定网络:
nmtui-02

设定好后, 移到最下面按 “OK”, 最后重新启动网络便可以了:

# systemctl restart network.service

要检查设定是否生效, 可以用以下指令:

# ip add

不使用 Network Manager 设定固定 IP

由于 CentOS 7 默认使用 Network Manager 管理网络, 以下除了设定固定 IP 外, 也会设定该网卡不受 Network Manager 管理。

开启档案 /etc/sysconfig/network-scripts/ifcfg-eno16777736, ifcfg-eno16777736 名称会根据网卡名称有所不同, 其中 eno16777736 是网卡名称:

# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

首先将 BOOTPROTO=dhcp 改成 BOOTPROTO=static, 以及加入以下三行:

IPADDR=192.168.0.100
NETMASK=255.255.255.0
NM_CONTROLLED=no

上面的 IPADDR 是需要使用的固定 IP, 而 NM_CONTROLLED=no 是设定这张网卡不受 Network Manager 管理, 而直接读取这个设定档内容。

改成类似这样:

最后重新启动网络便可以了:

# systemctl restart network.service

Leave a Reply