Linux网络配置
Linux网络配置
1、nmcli工具
-
概念:nmcli是 NetworkManager 的命令行接口工具,用于在 Linux 系统中管理和配置网络连接。它提供了强大的功能,适用于服务器环境或无图形界面的系统。
-
功能特点
- 设备网络管理
- 查询网络接口和设备网络状态
- 启用或禁用网络接口
- 连接和断开连接网络
- 网络信息显示
- 显示网络设备、连接和整体网络状态的详细信息。
- 查看当前网络连接的状态和配置。
- 网络配置
- 配置 IP 地址、子网掩码、网关和 DNS 服务器。
- 设置静态 IP 或动态获取 IP 地址。
- 设备网络管理
-
在使用nmcli工具之前需要启动NetworkManager工具
# 查看运行状态 systemctl status NetworkManager # 启动 systemctl start NetworkManager # 重启 systemctl restart NetworkManager # 关闭 systemctl stop NetworkManager # 查看是否开机启动 systemctl is-enabled NetworkManager # 开机启动 systemctl enable NetworkManager -
常用参数
-
可以通过man nmcli查看
![img]()
-
nmcli networking(显示NM是否接管网络)
[root@server ~]# nmcli networking enabled-
查看网络连接状态
[root@server ~]# nmcli networking connectivity full- full:联网
- limited:联网,但无法上网
- portal:联网,但需要登录认证
- none:没网
- unknown:未知
-
开关网络连接
mcli n on nmcli n off- 如下关闭网络连接 ,xshell 断开了
-
general
-
显示系统网络状态
nmcli general status STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN 已连接 完全 已启用 已启用 已启用 已启用- STATE:网络是否连接
- CONNECTIVITY:同nmcli n c
- WIFI-HW:WIFI硬件开关
- WIFI:WIFI软件开关
- WWAN-HW:WWAN硬件开关
- WWAN:WWAN软件开关
-
显示主机名
nmcli general host [root@server ~]# nmcli general host server.tedu.cn nmcli general hostname newhostname(可以修改主机名,重启后生效)
-
-
nmcli connection(使用最多的)
-
显示所有网络连接情况
nmcli connection show nmcli c #show是nmcli c的默认项,因此可以省略 [root@server ~]# nmcli c NAME UUID TYPE DEVICE eth1 b9d0de0c-958e-48fb-83d3-d56caed3abb9 ethernet eth1 eth0 cd10a1e4-a06a-4688-a973-018bc8f9ae83 ethernet eth0 -
显示当前启动的网络连接
nmcli c s --active nmcli c s -a #因为s后边有参数,因此不能省略 [root@server ~]# nmcli connection show --active NAME UUID TYPE DEVICE eth1 b9d0de0c-958e-48fb-83d3-d56caed3abb9 ethernet eth1 eth0 cd10a1e4-a06a-4688-a973-018bc8f9ae83 ethernet eth0 -
显示某个网卡的详细信息
nmcli c s 设备名 [root@server ~]# nmcli connection show eth1 connection.id: eth1 connection.uuid: b9d0de0c-958e-48fb-83d3-d56caed3abb9 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: eth1 connection.autoconnect: 是 connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0(default) connection.auth-retries: -1 connection.timestamp: 1739687023 connection.read-only: 否 connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1(default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: 未知 connection.lldp: default connection.mdns: -1(default) connection.llmnr: -1(default) 802-3-ethernet.port: -- 802-3-ethernet.speed: 0 -
启动/关闭指定连接
# 如果某个设备原本就处于连接状态,那么该命令会重启它 nmcli c up 设备名 # 关闭之后,再用nmcli c查看,DEVICE项将显示--。 nmcli c down 设备名 -
修改网络配置
nmcli c modify 设备名 [+ | -]选项 选项值 nmcli c m 设备名 [+ | -]选项 选项值常用修改示例
nmcli c m ens192 ipv4.address 192.168.2.201/24 # 修改 IP 地址和子网掩码 nmcli c m ens192 +ipv4.addresses 192.168.2.100/24 nmcli c m ens192 ipv4.method manual # 修改为静态配置,默认是 auto nmcli c m ens192 ipv4.gateway 192.168.2.2 # 修改默认网关 nmcli c m ens192 ipv4.dns 192.168.2.2 # 修改 DNS nmcli c m ens192 +ipv4.dns 114.114.114.114 # 添加一个 DNS nmcli c m ens192 ipv6.method ignored # 将 IPv6 禁用,针对CentOS8,三个可选项:disabled、auto、manual nmcli c m ens192 connection.autoconnect yes # 开机启动 -
新增连接
nmcli c add type 连接类型 选项 选项值 nmcli c a type 连接类型 选项 选项值选项同之前修改连接的选项,其中有几个重要选项:
connection.id(别名 con-name):连接名; connection.interface-name(别名 ifname):设备名; connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes例如:
nmcli c a type ethernet con-name ens33 ifname ens33 -
删除连接
nmcli c delete ens33 nmcli c de ens33 # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de -
重载配置文件
nmcli c reload # 或 nmcli c r nmcli c load ifcfg-ens33 # 或 nmcli c l ifcfg-ens33 ## 指定文件 nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ens192 -
nmcli device
-
显示所有网络接口设备状态
nmcli device status nmcli d s nmcli d [root@server network-scripts]# nmcli device status DEVICE TYPE STATE CONNECTION eth1 ethernet 已连接 eth1 eth0 ethernet 已连接 eth0 eth2 ethernet 已断开 -- lo loopback 未托管 -- -
显示系统中所有网络设备的详细信息
nmcli device show root@server network-scripts]# nmcli device show GENERAL.DEVICE: eth1 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:A8:2D:01 GENERAL.MTU: 1500 GENERAL.STATE: 100(已连接) GENERAL.CONNECTION: eth1 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2 WIRED-PROPERTIES.CARRIER: 开 IP4.ADDRESS[1]: 192.168.137.138/24 IP4.GATEWAY: 192.168.137.2 IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.137.2, mt = 101 IP4.ROUTE[2]: dst = 192.168.137.0/24, nh = 0.0.0.0, mt = 101 IP4.DNS[1]: 192.168.137.2 IP4.DOMAIN[1]: localdomain IP6.ADDRESS[1]: fe80::ebdb:28df:2fee:a336/64 IP6.GATEWAY: --当你执行 nmcli device show 命令时,它会列出当前系统中所有被 NetworkManager 管理的网络设备,
包括但不限于以太网接口、无线接口、蓝牙设备等。对于每个设备,它会显示以下信息:
设备的 UUID(通用唯一标识符)
设备类型(如以太网、无线等)
接口名称(如 eth0 、 wlan0 等)
是否正在连接(即设备是否正在使用中)
设备的硬件地址(MAC 地址)
IP 地址信息(如果设备已连接)
设备的状态(如断开、准备就绪、激活等)
设备的连接名称(如果已连接)这个命令对于诊断网络问题
查看网络配置以及了解系统中网络设备的状态非常有用。你可以通过添加不同的选项来定制输出,例如使用 -f 选项来指定你想要显示的字段,或者使用 --terse 选项来获取更简洁的输出格式。
-
连接和断开
nmcli d connect ens192 # 或 nmcli d c ens33 nmcli d disconnect ens192 # 或 nmcli d d ens33 -
更新设备
nmcli d reapply ens192 # 或 nmcli d r ens33
-
-

浙公网安备 33010602011771号