iproute2:如何通过另一台机器将一台机器连接到互联网

iproute2:如何通过另一台机器将一台机器连接到互联网

我有以下设置:

A> 169.254.8.125/16 <--(临时)--> 169.254.9.109/16 <> 192.168.178.21/24 <--(无线网络)--> 192.168.178.1/24 <AP/路由器> 互联网

我想通过 B 将 A 连接到互联网。到目前为止,A 的路由表如下所示:

default via 169.254.6.109 dev eth0 
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.8.125

B的路由表如下:

default via 192.168.178.1 dev wlan0  proto static 
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.6.109  metric 1 
192.168.178.0/24 dev wlan0  proto kernel  scope link  src 192.168.178.21  metric 2

在机器 BI 上启用了 IP 转发,sysctl net.ipv4.ip_forward=1并且我在 iptables 中添加了一条 NAT 规则:iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

我知道我还没有 A 的 DNS。

我可以从 A ping B,反之亦然。这难道不应该让 A 访问互联网或至少启用 ping 路由器吗?我遗漏了什么?

答案1

您缺少前向规则。

sudo iptables -A FORWARD -i wlan0 -o eth0 -m state -–state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

相关内容