CentOS7中已经取消了ifconfig,用nmcli进行了代替,服务管理也升级为systemd。所以之前在6.x版本上的网络配置操作在7.x上行不通了。
下面介绍一下在CentOS7.x上进行网络配置的方法。
环境准备:新安装的CentOS7.x,最小化安装,没有进行网络配置。
1、查看当前网卡信息
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
enp0s3 5d58d8cc-8caf-458b-a672-ed0cdf58292e 802-3-ethernet ---
CentOS7中对网上的命名规则有所变更,具体规则如下:
eno1 :代表由主板 BIOS 內建的网卡
ens1 :代表由主板 BIOS 內建的 PCI-E 界面的网卡
enp2s0 :代表 PCI-E 界面的独立网卡,可能有多个网卡接口,因此会有 s0, s1... 的编号
eth0 :如果上述的名称都不适用,就回到原本的预设网卡编号
由于现在网卡没有启用,也没有建立相关的配置文件,因此在DEVICE 栏位里显示的是”—”。在配置完成,重启网络服务后就会显示相应的设备名,在我的虚拟机上显示的是“enp0s3”
2、使用nmcli命令手工配置网卡
需要配置的网络信息:
IP地址:172.20.31.221/24
网关:172.20.31.240
DNS:202.96.69.38
命令:
[root@localhost ~]# nmcli connection modify enp0s3 \
> connection.autoconnect yes \
> ipv4.method manual \
> ipv4.address 172.20.31.221/24 \
> ipv4.gateway 172.20.31.240 \
> ipv4.dns 202.96.64.68
autoconnect 是设置开机自动连接
ipv4.method 是设置手工配置IPV4地址
重启网络服务
[root@localhost ~]# systemctl restart network
3、查看配置后的网卡配置信息
[root@localhost ~]# nmcli connection show enp0s3
connection.id: enp0s3
connection.uuid: 5d58d8cc-8caf-458b-a672-ed0cdf58292e
......(中间省略)......
ipv4.method: manual
ipv4.dns: 202.96.69.38
ipv4.dns-search:
ipv4.addresses: 172.20.31.221/24
ipv4.gateway: 172.20.31.240
......(中间省略)......
IP4.地址[1]: 172.20.31.221/24
IP4.网关: 172.20.31.240
IP4.DNS[1]: 202.96.69.38
......(以下省略)......
因为在CentOS7.x中取消了ifconfig命令, 我们使用ip addr来代替。
[root@localhost ~]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ef:69:36 brd ff:ff:ff:ff:ff:ff
inet 172.20.31.221/24 brd 172.20.31.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feef:6936/64 scope link
valid_lft forever preferred_lft forever
4、设置双IP
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-enp0s3 ifcfg-enp0s3:1
[root@localhost network-scripts]# vi ifcfg-enp0s3:1
将下列二项内容进行修改:
NAME=enp0s3:1
DEVICE=enp0s3:1
IPADDR=172.20.31.222
PREFIX=24
保存退出后,生词网络服务,然后查看配置信息
[root@localhost ~]# nmcli connection show enp0s3
connection.id: enp0s3
connection.uuid: 5d58d8cc-8caf-458b-a672-ed0cdf58292e
......(中间省略)......
ipv4.method: manual
ipv4.dns: 202.96.69.38
ipv4.dns-search:
ipv4.addresses: 172.20.31.221/24, 172.20.31.222/24
ipv4.gateway: 172.20.31.240
......(中间省略)......
IP4.地址[1]: 172.20.31.221/24
IP4.地址[2]: 172.20.31.222/24
IP4.网关: 172.20.31.240
IP4.DNS[1]: 202.96.69.38
......(以下省略)......
查看全部网络设备信息
[root@localhost network-scripts]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ef:69:36 brd ff:ff:ff:ff:ff:ff
inet 172.20.31.221/24 brd 172.20.31.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 172.20.31.222/24 brd 172.20.31.255 scope global secondary enp0s3:1
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feef:6936/64 scope link
valid_lft forever preferred_lft forever
在enp0s3中会出现二个”inet”,包含配置过的二个IP的信息。
5、配置hostname
使用hostnamectl来配置主机的hostname
[root@localhost network-scripts]# hostnamectl set-hostname www.cmzsteven.com
[root@localhost network-scripts]# cat /etc/hostname
www.cmzsteven.com
重新登录后生效。
6、自动获取IP地址
如果局域网里有DHCP服务器,那么可以使用自动获取来取得主机的IP等相关信息
[root@localhost ~]# nmcli connection modify eth0 \
> connection.autoconnect yes \
> ipv4.method auto
然后重启网络服务即可。