
使用兩台筆記型電腦和一台路由器;作業系統Ubuntu。
第一台筆記型電腦透過乙太網路線連接到路由器,閘道位於 eth0 192.168.10.1 上,並透過 wlan 上的 adhoc 無線連接,IP 10.10.10.5。
配置:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
第二個10.10.10.4在adhoc無線中連接到10.10.10.5,在route-n也有網關是10.10.10.5 UG。
sudo ip route add default via 10.10.10.5
當我從機器 10.10.10.4 ping 8.8.8.8 時,需要無限的時間並且不顯示任何 ping 結果。
但是,如果從第一台筆記型電腦拔下以太網,則會顯示來自 10.10.10.5 的訊息:「目標網路無法存取」。
從10.10.10.5起,可直接存取。
答案1
您可以嘗試的事情:
- 使用 tcpdump 查看資料包是否實際發送和接收。在 Ubuntu 上,使用「tcpdump -v icmp」安裝並啟動 tcpdump 以查看 ping 封包,您可以使用 -i 選項指定介面。這將向您顯示,如果封包在 eth0 上接收並在 wlan0 上傳送,也許您甚至可以在 10.10.10.5 主機上執行此操作,具體取決於裝置的類型。
- 嘗試「iptables -t nat -nvL」來查看您的 iptables 規則,包括封包和位元組計數器,以便您可以查看規則是否實際應用。
兩者都可以讓您更深入地了解資料包到達的位置和未到達的位置,以便您可以縮小問題所在的範圍。