我正在使用 Ubuntu Server 64 位 20.04 配置树莓派集群。
我需要为我的主服务器设置一个静态 IP,主服务器还将从 wifi 转发到以太网,然后到所有节点共享互联网。已经在其他没有 netplan 的设置中应用了之前对我有用的 iptables 规则,但不起作用。
无法正常工作的是互联网,当我将以太网电缆连接到交换机时,主节点和其他节点都无法访问互联网。DHCP 似乎正确,所有节点都获取了 IP。令人沮丧的是,使用旧的接口配置一切都运行良好,但使用此 netplan 文件我无法使其工作。
如何配置:
主节点的 netplan
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 10.0.0.1/24
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"mywifi":
password: "pwd"
DHCP
我安装了isc-dhcp-server
一切看起来都很好
/etc/dhcp/dhcpd.config
option domain-name "fals.cloud";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.1 10.0.0.10;
option subnet-mask 255.255.255.0;
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
}
cat /proc/sys/net/ipv4/ip_forward
1
cat /etc/default/isc-dhcp 服务器
INTERFACESv4=eth0
INTERFACESv6=eth0
dhcp 租约列表
MAC IP hostname valid until manufacturer
===============================================================================================
dc:a6:32:3f:7b:03 10.0.0.4 ubuntu 2020-11-01 17:15:07 -NA-
dc:a6:32:3f:7b:c3 10.0.0.2 ubuntu 2020-11-01 17:14:47 -NA-
dc:a6:32:3f:7e:18 10.0.0.3 ubuntu 2020-11-01 17:14:55 -NA-
iptables -L -v -n | 更多
Chain INPUT (policy ACCEPT 790 packets, 54205 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 6594 packets, 410K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- wlan0 eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all -- eth0 wlan0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 3728 packets, 341K bytes)
pkts bytes target prot opt in out source destination
路由
default via 10.0.0.1 dev eth0 proto static
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.53 metric 600
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.53
192.168.1.1 dev wlan0 proto dhcp scope link src 192.168.1.53 metric 600
答案1
您需要删除通过 10.0.0.1 的默认路由。
您的“主”基本上是一个路由器,它必须知道一个且只有一个默认路由。
在 netplan 中,删除gateway4: 10.0.0.1
然后运行:
sudo netplan generate --debug
如果没有错误:
sudo netplan apply
请记住,如果您希望节点能够访问互联网,则您的互联网网关(192.168.0.1)将需要 10.0.0.0/24 网络的 NAT,或者您需要将 10.0.0.0/24 的 NAT 添加到从 DHCP 服务器获知的 IP。