네트워킹 · 4 min read · Jan 15, 2026
Debian Etch에서 rinetd로 포트 포워딩하기
Debian Etch에서 rinetd로 포트 포워딩하기
버전 1.0
저자: Falko Timme
이 문서에서는 Debian Etch에서 rinetd를 사용하여 포트 포워딩을 하는 방법을 보여줍니다. rinetd는 한 시스템에서 다른 시스템으로 포트를 포워딩할 수 있게 해줍니다. 이는 웹 사이트를 다른 IP 주소를 가진 새 서버로 이동한 경우 유용합니다. 물론 DNS 레코드를 수정했지만, DNS 변경 사항이 적용되기까지 며칠이 걸릴 수 있으며, 이때 rinetd가 필요합니다. 클라이언트가 여전히 이전 DNS 레코드를 사용하고 있다면, rinetd가 그들을 새 서버로 리디렉션할 수 있습니다. rinetd를 사용하면 iptables 규칙을 만질 필요가 없습니다.
이것이 귀하에게 효과가 있을 것이라는 보장은 하지 않습니다!
1 사전 참고
이 예제에서는 IP 주소 192.168.0.101에서 IP 주소 192.168.0.100으로 HTTP 트래픽(포트 80)을 리디렉션하려고 합니다.
rinetd는 FTP를 리디렉션할 수 없다는 점에 유의하십시오. FTP는 하나 이상의 소켓을 필요로 하기 때문입니다.
2 rinetd 설치 및 구성
rinetd를 설치하려면, 다음을 실행합니다.
apt-get install rinetdrinetd의 구성 파일은 /etc/rinetd.conf입니다. 192.168.0.101에서 192.168.0.100으로 HTTP 트래픽을 포워딩하려면, 다음 줄을 추가합니다: 192.168.0.101 80 192.168.0.100 80:
vi /etc/rinetd.conf| # # 이것은 rinetd, 인터넷 리디렉션 서버의 구성 파일입니다 # # 여기에서 전역 허용 및 거부 규칙을 지정할 수 있습니다 # 오직 IP 주소만 일치하며, 호스트 이름은 여기에서 지정할 수 없습니다 # 사용할 수 있는 와일드카드는 *와 ?입니다 # # allow 192.168.2.* # deny 192.168.2.1? # # 포워딩 규칙은 여기에서 옵니다 # # 특정 포워딩 규칙 뒤에 허용 및 거부 규칙을 지정하여 # 오직 해당 포워딩 규칙에만 적용할 수 있습니다 # # bindadress bindport connectaddress connectport 192.168.0.101 80 192.168.0.100 80 # 로깅 정보 logfile /var/log/rinetd.log # 웹 서버 스타일의 로그 파일 형식을 원하시면 다음 줄의 주석을 제거하세요 # logcommon |
그런 다음 rinetd를 재시작합니다:
/etc/init.d/rinetd restart이제 다음을 실행합니다:
netstat -tap그리고 rinetd가 포트 80( www)에서 수신 대기 중인 것을 확인할 수 있어야 합니다:
server2:~# netstat -tap
활성 인터넷 연결 (서버 및 설정됨)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :sunrpc : LISTEN 1956/portmap
tcp 0 0 server2.example.com:www : LISTEN 2485/rinetd
tcp 0 0 :3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp : LISTEN 2294/exim4
tcp6 0 0 :ssh : LISTEN 2326/sshd
tcp6 0 0 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#
이제 브라우저를 IP 주소 192.168.0.101의 웹 페이지로 안내하면, IP 주소 192.168.0.100을 가진 서버에서 해당 페이지를 받아야 합니다.
/etc/rinetd.conf에서 포트 번호를 지정하는 대신 서비스 이름을 사용할 수도 있습니다. 서비스 이름은 /etc/services에 저장되어 있으므로, 해당 파일을 열면 포트 80의 서비스 이름이 Debian에서 www로 되어 있는 것을 볼 수 있습니다.
grep 80 /etc/servicesserver2:~# grep 80 /etc/services
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol
socks 1080/tcp # socks proxy server
socks 1080/udp
amanda 10080/tcp # amanda backup services
amanda 10080/udp
omirr 808/tcp omirrd # online mirror
omirr 808/udp omirrd
canna 5680/tcp # cannaserver
zope-ftp 8021/tcp # zope management by ftp
webcache 8080/tcp # WWW caching service
tproxy 8081/tcp # Transparent Proxy
omniorb 8088/tcp # OmniORB
omniorb 8088/udp
server2:~#
따라서 /etc/rinetd.conf에서 다음 구성을 사용할 수 있으며, 이는 첫 번째 구성과 동일한 효과를 가집니다:
vi /etc/rinetd.conf| # # 이것은 rinetd, 인터넷 리디렉션 서버의 구성 파일입니다 # # 여기에서 전역 허용 및 거부 규칙을 지정할 수 있습니다 # 오직 IP 주소만 일치하며, 호스트 이름은 여기에서 지정할 수 없습니다 # 사용할 수 있는 와일드카드는 *와 ?입니다 # # allow 192.168.2.* # deny 192.168.2.1? # # 포워딩 규칙은 여기에서 옵니다 # # 특정 포워딩 규칙 뒤에 허용 및 거부 규칙을 지정하여 # 오직 해당 포워딩 규칙에만 적용할 수 있습니다 # # bindadress bindport connectaddress connectport 192.168.0.101 www 192.168.0.100 www # 로깅 정보 logfile /var/log/rinetd.log # 웹 서버 스타일의 로그 파일 형식을 원하시면 다음 줄의 주석을 제거하세요 # logcommon |
그리고 rinetd가 설치된 시스템에서 구성된 모든 IP 주소에서 수신 대기하도록 하려면, bindaddress로 0.0.0.0을 사용할 수 있습니다:
vi /etc/rinetd.conf| # # 이것은 rinetd, 인터넷 리디렉션 서버의 구성 파일입니다 # # 여기에서 전역 허용 및 거부 규칙을 지정할 수 있습니다 # 오직 IP 주소만 일치하며, 호스트 이름은 여기에서 지정할 수 없습니다 # 사용할 수 있는 와일드카드는 *와 ?입니다 # # allow 192.168.2.* # deny 192.168.2.1? # # 포워딩 규칙은 여기에서 옵니다 # # 특정 포워딩 규칙 뒤에 허용 및 거부 규칙을 지정하여 # 오직 해당 포워딩 규칙에만 적용할 수 있습니다 # # bindadress bindport connectaddress connectport 0.0.0.0 80 192.168.0.100 80 # 로깅 정보 logfile /var/log/rinetd.log # 웹 서버 스타일의 로그 파일 형식을 원하시면 다음 줄의 주석을 제거하세요 # logcommon |
rinetd를 재시작한 후…
/etc/init.d/rinetd restart… rinetd는 이제 모든 인터페이스에서 수신 대기해야 합니다 ( *:www):
netstat -tapserver2:~# netstat -tap
활성 인터넷 연결 (서버 및 설정됨)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :sunrpc : LISTEN 1956/portmap
**tcp 0 0 :www : LISTEN 2503/rinetd*
tcp 0 0 :3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp : LISTEN 2294/exim4
tcp 0 0 server2.example.com:www 192.168.0.3:4798 TIME_WAIT -
tcp6 0 0 :ssh : LISTEN 2326/sshd
tcp6 0 0 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#
3 링크
- rinetd: http://www.boutell.com/rinetd
- Debian: http://www.debian.org
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.