nmcli是redhat7或者Centos7之后的命令,在使用nmcli时,可以将你修改的配置直接写入到配置文件中,并且是永久生效的。
nmcli是NetworkManager的一个命令行工具,也是目前Centos比较强大的网络管理命令行工具(目前适用于大多数linux发行版)。
NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,DHCP,DNS,VPN连接以及很多其它的特殊参数。
nmcli命令使用
1、查看NetworkManager是否接管网络设置
nmcli network # 返回结果为enabled则表示已经接管
也可以写成下面这样
nmcli n
设定NetworkManager网络接管:
nmcli n on
取消接管:
nmcli n off
2、查看网络连接状态
nmcli network connectivity
或者
nmcli n c
网络连接状态的五种输出结果:
full:网络正常连接
limited:以连接网络,但无法上网
portal:以连接网络,但需要认证登录后才能上网
none:没有连网
unknown:无法识别网络
3、显示NetworkManager的状态
nmcli general status
或者
nmcli g s
显示结果:
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
已连接 完全 已启用 已启用 已启用 已启用
STATE:网络是否连接
CONNECTIVITY:NetworkManager是否接管网络设置
WIFI-HW:表示WIFI的硬件是否启用
WIFI:表示WIFI软件是否启用
WWAH-HW:表示WWAN的硬件
WWAN:表示WWAN的软件
4、显示所有连接过的网络信息
nmcli connection show
或者
nmcli c s
显示结果:
NAME UUID TYPE DEVICE
eth0 dc756a95-c8f1-4c57-b340-9ef54d6e74e1 ethernet eth0
nmcli connection show --active # 只显示当前连接的网络
# 指定连接网络,如果指定网络已连接,该命令则表示重启网络
nmcli connection up eth0
# 关闭连接
nmcli connection down eth0
5、显示由NetworkManager识别到设备及其状态
nmcli device status
或者
nmcli d s
显示结果:
DEVICE TYPE STATE CONNECTION
wlp0s20f3 wifi 已连接 白日梦
docker0 bridge 连接(外部) docker0
virbr0 bridge 连接(外部) virbr0
vnet0 tun 连接(外部) vnet0
br0 bridge 连接中(正在获取 IP 配置) br0
p2p-dev-wlp0s20f3 wifi-p2p 已断开 --
enp8s0 ethernet 不可用 --
lo loopback 未托管 --
6、删除一个网卡连接
nmcli connection delete eth0
或者:
nmcli c d eth0
7、添加一个网卡连接
# 创建一个动态ip的以太网连接;连接有以太网,WIFI,adsl等
nmcli connection add ethernet ifname eth0
# 创建一个静态ip的以太网连接
nmcli connection add ifname enp5s0 autoconnect yes type ethernet ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关
8、重启加载网络连接的配置文件
nmcli connection reload
9、修改网卡配置
# 修改指定网卡的ip地址和子网掩码
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码
# 修改指定网卡的ip地址和子网掩码以及网关
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关
# 修改指定网卡的ip地址和子网掩码、网关以及DNS
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关 ipv4.dns dns地址
# 添加第二个ip
nmcli connection modify eth0 +ipv4.addresses ip地址/子网掩码
# 删除第二个ip
nmcli connection modify eth0 -ipv4.addresses ip地址/子网掩码
# 添加第二个DNS
nmcli connection modify eth0 +ipv4.dns dns地址
# 删除第二个DNS
nmcli connection modify eth0 +ipv4.dns dns地址
# 修改为静态配置,默认是 auto
nmcli c m eth0 ipv4.method manual
# 将 IPv6 禁用
nmcli c m ens33 ipv6.method disabled
# 开机启动
nmcli c m ens33 connection.autoconnect yes
10、创建网桥,并建立连接
# 创建网桥
nmcli connection add type bridge con-name br0 ifname br0 autoconnect yes
#查卡br0的状态
nmcli device status
DEVICE TYPE STATE CONNECTION
br0 bridge 连接中(正在获取 IP 配置) br0
# 将我们本地的有线网卡enp8s0连接到br0
nmcli connection add type bridge-slave ifname enp8s0 master br0
# 启动br0
nmcli connection up br0
ipv4.method manual:配置静态ip地址
ipv4.method auto:从DHCP地址池动态获取ip地址,如果没有获取到IP会激活配置的静态地址
ipv4.address 192.168.1.10/24:配置静态ip地址
ipv4.dns 114.114.114.114:配置DNS
ipv4.dns-search test.com:修改 /etc/resolv.conf 以在search指令中使用这个域
autoconnect yes:系统启动的时候自动激活此网络连接
当我们修改好网卡的配置后要记得执行"nmcli connection up 网卡名",否则配置不会立即生效。
版权归原作者 情语0306 所有, 如有侵权,请联系我们删除。