我需要有关使用 netplan 进行(简单)网络配置的帮助。这非常简单,我有 2 个 NIC:enp5s0 是以太网,可以访问公司网络,wlp4s0 是 WiFi,可以通过路由器访问互联网。
我只想通过 WiFi 连接路由互联网流量。netplan 配置应如下所示:
network:
version: 2
renderer: NetworkManager
ethernets:
enp5s0:
dhcp4: true
routes:
- to: 192.168.1.0/24
via: 192.168.1.1
wifis:
wlp4s0:
dhcp4: true
access-points:
"My WiFi Network":
password: "foobar"
gateway4: 10.128.128.128
routes:
- to: 0.0.0.0/0
via: 10.128.128.128
但它不起作用。令人惊讶的是,从命令行添加路由非常容易:
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev enp5s0
sudo route del default gw 192.168.1.1
sudo route add default gw 10.128.128.128
这很有效。我只想用 netplan 来做这件事……
答案1
我心里想:dhcp 可能会重置默认网关,并且我们可以在 netplan 配置中指定的指标也会被覆盖。
这有效:
network:
version: 2
renderer: NetworkManager
ethernets:
enp5s0:
dhcp4: false
addresses: [192.168.1.143/24]
routes:
- to: 192.168.1.0/24
via: 192.168.1.1
metric: 10
wifis:
wlp4s0:
dhcp4: true
access-points:
"My WiFi Network":
password: "foobar"
gateway4: 10.128.128.128
答案2
这些信息应该有帮助。
DHCP 覆盖
有几种 DHCP 行为覆盖可用。目前大多数仅在使用 networkd 后端时才有效,但 use-routes 和 route-metric 除外。
仅当相应的 dhcp4 或 dhcp6 设置为 true 时,覆盖才会有效。
如果 dhcp4 和 dhcp6 都为真,则 networkd 后端要求 dhcp4-overrides 和 dhcp6-overrides 包含相同的键和值。如果值不匹配,则会显示错误,并且不会应用网络配置。
使用路线(布尔)
默认值: true。设置为 true 时,从 DHCP 服务器收到的路由将正常安装在路由表中。设置为 false 时,将忽略来自 DHCP 服务器的路由:在这种情况下,用户负责在必要时添加静态路由以确保网络正常运行。这允许用户避免为通过 DHCP 配置的接口安装默认网关。可用于 networkd 和 NetworkManager 后端。
并阅读以下部分: