我有以下设置:
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