RHEL7网络管理之nmcli
出处: https://www.rhel.cc/2014/11/82/
在RHEL7中默认使用NetworkManager 守护进程来监控和管理网络设置。nmcli是命令行的管理NetworkManager的工具,会自动把配置写到/etc/sysconfig/network-scripts/目录下面。
nmcli是一个很方便的配置网络的工具
比如如下
[root@rhel7 ~]# nmcli con show NAME UUID TYPE DEVICE System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0 [root@rhel7 ~]# nmcli con edit "System eth0" nmcli> set ipv4.addresses 192.168.0.100/24 192.168.0.254 nmcli> save Connection 'System eth0' (5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03) successfully updated. nmcli> activate eth0 Monitoring connection activation (press any key to continue) Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) nmcli> quit
好了,上面你就把IP地址配置好了,并且已经使用activate激活,已经可以用了,并且是自动写到配置文件里面,重启也生效的
你如果想修改现有的ip的话
[root@rhel7 ~]# nmcli con modify "System eth0" ipv4.addresses 192.168.0.200/24
[root@rhel7 ~]# nmcli con up "System eth0"
如上两条命令就可以了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面是命令演示下面说一下原理,在RHEL7中对网络的配置,不是像原来是基于网卡的。
在rhel7中是基于会话(connection)的,一个网卡可以有多个会话,但是同时只允许一个会话处于激活(active)状态。
基于会话有什么好处呢?
比如公司使用的是DHCP分配的IP来连接网络,家里使用的是静态的IP地址。
这时我就可以创建两个会话,一个使用DHCP联网,另一个配置静态ip地址,在公司激活(active)DHCP,在家里激活静态。
这样就省去了,频繁修改ip的麻烦。
下面为创建并使用多个会话的演示
1.创建一个会话,名字叫做“default”,它通过DHCP获取IP,自动连接网络,网卡名为eno16777736
[root@rhel7 ~]# nmcli connection add con-name default type ethernet ifname eno16777736
connection ---》会话,可以简写为con
add ---》添加
con-name ----》会话名自己随便定义
type ethernet ---》类型以太网卡
ifname ----》接口名,也就是网卡名
2.创建另一个会话叫做“static”并且指定它的ip和网关。但是不能自动连接网络。
[root@rhel7 ~]# nmcli connection add con-name static ifname eno16777736 autoconnect no type ethernet ip4 192.168.0.111/24 gw4 192.168.0.254
3.默认情况下,系统启动之后会自动使用DHCP连接,但是我们可以手动改为静态ip的会话。
[root@rhel7 ~]# nmcli connection up static
4.重新改为DHCP获取IP
[root@rhel7 ~]# nmcli connection up default
5.查当前有什么会话
[root@rhel7 ~]# nmcli connection show
6.详细的查看会话的配置信息,比如查看static
[root@rhel7 ~]# nmcli connection show “static”
7.查看当前活动的会话
[root@rhel7 ~]# nmcli connection show --active
~~~~~~~~~~~~~~~~~~~~~~
修改现存的会话
1.关闭会话的自动连接(autoconnect)。
[root@rhel7 ~]# nmcli con mod "static" connection.autoconnect no
2.指定一个DNS服务器地址
[root@rhel7 ~]# nmcli con mod "static" ipv4.dns 8.8.8.8
3.有一些配置参数,是可以添加和删除的,比如使用+ 或 - 号在参数前面。比如添加第二个DNS服务器地址
[root@rhel7 ~]# nmcli con mod "static" +ipv4.dns 8.8.4.4
4.更换静态IP地址和默认网关。
[root@rhel7 ~]# nmcli con mod "static" ipv4.addresses “192.168.0.120/24 192.168.0.1”
5.添加第二个ip
[root@rhel7 ~]# nmcli con mod "static" +ipv4.addresses 192.168.0.130/24
注:nmcli con mod修改的配置,会自动保存成配置文件,并且重启后依然有效,但是如果【配置更改了,你需要从新激活一下,使新配置生效。
[root@rhel7 ~]# nmcli con up "static"
补充:在rhel7中查看ip地址等信息可以使用
[root@rhel7 ~]# ip addr ----》可以简写为 ip a
查看自己的路由可以使用
[root@rhel7 ~]# ip route