iptables: 리디렉션된 포트의 트래픽을 허용하는 방법

iptables: 리디렉션된 포트의 트래픽을 허용하는 방법

데비안 7에서 실행되고 포트 8080에서 수신 대기하는 웹 서비스가 있습니다. 인바운드 연결을 80에서 8080으로 리디렉션하고 포트 80만 허용하고 싶습니다. 내 구성은 다음과 같습니다 iptables.

root@localhost:~# iptables -v -L --line-numbers
Chain INPUT (policy DROP 76 packets, 6266 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       90  8898 ACCEPT     all  --  lo     any     anywhere             anywhere            
2        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
3     4515 3113K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 4858 packets, 587K bytes)
num   pkts bytes target     prot opt in     out     source               destination     

그리고 nat 테이블:

root@localhost:~# iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 14 packets, 2288 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8080
    0     0 REDIRECT   udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:80 redir ports 8080

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 841 packets, 53415 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 841 packets, 53415 bytes)
 pkts bytes target     prot opt in     out     source               destination 

포트 80에서 외부적으로 연결을 설정할 수 없습니다. 어떤 결함이 존재할 수 있나요?

답변1

사용자가 포트 80에 도달하면 iptables먼저 NAT PREROUTING테이블을 확인한 다음 FILTER테이블을 확인하므로 필터 입력 체인에서 포트 8080을 허용해야 합니다.

아래 예를 참조하세요.

필터 테이블에서:

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT

Nat 테이블에서:

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

위의 규칙은 Filter INPUT Policy Drop 및 작업을 사용하여 테스트되었습니다.

테이블의 순서는 다음과 같습니다.

  1. 맹글 사전 라우팅
  2. 자연스러운 사전 라우팅
  3. 관리 입력
  4. 필터 입력

자세한 내용은 확인해주세요이것페이지.

관련 정보