我有一个带有两个以太网端口的虚拟机(Debian)。 NICeth0
连接更广阔的世界,并具有完整的互联网访问权限。
192.168.0.3 Static: 10.0.0.1
+-------+ +------------------------+
| world |--| eth0 | computer | eth1 |
+-------+ +------------------------+
eth1
同一网络设备具有computer
静态IP。dnsmasq
使用该接口运行eth1
。它处理 DHCP 和 DNS,下游客户端能够连接并获取 IP 地址。
DHCP: 192.168.0.3 Static: 10.0.0.1
+-------+ +------------------------+
| world |--| eth0 | computer | eth1 |
+-------+ +------------------------+ DHCP: 10.0.0.x
| +--------+
+-------------|client 1|
| +--------+
| +--------+
+-------------|client 2|
+--------+
这一切都按预期工作除了并且client 1
无法client 2
访问互联网。他们可以ssh
和ping
10.0.0.1
,但没有任何上游。他们无法 ping 192.168.0.3
、1.1.1.1
、google.com
等。
如何维护此配置但允许10.0.0.x
客户端连接到 Internet?
我试过了...
- 各种方式添加路线到接口
- 例如
ip route add 192.168.0.3 via 10.0.0.1 dev eth1
- 例如
- 创建一个网桥具有两个接口
- 例如
ip link add name br0 type bridge ; ip link set eth0 up ; ip link set eth1 up ; ip link set eth0 master br0 ; ip link set eth1 master br0 ; ip link set br0 up
- 例如
- 用于
iptables
路由流量- 例如
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
- 例如
不幸的是,没有任何效果。可能是因为我不太了解这些命令和配置的机制以及基本的网络限制。