linux网络管理工具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
2# 查看详细信息
nmcli c show查看网卡(连接)状态
1
2# 查看状态
nmcli c -s新增网卡配置(新增连接)
1 | # 新增dhcp连接 |
- 关闭网卡(连接)
P.S:建议使用nmcli device disconnect(connect) interface-name
因为使用该命令,在启动某个连接前或发生外部事件时不会自动连接
1 | # 断开网卡(建议) |
- 启动网卡(连接)
1 | # 启动网卡 |
修改ip地址
1
2
3
4
5# 修改
nmcli c mod ens33 ip4 192.168.20.3
# 生效
nmcli c up ens33修改配置,让网卡(连接)自动启动
1
2
3
4# 关闭
nmcli con mod ens33 connection.autoconnect no
# 打开
nmcli con mod ens33 connection.autoconnect yes设置连接的dns
1
2
3
4
5# 添加dns
nmcli con modify ens33 +ipv4.dns=192.168.20.2
# 激活
nmcli con up ens33让配置生效
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 | # 删除vmware自动生成的网卡配置文件,下面的网卡可以根据自己的实际情况来写。我的 ens33为nat,ens36为hostonly |
以上设置完成之后,重启vmware,重启虚拟机,重启网卡。如碰到可以ping通ip,ssh登录不上的情况,可以关闭sshd的反向dns解析加速登录