RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理NetworkManager服务。
1、nmcli 查看网卡信息
[root@redhat Desktop]# nmcli connection show
NAME UUID TYPE DEVICE
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet eno16777728
[root@redhat Desktop]# nmcli con show
NAME UUID TYPE DEVICE
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet eno16777728
[root@redhat Desktop]# nmcli con show eno16777728
connection.id: eno16777728
connection.uuid: 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5
connection.interface-name: eno16777728
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1583573310
connection.read-only: no
2、新建网络会话
网络会话,允许用户在多个配置文件中快速切换(类似于防火墙中的区域)。可以满足不同环境中使用不同的ip,例如在公司使用固定ip,在家里使用自动获取ip,用户频繁改变很麻烦,而使用到网络会话则可以很轻松的实现自动切换。
以下演示创建两个会话,一个是company,固定ip,一个house,DHCP获取动态ip
创建固定ip的网络会话company,添加完后切换,可以看到ip变为设置的固定ip
[root@redhat Desktop]# nmcli con show
NAME UUID TYPE DEVICE
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet eno16777728
##新建网络会话company,设置ip和网关,autoconnect no不会默认被激活,记得网卡名称要与机器上的一致
[root@redhat Desktop]# nmcli con add con-name company ifname eno16777728 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
Connection 'company' (24b72cb7-c7ac-4a06-81f9-dd09e14aa010) successfully added.
[root@redhat Desktop]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:9d:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.136.13/24 brd 192.168.136.255 scope global eno16777728
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe8b:9d5e/64 scope link
valid_lft forever preferred_lft forever
##添加完后查看会话,发现有两个
[root@redhat Desktop]# nmcli con show
NAME UUID TYPE DEVICE
company 24b72cb7-c7ac-4a06-81f9-dd09e14aa010 802-3-ethernet --
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet eno16777728
## 切换会话,查看ip,发现ip变为company设置的固定ip 192.168.10.10
[root@redhat Desktop]# nmcli con up company
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@redhat Desktop]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:9d:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.10.10/24 brd 192.168.10.255 scope global eno16777728
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe8b:9d5e/64 scope link
valid_lft forever preferred_lft forever
创建自动分配ip地址的house会话,切换完后发现ip为动态获取到的ip
[root@redhat Desktop]# nmcli con add con-name house type ethernet ifname eno16777728
Connection 'house' (fcb5cfa3-9d38-4117-a1fd-920503638962) successfully added.
[root@redhat Desktop]# nmcli con show
NAME UUID TYPE DEVICE
house fcb5cfa3-9d38-4117-a1fd-920503638962 802-3-ethernet --
company 24b72cb7-c7ac-4a06-81f9-dd09e14aa010 802-3-ethernet --
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet eno16777728
这里ip为自动获取,主要先打开仅主机模式下的DHCP服务。
编辑-虚拟网络编辑器-确认仅主机模式下的DHCP是已启用,查看子网ip,预期等下字段获取的ip应该为此网段的ip。
验证:
可以看到切换为house会话后,获取到的ip为192.168.136.132,符合预期。
[root@redhat Desktop]# nmcli con up house
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@redhat Desktop]# nmcli con show
NAME UUID TYPE DEVICE
house fcb5cfa3-9d38-4117-a1fd-920503638962 802-3-ethernet eno16777728
company 24b72cb7-c7ac-4a06-81f9-dd09e14aa010 802-3-ethernet --
eno16777728 8cedbaed-b1ed-aa77-7f3c-6b5a960f4bb5 802-3-ethernet --
[root@redhat Desktop]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:9d:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.136.132/24 brd 192.168.136.255 scope global dynamic eno16777728
valid_lft 1791sec preferred_lft 1791sec
inet6 fe80::20c:29ff:fe8b:9d5e/64 scope link
valid_lft forever preferred_lft forever