iptables로 eth1에서 나가는 tcp:80 패킷을 eth0으로 돌리기 도움 필요합니다!
글쓴이: zz181321 / 작성시간: 금, 2011/12/30 - 6:29오전
리눅스 머신에 이더넷이 두 개 꽂혀있습니다.
eth0하고 eth1.
eth0은 바로 인터넷 회선에 물려있고, eth1은 공유기를 통해서 인터넷에 연결되어있습니다. ip는 192.168.0.30 이렇게 주어져 있고요.
이렇게 한 이유는 방의 다른 컴하고 192.168~ 로 통신하기 위해서 입니다.
이 상황에서 리눅스 머신에서 http 접속을 써보면 직통으로 물려있는 eth0이 아닌 eth1을 통해서 하더군요.
그래서 이 것을 iptables를 통해서 tcp 80번 포트만 eth1 -> eth0으로 넘겨주려고 하는데 잘 안 되는군요. 맨 페이지 보고 이리저리 해봐도 안 되서
여러분들께 도움 부탁드립니다.
제가 여러가지 해본 것중 젤 그럴싸 한 것은...
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -o eth1 -o eth0 -j ACCEPT
입니다만... 역시나 ; 이해부족으로 룰을 어찌 설정해야할지 모르겠습니다.
도움 부탁드립니다.
Forums:
인터넷은 eth0 을 통하고, 192.168.0.x
인터넷은 eth0 을 통하고, 192.168.0.x 내부 통신은 eth1 을 이용하는게 목적이라면 iptables를 이용하기 보다는
라우팅 테이블에서 디폴트 게이트웨이를 eth0 으로 변경하는것이 쉽고 편한 방법 같은데요.
그게... 내부 네트워크 컴퓨터 끼리 ftp나
그게... 내부 네트워크 컴퓨터 끼리 ftp나 rsync 같은 것들을 쓰고 있는데, 때문에 http의 80번 포트만 넘기려고 합니다.
rsync, ftp, http
rsync, ftp, http 상관없고요.
192.168.0.X 로 접근할 땐 eth1 을 사용하고, 아닐 경우엔 전부 eth0 로 가도록 만들고 싶은 거라면,
네트웍 설정하는 곳에 가셔서,
1. eth1 의 DHCP 옵션을 끄고 수작업으로 ip 설정한 뒤 게이트웨이 설정부분을 공란으로 남기시거나,
2. eth1 의 DHCP 옵션을 켜되 default gateway 를 건들지 못하도록 "주소만 자동" 같은 놈을 고르세요.
댓글 달기