듀얼 NIC 구성시 공유기 포트포워딩 문제
글쓴이: labiz / 작성시간: 화, 2014/01/21 - 9:29오후
직업은 시스템 엔지니어는 아니지만, 집에서는 엔지니어로서 질문 드려봅니다.
위와 같이 구성했는데요. 집에 인터넷 라인이 4개이 들어옵니다.
eth1 를 활성화 하지 않은경우에
- 공유기의 공인 IP 포트 22240 으로 마이크로서버의 22 포트 포워딩을 통해 ssh 접근이 가능합니다. (e4200v2 에서 포트포워딩 걸어줌)
근데, eth1 를 기본게이트웨이로 설정하고 활성화(ifup) 을 하게되면 공유기의 공인IP:22240 으로 ssh 접근이 안됩니다.
이왕이면 둘다 되게 했으면 좋겠는데요. 어떻게 해야할지 모르겠네요.
굳이 이렇게 해야 하는 이유를 꼽자면, 그림에는 없지만 마이크로 서버 말고 다른 서버가 또 있는데 둘중 하나가 불능일 경우에 내부 ip 를 통해서 서버 상태를 알고 싶기 때문입니다.
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 43.42 KB |
Forums:
혹시 아래 링크가 유용할지
혹시 아래 링크가 유용할지 모르겠네요.
http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html
--
http://www.dgkim.net/
ip route list table
리눅스에서 이렇게 치면 내용이 나오는것에 놀랐습니다. 설마했는데... --;;
한번 쫙 보고 해볼께요. 좋은 자료 감사합니다.
안뇽하세요^^)/
eth0 을 위한 라우팅 테이블을 추가해주시면 될듯 합니다.
eth0 을 디폴트 게이트 웨이로 말고 그냥 게이트 웨이로 지정하시면
내부 아이피의 이동은 eth0으로 이동하게끔 하면 될듯 싶습니다.
테스트 무. 예전 기억이네요^^
사용 예제
단일 호스트에 대해서 라우팅을 추가 할 때
# route add -host 192.168.123.36 netmask 255.255.255.255 dev eth0
네트워크에 대해서 라우팅을 추가 할 때
# route add -net 192.168.123.0 netmask 255.255.255.0 dev eth0
게이트웨이 추가, 제거
# route add default gw 192.168.123.254 dev eth0
# route del default gw 192.168.123.254 dev eth0
61.247.208.6으로 나가는 트래픽을 192.168.123.254 게이트웨이를 통하도록 할 때
# route add -host 61.247.208.6 netmask 255.2555.255.255 gw 192.168.123.254 dev eth0
192.168.123.0 네트워크로 나가는 트래픽을 1.1.1.1. 게이트웨이를 통하도록 할 때
route add -net 192.168.123.0 netmask 255.255.255.0 gw 1.1.1.1 dev eth0
라우팅 정보가 잘못되어 라우팅을 삭제 할 때
# route del -host 192.168.123.36 dev eth0
# route del -net 192.168.123.0 dev eth0
인생은 도박이다.
현재 상황은 아래와 같이
현재 상황은 아래와 같이 되어있구요.
아래와 같이 해봤습니다.
위에 내용이 맞는지는 몰라도 안되네요 ㅠ.ㅠ
안뇽하세요^^)/
route 명령은 기본적으로 destination에
route 명령은 기본적으로 destination에 대한 기능만 가집니다.
그림상에서 문제가 되는 부분은 아래와 같은 통신 플로우 때문입니다.
Inbound Packet
외부허브 도착 패킷 : R_PC:nnnnn -> RG:22240 - 공유기에 패킷이 전달됩니다.
공유기 도착 패킷 : R_PC:nnnnn -> RG:22240 - 인터넷 포트(WAN PORT)로 동일한 패킷 도착 상태
공유기 처리 : R_PC:nnnnn -> SVR_PRV:22 - 서버의 내부 아이피와 포트로 패킷을 변환합니다.
공유기 출발 패킷 : R_PC:nnnnn -> SVR_PRV:22 - 내부 포트(LAN PORT)로 패킷을 발송합니다.
서버 도착 패킷 : R_PC:nnnnn -> SVR_PRV:22 - 사설 IP 주소(eth0)로 패킷이 도착합니다.
Outbound Packet
서버 출발 패킷 : SVR_PRV:22 -> R_PC:nnnnn - 도착지가 R_PC이므로, route 경로를 탑니다. inbound와는 상관없이 route를 탑니다. eth1로 갑니다.
외부허브 도착 패킷 : SVR_PRV:22 -> R_PC:nnnnn - 외부 허브의 구성에 따라 사설IP를 출발지로 허용하느냐 여부(ISP에서 차단할 수 있음)에 따라 다음 도착지가 다릅니다.
운이 좋아서 R_PC에 도착한 패킷 : SVR_PRV:22 -> R_PC:nnnnn
출발할 때는 eth0으로 들어왔지만, 나갈 때 R_PC에 해당하는 0.0.0.0 라우트를 통해 eth1에 해당하는 게이트웨이로 발송됩니다.
R_PC까지 도착할 수도 있지만, R_PC 입장에서는 출발지가 서버의 사설 IP에서 출발한 접속이 없으므로 접속이 유효하지 않습니다.
그래서 제공한 자료로는 route는 destination만 기준으로 정하는데, ip route 명령을 통해 source주소를 통한 라우트를 재정의하는 것에 대한 자료입니다.
--
http://www.dgkim.net/
감사합니다^^ 성공했어요.
맨첨에 주신 문서만 봤을때는 어려워서 접근하기가 쉽지 않았는데, 댓글을 보니 통신플로우를 이해하게 되었습니다.
그리고 다시 주신 문서를 통해서 아래와 같이 해결했네요. 'ip rule ls' 를 쳤을때 감이 왔습니다. (정확하게 이해한게 맞는지는 모르겠네요~)
- 사용자룰을 추가하고 라우팅테이블에 적절한 source 의 룰을 적용하도록 추가.
- 사용자룰의 내용 추가 (eth0 를 기본으로...)
친절한 설명에 다시 한번 감사드립니다.
안뇽하세요^^)/