橋接 eth0 和 wlan0 之間的流量

橋接 eth0 和 wlan0 之間的流量

我已經嘗試過這個,但無法讓它工作,eth0 和 wlan0 已經啟動並運行,所以我的設定要容易得多。 wlan0 已啟用 DHCP,並且正在正確地將 IP 指派給用戶端,eth0 設定為靜態,用戶端正在使用靜態 IP 進行連線。這些是來自 ifconfig 的設定:

eth0 Link encap:Ethernet HWaddr 00:14:3E:9D:BA:57
inet addr:192.168.13.31 Bcast:192.168.13.255 Mask:255.255.255.0
inet6 addr: fe80::214:3eff:fe9d:ba57/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1600 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:74056 (72.3 KiB) TX bytes:3936 (3.8 KiB)

wlan0 Link encap:Ethernet HWaddr 64:69:4E:77:D5:2E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::6669:4eff:fe77:d52e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:618 errors:0 dropped:0 overruns:0 frame:0
TX packets:656 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:72055 (70.3 KiB) TX bytes:87715 (85.6 KiB)

透過 wlan0 連接的客戶端的 IP 為 192.168.1.11 (dhcp),而透過 eth0 連接的客戶端的 IP 為 192.168.13.10(靜態)。我希望兩者能夠相互通信,以下是 iptables 的設定:

sysctl -w net.ipv4.ip_forward=1

iptables --flush
iptables -I INPUT -j ACCEPT
iptables --table nat --flush
iptables --table nat --delete-chain
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state NEW -j ACCEPT
iptables -A INPUT -m udp -p udp --sport 67:68 --dport 67:68 -j ACCEPT

此後,從裝置的 shell 中我仍然可以 ping 兩個客戶端,但 eth0 上的客戶端無法 ping wlan0 上的客戶端,反之亦然。

相關內容