들어오는 포트 80 트래픽을 포트 8080으로 전달하기 위해 EC2 인스턴스에서 다음 명령을 실행했습니다.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
아무 것도 출력되지 않지만 전달이 실제로 작동하는 것을 볼 때.
명령줄에서 확인을 시도했지만 방법을 모르겠습니다.
$ iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
에 따르면 iptables --help
이 -A
옵션에는 체인 이름이 인수로 필요하므로 제 경우에는 체인 이름이 입니다 PREROUTING
.
또한 다음을 기반으로 합니다 iptables --help
.
--list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
하지만 내가 얻는 것은 다음과 같습니다.
$ iptables -S PREROUTING
iptables: No chain/target/match by that name.
iptables -S REDIRECT
iptables: No chain/target/match by that name.
내가 만든 전달 규칙을 실제로 어떻게 인쇄합니까?
답변1
체인 PREROUTING
은 NAT 테이블( iptables -t nat
)에 있으므로 테이블을 나열해야 볼 수 있습니다.
iptables -t nat -nvL
이를 4개 테이블 모두에 일반화할 수 있습니다.
for table in filter mangle nat raw
do
echo
echo "Rules for table $table"
echo
iptables -t "$table" --line-numbers -nvL
done