RedHat nmcli 配置网络
Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。
在RHEL7中默认使用NetworkManager 守护进程来监控和管理网络设置。nmcli是命令行的管理NetworkManager的工具,会自动把配置写到/etc/sysconfig/network-scripts/目录下面。
设备是网络接口,连接是提供设备使用的配置,连接是由一组设置组成。同一个设备可以存在多个连接,但是一次只能有一个保持活动的状态。
通过nmcli查看网络信息
要显示所有连接的列表可以使用nmcli connection show,如果仅仅列出活动的连接,可以使用--active。
[root@server0 ~]# nmcli connection show --active
NAME UUID TYPE DEVICE
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
NAME是连接名,DEVICE是设备网卡的名字。
添加静态IP的以太网连接:用命令行去创建一个新的连接(创建连接的时候会在/etc/sysconfig/network-scripts/下面产生ifcfg+连接名的文件)
[root@server0 ~]# nmcli connection add con-name test type ethernet ifname eth0
Connection 'test' (24c11b86-1e5f-4d26-b5b7-b6af3c905541) successfully added.
这里col-name是要创建连接的名称,类型type是以太网卡,创建的连接是要绑定设备device即网卡的,device是网卡名字。
对应的是/etc/sysconfig/network-scripts/ifcfg-test TYPE=Ethernet NAME=test DEVICE=eth0
[root@server0 ~]# nmcli connection modify test ipv4.addresses "192.168.100.10/24"
网卡是没有ip的,连接配置ip了再去绑定网卡,这个时候网卡才有了ip,上面将连接配置了ip为192.168.100.10。对应的是/etc/sysconfig/network-scripts/ifcfg-test IPADDR0=192.168.100.10
[root@server0 ~]# nmcli connection modify test ipv4.method manual
修改test配置,使用静态的ip,不使用dhcp自动获取ip。
[root@server0 ~]# nmcli connection modify test connection.autoconnect no
关闭自动连接,对应的是/etc/sysconfig/network-scripts/ifcfg-test ONBOOT=no
[root@server0 ~]# nmcli connection show --active --查看当前连接
NAME UUID TYPE DEVICE
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
[root@server0 ~]# nmcli connection up test --激活新的连接
[root@server0 ~]#nmcli connection show --active --最后再去查看一下激活的连接里有没有新的连接
增加一个使用 DHCP 的新连接
增加新的连接,使用DHCP自动分配IP地址,网关,DNS等,你要做的就是将命令行后 ipv4.ip/gw 地址部分去掉就行了,DHCP会自动分配这些参数。
例:在 eno 16777736 设备上配置一个 名为 NEW_DHCP 的 DHCP 连接
# nmcli connection add type ethernet con-name NEW_DHCP ifname eno16777736
启动/停止 网络接口
使用 nmcli 工具启动或停止网络接口,与 ifconfig 的 up/down 是一样的。
使用下列命令停止某个接口:
# nmcli device disconnect eno16777736
下列命令用来启动接口:
# nmcli device connect eno16777736
下面是RHCE的一道考试题目
配置 IPV6 地址
在考试系统上设定接口 eth0 使用下列 IPV6 地址:
• system1 上的地址应该是 2003:ac18::305/64
• system2 上的地址应该是 2003:ac18::30a/64
• 两个系统必须能与网络 2003:ac18/64 内的系统通信
• 地址必须在重启后依然生效
• 两个系统必须保持当前的 IPV4 地址并能通信
# systemctl status NetworkManager
NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enab
led)
Active: active (running) since Fri 2018-06-22 18:37:01 CST; 1h 44min
ago
......
# nmcli connection modify eth0 connection.autoconnect yes ipv6.method manual +ipv6.addresses --配置IPV6的地址
'2003:ac18::305/64'
# nmcli connection up eth0 --启用新的连接
# ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2003:ac18::305/64 scope global
valid_lft forever preferred_lft forever
[root@system1 ~]# ping6 2003:ac18::30a --配置好测试一下
PING 2003:ac18::30a(2003:ac18::30a) 56 data bytes
64 bytes from 2003:ac18::30a: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 2003:ac18::30a: icmp_seq=2 ttl=64 time=0.099 ms
64 bytes from 2003:ac18::30a: icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from 2003:ac18::30a: icmp_seq=4 ttl=64 time=0.055 ms
# systemctl restart NetworkManager --重启服务
# systemctl restart network
目录 返回
首页