為什麼我的無線介面不能將流量傳遞到我的網路?
我正在嘗試使用我的 Ubuntu 伺服器設置 wifi 接入點。我在讓一切正常工作時遇到了一些麻煩。主要問題似乎出在路由或 iptables 上,但我不能肯定地說。
我的網路是這樣設置的;
伺服器是 NS01(Ubuntu 11.10 伺服器 amd64)
介面:eth0(主要)、br0(橋接 eth1 和 wlan0)和 tun0(OpenVPN)。
有什麼作用:當我將接入點聯機時,網橋就會啟動,我的筆記型電腦可以通過電話從我的 DHCP 伺服器獲取 IP 地址租約。
什麼不起作用:當我嘗試從我的工作站 ping 新主機(我的手機或筆記型電腦)時,我收到了
Destination host unreachable icmp_seq=1
. 我檢查了 iptables,我很確定它工作正常,我將 INPUT 和 OUTPUT 設置為 ACCEPT,所以 iptables 是相當寬鬆的。我認為這是一個路由問題,但路由表對我來說看起來“不錯”。
誰能給我一些關於我可能需要看的東西的見解,我已經很接近讓這個東西工作了。
由於您的網路是平坦的,因此您不需要 iptables(您可能需要,但我不這麼認為)。首先要確保您的核心將通過檢查以下核心參數來轉發 ipv4 數據包:
cat /proc/sys/net/ipv4/ip_forward
您將獲得 1 或 0, 1 啟用轉發。如果你得到一個 0 嘗試執行命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
並嘗試再次從您的客戶端 ping。如果它仍然不起作用,我將在 Ubuntu 橋機上打開兩個終端並在每個介面上執行 tcpdump 監聽 icmp:
1號航站樓
tcpdump -i eth0 icmp
2號航站樓
tcpdump -i br0 icmp
然後嘗試從您的工作站內部介面 (
eth0 10.0.0.15
) ping 並查看是否看到數據包命中兩個介面。您可能需要進行一些調整,brctl
但由於網路是平坦的,因此您不需要任何特定的路線。我還會檢查以確保您的 wifi 卡處於正確的模式,可能是基礎設施或可能是 ad-hoc 的iwconfig
。儘管看起來很奇怪,但使用不同的網路和一些 iptables/routing foo 可能更容易做到這一點,至少它可以更容易地辨識流量被丟棄的位置。