Linux

為什麼我的無線介面不能將流量傳遞到我的網路?

  • November 21, 2011

我正在嘗試使用我的 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 可能更容易做到這一點,至少它可以更容易地辨識流量被丟棄的位置。

引用自:https://serverfault.com/questions/332616