本文整理了CentOS7的将动态分配IP改为静态IP的两种方法。第一种方法是修改网卡对应的配置文件,然后重启network。第二种则是借助nmcli命令进行修改。
注:本文内容基于虚拟机上运行的CentOS7环境,实体机安装的CentOS7在网卡名称方面可能会有出入。

准备工作:运行命令 ip addr 查看所有网卡的IP和名称,确认需要修改的连接名称。

ip addr

使用虚拟机的话,网卡的名称一般为ens33、ens3、eth0等

设置方法一:通过修改配置文件进行设置

1. 切换到网络配置文件夹中

cd /etc/sysconfig/network-scripts

2. 使用 ll ifcfg-* 命令查看所有配置文件

每个网卡的配置文件的命名模式是 ifcfg-<name>。
例如网卡名称为ens3,那么它的配置文件名称为ifcfg-ens3

ll ifcfg-*

3. 修改配置文件

如果待修改的网卡没有对应的配置文件,则新建一个,固定IP的完整配置参考如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 地址分配模式,一般为static或dhcp,也可以设置成none
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
# 网卡名称
NAME=ens3
# 网卡识别码
UUID=1fccfa54-98bd-4101-9eca-bc976d7c042a
DEVICE=ens3
# 是否开机激活     
ONBOOT=yes
# IP地址   
IPADDR=192.168.0.135
# 子网掩码
NETMASK=255.255.255.0
# 网关地址
GATEWAY=192.168.0.1
# 首选的DNS地址
DNS1=114.114.114.114
# 备选的DNS地址
DNS2=8.8.8.8

在上面的配置内容中,带注释的为关键配置项,主要包括:

  • BOOTPROTO:地址分配模式,动态分配时设置为dhcp,固定IP时设置为static,也可设置为none表示不指定,不过可能会出问题,不推荐;
  • NAME:网卡名称,一般与设备名称相同;
  • UUID:网卡的识别码,必须要与网卡的识别码一致,否则配置无法生效;新建时需要通过 nmcli connection show 命令查看确认
  • DEVICE:设备名称,一般与网卡名称相同;
  • ONBOOT:是否开机激活,一般设置为yes或no,有时配置了网络可重启就会失效就是因为没有将该项设置为yes;
  • IPADDR:IP地址,固定IP时需要设置,DHCP分配时不需要
  • NETMASK:子网掩码,固定IP时需要设置,DHCP分配时不需要,一般设置为 255.255.255.0 等于于PREFIX的 24 ,与PREFIX配置项的作用相同,二选一即可,两个同时存在不确定是否会出现其他问题;
  • PREFIX:子网掩码的另一种表示形式,一般设置为 24 ,等同于NETMASK的 255.255.255.0 ,与NETMASK配置项的作用相同,二选一即可,两个同时存在时不确定是否会出现其他问题
  • GATEWAY:网关地址,固定IP时需要设置,DHCP分配时不需要
  • DNS1:首选DNS地址,一般在固定IP时设置,如果在DHCP分配时需要指定也可设置
  • DNS2:备选DNS地址(可选),在DNS1失效时使用

如果是在原有配置文件上修改,则只需要修改BOOTPROTO,然后增加IPADDR、NETMASK(或者PREFIX)、GATEWAY和DNS

4. 重启 network 服务

systemctl restart network

或者

service network restart

设置方法二: 通过 nmcli 相关命令设置

1. 通过命令 nmcli con 查看所有连接,确认需要修改的连接的名称或UUID

nmcli con

2. 通过名称或UUDI修改进行设置

注:为了方便演示命令,在这里将连接的名称设置为 ens3 ,在配置时需要根据实际连接的名称进行修改。

设置手动配置

nmcli con mod ens3 ipv4.method manual

设置固定IP

允许设置多个IP,以逗号分隔。

nmcli con mod ens3 ipv4.address 192.168.0.135

设置网关

nmcli con mod ens3 ipv4.gateway 192.168.0.1

设置DNS

允许设置多个DNS,以逗号分隔。

nmcli con mod ens3 ipv4.dns 192.168.0.1

3. 保存修改并重新加载

nmcli con up ens3

4. 查看已保存的配置

cat /etc/sysconfig/network-scripts/ifcfg-ens3