IPTABLES을 사용하여 Linux에서 트래픽 포워딩

IPTables을 쉽게 패킷에 대한 규칙을 필터링 / 전달 기능을 설정하실 수 있습니다.

그래서, 그것이 짧고 간단하게하는 것은 : 어떤 트래픽이 다음 포트 8080에서 machine2 (192.168.0.2)로 포트 80에서 컴퓨터 (192.168.0.1)에 오는 전달하고자 가정 :

- 포트 전달을 사용 :

에코 1> / proc/sys/net/ipv4/ip_forward

- 이제 규칙을 추가합니다

DNAT - 투 iptables-T NAT-PREROUTING-P TCP-D 192.168.0.1 - dport 80-j를 192.168.0.2:8080

iptables-T NAT-POSTROUTING-D 192.168.0.2-j를 가장 무도회

-P 플래그는 TCP 프로토콜이 TCP합니다 (예 : UDP, ICMP의 반대 의미)임을 지정합니다.

-d는 192.168.0.1 플래그 패킷이 IP를 192.168.0.1로 향하는 것을 지정

패킷이 대상으로 포트 80를 가지고있다 - dport 80 수단

-J가 적용되는 규칙의 대상이고, NAT (네트워크 주소 변환). 보다 고급 규칙에서, 하나는 규칙 미리 정의된 iptables 체인을 지정할 수 있습니다.

- 방법이 패킷이 전달되어야 곳으로 지정되는 포트에서

두 번째 규칙에 관해서는, 그것은 두 번째 시스템으로 나가는 패킷이 masqueraded되어야한다고 말합니다. 다른 관점에서 포트 80에서 원본 컴퓨터에 액세스하려는 사용자는 자신의 요청이 전달되었다는 느낌을 가지고 있지 않습니다. 그것이 실제로하는 동안 요청이 machine2 전달 및 회신 그 같은 기계에서 돌아왔을되었다 가상 호스트에서 오는 것처럼 패킷이 나타납니다.

보조 노트에서, 파일에 이러한 iptables 규칙을 추가하는 그것을 실행 권한 (chmod를 + X / 경로 /로 / 파일)를 제공해야합니다, 그리고 그것이 모든에서 실행되도록은 / etc / rc.local에 추가 시스템 부팅. 그렇지 않으면, 위의 규칙은 시스템이 다시 시작될 때마다 fliushed됩니다.

코멘트를 남겨주세요

댓글