linux网络管理工具nmcli的使用

文章目录
  1. 1. 参考资料
  2. 2. 碰到的问题
  3. 3. 学习内容
  4. 4. mac下的nmcli设置

参考资料

https://www.cnblogs.com/caibao666/p/12321888.html

mac设置参考:https://sysin.org/blog/change-vmware-fusion-networking/

在 RHEL 7 中配置和管理网络、网络接口和网络服务:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/index

碰到的问题

在centos 7 系统上,网络管理有个NetworkManager,在页面上配置了之后,或者加完网卡之后,并没有自动给我生成对应的ifcfg文件,这里我想手动分配ip,方式租期到了之后ip地址变更。

所以上网搜了一下使用NetworkManager的客户端生成网卡的配置文件的使用方法。下面是nmcli的使用说明。

学习内容

nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效。

显示参数:
show 显示详细信息
status 显示简略信息

  1. 查看网卡(连接)信息

    1
    2
    # 查看详细信息
    nmcli c show
  2. 查看网卡(连接)状态

    1
    2
    # 查看状态
    nmcli c -s
  3. 新增网卡配置(新增连接)

1
2
3
4
5
# 新增dhcp连接
nmcli c add type eth con-name ens33 ifname ens33

# 新增static连接
nmcli c add type eth con-name ens33 ifname ens33 ip4 192.168.20.3/24 gw4 192.168.20.2
  1. 关闭网卡(连接)
    P.S:建议使用 nmcli device disconnect(connect) interface-name
    因为使用该命令,在启动某个连接前或发生外部事件时不会自动连接
1
2
3
4
5
# 断开网卡(建议)
nmcli c disconnect ens33

# 关闭网卡
nmcli c down ens33
  1. 启动网卡(连接)
1
2
# 启动网卡
nmcli c up ens33
  1. 修改ip地址

    1
    2
    3
    4
    5
    # 修改
    nmcli c mod ens33 ip4 192.168.20.3

    # 生效
    nmcli c up ens33
  2. 修改配置,让网卡(连接)自动启动

    1
    2
    3
    4
    # 关闭
    nmcli con mod ens33 connection.autoconnect no
    # 打开
    nmcli con mod ens33 connection.autoconnect yes
  3. 设置连接的dns

    1
    2
    3
    4
    5
    # 添加dns
    nmcli con modify ens33 +ipv4.dns=192.168.20.2

    # 激活
    nmcli con up ens33
  4. 让配置生效

    1
    2
    # 生效
    nmcli con up ens33

mac下的nmcli设置

因为mac下面使用vmware fusion给定了一个默认的子网范围,这里如果需要添加两个网卡(一个nat,一个host)的话,直接按照下面的操作修改网卡信息

VMware Fusion 网络默认使用了 “172.16” 或者 “192.168” 开头的地址段,图形界面无法直接修改。

这里修改网络地址如下:
nat: 10.10.1.0
hostonly: 192.168.1.0

具体修改参见参考文档:https://sysin.org/blog/change-vmware-fusion-networking/

修改完之后,固定虚拟机的ip地址,防止ssh链接不上:

1
2
3
4
5
6
7
8
9
10
# 删除vmware自动生成的网卡配置文件,下面的网卡可以根据自己的实际情况来写。我的 ens33为nat,ens36为hostonly
rm -rf /etc/sysconfig/network-scripts/ifcfg-ens33
rm -rf /etc/sysconfig/network-scripts/ifcfg-ens36

# 添加网卡配置文件
nmcli c add type eth con-name ens33 ifname ens33 ip4 10.10.1.128/24 gw4 10.10.1.2
nmcli con mod ens33 +ipv4.dns "10.10.1.2"

nmcli c add type eth con-name ens36 ifname ens36 ip4 192.168.1.128/24 gw4 192.168.1.1
nmcli con modify ens36 +ipv4.dns "192.168.1.1"

以上设置完成之后,重启vmware,重启虚拟机,重启网卡。如碰到可以ping通ip,ssh登录不上的情况,可以关闭sshd的反向dns解析加速登录