Network Manager
在Network Manager中,默认设置以太网优先级高于WiFi优先级,4G优先级最低,如果有特殊应用场景可以手动修改优先级
在Network Manager中为了网络安全,WiFi的MAC地址由软件随机生成,如果不希望随机生成MAC地址可按照下文关闭随机MAC地址操作
关闭随机WiFi MAC地址
创建/etc/NetworkManager/conf.d/wifi_rand_mac.conf
,在文件中加入以下内容
[device]
wifi.scan-rand-mac-address=no
Network-Manager-gnome
Network-Manager-gnome
是Network-Manager
的桌面工具,可以在屏幕右上角看到一个网络图标,如下图所示
设置静态IP
- 右键点击图标,选择编辑连接选项
- 选择需要修改的连接名称,点击下方齿轮修改,左侧
+
`-`分别是添加和删除连接 - 切换到
IPV4.Settings
界面,先将Method
改为手动,然后在下方Addresses
选择右侧添加,输入固定的ip,子网掩码和网关后保存即可,DNS
可根据个人需求填写
优先级
桌面插件未提供设置优先级的接口,可参照下文中使用nmcli命令设置优先级
设置路由规则
- 右键点击图标,选择编辑连接选项
! - 选择需要修改的连接名称,点击下方齿轮修改
- 切换到
IPV4.Settings
界面,点击下方routes
,选择点击添加,输入网段、子网掩码、网关和优先级保存即可,其中网关为可选项
添加WiFi网络
左键点击图标,直接创建WiFi连接即可
拨号4G
nmcli 命令
nmcli
是Network Manager的命令行工具,使用nmcli
可以完成各种操作
nmcli c
本命令可以显示当前所有连接,可以看到此时连接只有一个,下方操作在此连接基础上配置
设置静态IP
设置连接Wired connection 1
的静态IP为192.168.168.230,子网掩码为24
sudo nmcli connection modify Wired\ connection\ 1 ipv4.addresses 192.168.168.230/24
# 如果还需要设置网关可以使用以下命令
sudo nmcli connection modify Wired\ connection\ 1 ipv4.gateway 192.168.168.1
# 如果还需要设置DNS可以使用以下命令
sudo nmcli connection modify Wired\ connection\ 1 ipv4.dns 114.114.114.114
设置优先级
设置连接Wired connection 1
的优先级为200
sudo nmcli connection modify Wired\ connection\ 1 ipv4.route-metric 200
设置路由规则
为连接Wired connection 1
添加路由规则,访问网段192.168.10.0/24的信息从此连接发出,由于此连接是使用eth0
接口,所以所有符合要求的信息都会从eth0
发出
sudo nmcli connection modify Wired\ connection\ 1 ipv4.routes 192.168.10.0/24
添加WiFi网络
添加WiFi网络可以使用nmtui
工具
拨号4G
使用命令行创建4G连接。连接名为mobilegsm
(可随意修改),直接输入以下命令即可
sudo nmcli connection add type gsm con-name mobilegsm
APN-4G拨号
sudo nmcli connection add type gsm con-name "mobilegsm" ifname cdc-wdm0 gsm.apn "3gnet"
移动联通电信拨号失败后设置
# sudo nmcli connection add type gsm con-name ifname cdc-wdm0 gsm.number gsm.apn gsm.username gsm.password
# 中国移动
sudo nmcli connection add type gsm con-name "mobile" ifname cdc-wdm0 gsm.number "*98*1#" gsm.apn "cmnet"
# 中国联通
sudo nmcli connection add type gsm con-name "Unicom" ifname cdc-wdm0 gsm.number "*99#" gsm.apn "3gnet"
# 中国电信
sudo nmcli connection add type gsm con-name "Telecom" ifname cdc-wdm0 gsm.number "#777" gsm.username "[email protected]" gsm.password "vnet.mobi"
4G模块重启
设置连接之后发现依旧无法连接4G可以尝试使用以下重启4G模块
raspi-gpio set 10 pd
raspi-gpio set 10 op dl
sleep 0.5
raspi-gpio set 10 dh
sleep 0.5
raspi-gpio set 10 dl
参考文档
以上仅为常见用法,关于Network Manager
其他使用方法可以查询Network Manager 文档
内外网设置解决方案
网口连接内网WiFi连接外网
配置信息
| 网络名称 | 网络接口 | IP | 网络连接名称 |
| 网口 | eth0 | 192.168.2.100 | ethconnect |
| WiFi | wlan0 | 192.168.1.222 | wificonnect |
设置优先级
数据应默认从WiFi接口发送至外网,在内网传输数据时应从网口发送至局域网中,所以默认设置WiFi的优先级为200,网口优先级为300
sudo nmcli connection modify ethconnect ipv4.route-metric 300
sudo nmcli connection modify wificonnect ipv4.route-metric 200
为网口设置路由规则
所有发送到192.168.10.0~192.168.10.255的数据都会从eth0接口发出
sudo nmcli connection modify ethconnect ipv4.routes 192.168.2.0/24
至此,设备就被配置为网口连接内网,WiFi连接外网