LInux使用NetworkManager管理网络
自定义keyfile:
路径必须位于/etc/NetworkManager/system-connections/*.nmconnection
This file must be owned by root and be readably only by root - otherwise NetworkManager will ignore it
Files outside that path ( or readable by non-root users ) are unkown to NetworkManager
🎈: refer to man nm-settings-keyfile
chmod -R 600 /etc/NetworkManager/system-connections/ens33.nmconnection
chmod -R root:root /etc/NetworkManager/system-connections/ens33.nmconnection
systemctl restart NetworkManager
# 启动ens33 connection
nmcli con up ens33
手动为网卡添加connection:
-
静态IP
nmcli c add type ethernet con-name ens38 ifname ens38 \ ipv4.addr 192.168.8.44/24 ipv4.gateway 192.168.8.2 ipv4.method manual \ ipv4.dns 192.168.8.1 ipv4.dns-search concerto.com
会自动生成永久文件
DHCP
nmcli c add type ethernet con-name ens38 ifname ens38 \ ipv4.method auto
- 启动ens38 connection
- 修改connection ens38
nmcli c modify ens38 ipv4.addr '192.168.8.55/24'
重载配置
nmcli c up ens38 # ens38 is connection nmcli d reapply ens38 # ens38 is interface nmcli d connect ens38 # ens38 is interface
- interactive
激活
NetworkManager工具集:
- nmcli:命令行。这是最常用的工具。
- nmtui:在shell终端开启文本图形界面。
- Freedesktop applet:如GNOME上自带的网络管理工具
- nm-connection-editor图形配置工具
- cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能。
对于一个device有4种常见状态:
- connected:已被NM托管,并且当前有活跃的connection
- disconnected:已被NM托管,但是当前没有活跃的connection
- unmanaged:未被NM托管,就是不让NM动这个设备相关的任何操作
- unavailable:不可用,NM无法托管,通常出现于网卡link为down的时候(比如ip link set ethX down)
对于任意设备上的任一connection通常有2种状态:
- 活跃(带颜色字体):表示当前该connection是正在使用的。
- 非活跃(正常字体):表示当前该connection没有连接。
修改配置文件后,需使配置文件生效:
nmcli connection load 可用于载入 /etc/sysconfig/network-scripts下的传统配置文件
使用 如下命令查看所有配置
Connection段
ens33
System ens33
802-3-ethernet
ens33 == System ens33
ipv4 段
ens33
System ens33
ipv6 proxy 段大体相同
System ens33 即 /etc/sysconfig/network-scripts 下 ifcfg-ens33 配置文件
可用nmcli c modify 修改 查看 配置文件变化, 如果修改不正确, 则 nmcli c show 不会加载
修改后的变化
注意192.168.8.2 是 gateway
Fedora workstation 没有生成配置文件, 链接名字 需要改