rinetd 포트,아이피 포워딩
포트포워딩할 일이 생겨서 방법을 찾던 중 찾은 결과물들은 대부분이 NAT환경에서 외부의 특정 포트로 접속했을때
내부의 포트로 연결해주는 방식이었다.
물론 iptables 를 이용한 방식이었고 내가 필요로 하는 것은 그런 것이 아니라
2개의 공인 IP환경에서 A서버로 특정 포트로 들어오는 접속을 다른 서버로 포워딩해주는 것이었다.
iptables 를 이용하여 시도를 해보았으나 내공의 부족으로 방법을 찾지 못해서 포기하고 결국 rinetd를 이용한 방법으로 선회하였다.
rinetd란?
하나의 IP와 포트로 들어오는 패킷을 다른 곳으로 리다이렉션(redirection)하는 간단한 데몬
( 출처 : http://coffeenix.net/?cata_code=5 )
소스 다운 받는 곳
http://www.boutell.com/rinetd/
설치방법
설치는 쉽다.
우선 위 링크의 사이트에서 파일을 다운로드 받은 후
http://www.boutell.com/rinetd/http/rinetd.tar.gz” >wget http://www.boutell.com/rinetd/http/rinetd.tar.gz ;
make && make install 신공으로 설치한다. 파일은 /usr/sbin/rinetd 에 자동으로 들어간다
사용법
1. /etc/rinetd.conf 파일을 생성한다
[Source Address] [Source Port] [Destination Address] [Destination Port]
0.0.0.0 80 some.othersite.gov 80
216.218.203.211 25 123.45.67.89 25
0.0.0.0 5353 my.shellserver.us 22
: 문법은 위에서 보는 바와 같다.
만일 123.123.123.123 서버의 25번(smtp)으로 들어오는 접속을 234.234.234.234 서버의 25번 포트로 포워딩 하려면
123.123.123.123 25 234.234.234.234 25
이렇게 하면 된다. ( 정말 쉽다 ^^;; )
2. /usr/sbin/rinetd 를 실행한다 (너무나도 쉽다 ㅡㅡ;)
(참고) /etc/rc.d/rc.local 파일에서 추가해 주는 센스… 재부팅할 경우를 대비해야겠다.
이상 rinetd 에 대한 설명을 마친다.
만약 iptables으로 대체할 수 있는 방법을 찾는다면 이 문서는 의미가 없어질지도 모르겠다.