ADSL, 케이블 모뎀을 한꺼번에 iptables를 이용해서 공유하기
리눅스 라우터가 있습니다. 원래는 ADSL하나 끌어다 쓰고 있었는데 케이블 모뎀을 하나 추가했습니다..
인식은 다 됐고 두 선 모두 IP는 잘 받아오는데요..
eth0(ppp0): ADSL
eth1: 케블모뎀
eth2: 내부 허브로
이렇게 되어 있습니다..
그런데 192.168.0.2~10 번 까지만 케이블 모뎀을 쓰게 하고 나머지는 ADSL 쓰게 해야 하거든요
iptables 쓰고 있는데 이래저래 해봐도 잘 안되는군요.
아래는 공유 설정을 켜는 스크립트입니다. 페도라 코어2 입니다.
modprobe ipt_MASQUERADE
iptables -F; iptables -t nat -F; iptables -t mangle -F
iptables -t nat -A POSTROUTING -s 192.168.0.0 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -L
이렇게 되어 있었는데 모든 컴퓨터들이 자꾸 ppp0으로만 사용하게 되네요..
iptables -t nat -A POSTROUTING -s ! 192.168.0.2 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth1 -j MASQUERADE
이렇게 해봐도 마찬가지입니다..
도움 부탁드립니다~
내부 허브로 연결되는 eth2의 경우 192.168.0.1로 설정되어 있
내부 허브로 연결되는 eth2의 경우 192.168.0.1로 설정되어 있는 건지요?
위에서 3번째 줄에 -s 192.168.0.0표시된 부분의 경우
192.168.0.x로 시작되는 모든 사설IP에서의 매스커레이딩을 ppp0로 보내고 있기 때문에
다음 라인에서 eth1로 매스커레이딩을 설정해도 안 되고 있는 것 같습니다.
^^
default gateway 때문에 iptables 만으로는 adsl과
default gateway 때문에 iptables 만으로는 adsl과 케이블을 활용할수 없습니다.
(혹시 방법이 있는지도 모르지만 -_-;;)
http://kltp.kldp.org/stories.php?story=01/10/03/7562565
Advanced Routing HOWTO 요약이라는 글인데 응용하면 가능할 겁니다.
iptable 과 iproute2 패키지를 사용하시면, ADSL 과 전용
iptable 과 iproute2 패키지를 사용하시면, ADSL 과 전용선인(고정 IP 게이트웨이)경우는 다음과 같이 하면 되는데, ADSL 과 케이블은 조금 더 연구해야 할것 같네요.
일단 ADSL 과 전용선인 경우는 다음과 같이 하면 됩니다.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/etc/iproute2/rt_tables 파일에 다음과 같이 지정하고
200 cable.table
ip rule add from 192.168.0.2 lookup cable.table
ip rule add from 192.168.0.3 lookup cable.table
..
ip rule add from 192.168.0.9 lookup cable.table
ip rule add from 192.168.0.10 lookup cable.table
ip route add default via "전용선 게이트웨이 IP" dev eth1 table cable.table
참고) http//lartc.org/howto/lartc.rpdb.multiple-links.html
댓글 달기