eth0과 무선을 iptables로 포워딩하고 싶습니다.
안녕하세요.
임베디드보드에서 eth0(Etherent)과 eth1(WiFi AP)를 서로 연결하여서 사용하려고합니다.
brctl로 묶어서 사용하려고 했으나 제조사에서 brctl대신 iptables를 사용해서 ip 포워딩을 하라고 하더라고요..
eth1은 wifi칩이 AP Mode로 돌고있는 상태입니다.
제가 지금까지 한것은 eth1과 핸드폰의 ping테스트 와 파일전송까지는 다 완료하였습니다.
그런데 만약에 핸드폰에서 eth1에 접속을 하고 핸드폰에서 eth1(WiFi AP)로 들어와서 eth0을 타고 나가서 다른 이더넷이 연결된 곳까지 ping과 파일전송 테스트를 하려고 합니다.
물론 반댈 eth0으로 들어온신호가 eth1을 통해서나가서 핸드폰까지도 ping과 파일 전송이 되는것을 희망하고 있습니다.
brctl을 사용하면 쉽게될것같은데 brctl말고 iptables를 사용하라고하니 앞이 막막합니다.
보통 iptables를 보면 무슨 암호문 같지않으신가요? 저는 그렇게보이더라고요 @.@
제가 우선 해본것은 echo 1 > /proc/sys/net/ipv4/ip_forward 를 통해서 포워딩을 사용가능하게끔 설정을 하고
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT
이러한 iptables 명령어도 써보고 하고 있는데 잘안되네요...
이러한 경우엔 어떻게 해야하나요? 포워딩을 한다는개념이 잘이해가되지않네요 ㅠㅠ
사용하신 명령어는 froward되는 패킷에 대해서
사용하신 명령어는 froward되는 패킷에 대해서 accept 시키는 정책이고..
"iptables nat" 관련 검색해서 테스트 진행하시면 될것 같네요.
소곤소곤
잘안되네요...
root@TEST:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:1D:00:00:00
inet addr:192.168.0.88 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1758 errors:0 dropped:250 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:169639 (165.6 Kb) TX bytes:2412 (2.3 Kb)
Interrupt:170
eth1 Link encap:Ethernet HWaddr C4:23:7A:00:6E:93
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:5 overruns:0 frame:0
TX packets:17 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3204 (3.1 Kb) TX bytes:1872 (1.8 Kb)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:30 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3036 (2.9 Kb) TX bytes:3036 (2.9 Kb)
ifconfig는 위와 같은 상태입니다. eth0은 ethernet cable로 인터넷과 연결되어져 있습니다. eth1은 무선 AP모드 동작중이고 192.168.10.1은 제가 static 으로 할당해준 값입니다. eth1 AP Mode 에 붙은 핸드폰은 192.168.10.166 입니다. 핸드폰은 보드에서 dnsmasq를 돌려놓아서 할당받은 IP입니다.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
설정은 위와 같이 하였습니다. 제가 뭔가 놓치거나 더 해야되는부분이 있을까요 ..?
댓글 달기