Red Hat Linux(RHEL)에서 IPTable을 사용하여 포트를 리디렉션하는 방법은 무엇입니까?

Red Hat Linux(RHEL)에서 IPTable을 사용하여 포트를 리디렉션하는 방법은 무엇입니까?

포트 80을 8080으로 전달하고 싶습니다. 그래서 편집을 시도했습니다 /etc/syscongfig/iptables.

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

그러나 얻었습니다 :

# service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: 
          Line 8 seems to have a -t table  option.

뭐가 문제 야? 어떻게 해야 합니까?

답변1

파일 /etc/syscongfig/iptables에 iptables-restore에 대한 올바른 구조가 있습니까?

이 규칙을 방화벽에 수동으로 추가해 보세요.

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

그리고 명령 /etc/sysconfig/iptables의 출력과 비교iptables-save

답변2

이건 너의iptables규칙:

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

하지만 나는 대신에 다음과 같이 되어야 한다고 믿습니다.

-A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

참고 -m tcp하세요. -p tcp확인할 규칙 또는 패킷의 프로토콜과 일치하는 동안 -m tcpIPTables에 TCP 패킷과 일치하도록 명시적으로 지시합니다. 혼란스러워 보이지만 내가 아는 바로는 포트별 규칙이 호출될 때 -p tcp쌍을 이루어야 합니다 .-m tcp

다른 사람이 이 요구 사항의 근거/논리를 확장할 수 있다면 의견을 통해 이에 대해 알려주세요.

관련 정보