0


一个非常好用的网卡配置命令---nmcli命令详解

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 网卡名",否则配置不会立即生效。

标签: 网络 linux 运维

本文转载自: https://blog.csdn.net/qydjss/article/details/127693829
版权归原作者 情语0306 所有, 如有侵权,请联系我们删除。

“一个非常好用的网卡配置命令---nmcli命令详解”的评论:

还没有评论