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

그 후에도 장치의 셸에서 두 클라이언트 모두를 핑할 수 있지만 eth0의 클라이언트는 wlan0의 클라이언트를 핑할 수 없으며 그 반대의 경우도 마찬가지입니다.

관련 정보