很多小伙伴在Centos上配置动态IP地址的时候,面对网络上各种各样的说话然后去修改文件/etc/sysconfig/network-scripts/ifcfg-enp0s3
,这种方法肯定是可以的,不过,这种方式相对来说效率比较低,今天,我们为大家介绍Centos 7中为我们提供的网络管理工具nmcli。
通常情况下,大家在安装Centos 7的时候,没有对网络做配置的话,安装成功以后,当们查看当前主机ip的时候会看到下面的内容。
[root@centos8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:58:9e:c2 brd ff:ff:ff:ff:ff:ff
[root@centos8 ~]#
从这里,我们可以看到,当前主机没有获得一个IP地址。
如果我们期望从DHCP上获得一个可用的IP地址,我们可以通过以下命令让系统自动从DHCP上获得一个IP地址。
nmcli connection add \
type ethernet \
con-name enp0s3 \
ifname enp0s3 \
ipv4.method auto \
ipv4.dns 223.5.5.5,223.6.6.6 \
connection.autoconnect yes
- con-name 这里指定的是连接的名称
- ifname 这里指定的是网卡名称
- type 这里指连接类型,可以连接类型通常比较多,如wifi、vpn、ethernet。有线网卡通常设置为ethernet。
- ipv4.method 这里指的是ip生成方式,当为auto时,系统通常会从auto处获得一个ip,当为manual时,需要我们指定一个具体的IP地址。
- ipv4.dns 这里指的是ipv4类型网络的dns的地址。
- connection.autoconnect 指定连接是否自动激活,当设置为yes时,连接会自动激活。
当我们执行完上面的命令以后,我们用如下命令可以看到系统新添加了一条连接的记录:
[root@centos8 ~]# nmcli connection show
NAME UUID TYPE DEVICE
enp0s3 14cde3a4-4dd2-46eb-a636-f13eacd1c2cd ethernet enp0s3
[root@centos8 ~]#
- device 设备列的内容即为网卡的名称。
这个时候,当我们用 ip a
命令查看的时候,就会看到系统已经为名称为enp0s3
的网卡获得了一个IP地址:
[root@centos8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:58:9e:c2 brd ff:ff:ff:ff:ff:ff
inet 192.168.81.192/24 brd 192.168.81.255 scope global dynamic noprefixroute enp0s3
valid_lft 43023sec preferred_lft 43023sec
inet6 fe80::226a:6a12:3de0:a9f1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@centos8 ~]#
这个时候,如果去目录/etc/sysconfig/network-scripts
查看,就会发现网络配置文件已经发生了变化:
[root@centos8 ~]# ll /etc/sysconfig/network-scripts/
total 8
drwxr-xr-x. 2 root root 26 Jun 25 20:08 .
drwxr-xr-x. 5 root root 4096 Jun 24 15:38 ..
-rw-r--r-- 1 root root 312 Jun 25 20:08 ifcfg-enp0s3
[root@centos8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DNS1=223.5.5.5
DNS2=223.6.6.6
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=enp0s3
UUID=a6b1c0e2-2f53-4858-ab75-6e74deaadd3d
DEVICE=enp0s3
ONBOOT=yes
[root@centos8 ~]#
事实上,当我们用nmcli命令修改连接的时候,系统也会自动帮我们修改网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp0s3
。
当我们通过nmcli命令删除一个连接的时候,系统也会同步的将网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp0s3
删除。
是不是很方便呢?