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