2013-10-18 2 views
-1

포트 10500에서 10600으로 들어오는 UDP 패킷을 전달하려고하지만 다음 구성으로 작동하지 않습니다.iptables centOS 포트 포워딩이 작동하지 않습니다.

내의 iptables는 CentOS는 이후, 나는 다음을 추가 한,이 같은도

[[email protected] ~]# service iptables status 
Table: filter 
Chain INPUT (policy DROP) 
num target  prot opt source    destination 
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0   0.0.0.0/0 
2 LOG  all -- 224.0.0.0/4   0.0.0.0/0   LOG flags 0 level 4 prefix `IP DROP MULTICAST D: ' 
3 LOG  all -- 240.0.0.0/5   0.0.0.0/0   LOG flags 0 level 4 prefix `IP DROP SPOOF E: ' 
4 LOG  all -- 0.0.0.0/0   127.0.0.0/8   LOG flags 0 level 4 prefix `IP DROP LOOPBAK: ' 

Chain FORWARD (policy DROP) 
num target  prot opt source    destination 
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0   0.0.0.0/0 
2 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   udp dpt:10600 state NEW 

Chain OUTPUT (policy ACCEPT) 
num target  prot opt source    destination 

Chain RH-Firewall-1-INPUT (2 references) 
num target  prot opt source    destination 
1 ACCEPT  all -- 0.0.0.0/0   0.0.0.0/0 
2 ACCEPT  icmp -- 0.0.0.0/0   0.0.0.0/0   icmp type 0 
3 ACCEPT  icmp -- 0.0.0.0/0   0.0.0.0/0   icmp type 3 
4 ACCEPT  icmp -- 0.0.0.0/0   0.0.0.0/0   icmp type 11 
5 ACCEPT  icmp -- 0.0.0.0/0   0.0.0.0/0   icmp type 8 
6 ACCEPT  udp -- 0.0.0.0/0   224.0.0.251   udp dpt:5353 
7 ACCEPT  all -- 0.0.0.0/0   0.0.0.0/0   state RELATED,ESTABLISHED 
8 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:22 
9 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   state NEW udp dpt:53 
10 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:53 
11 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   udp dpt:69 
12 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   udp dpt:514 
13 DROP  all -- 0.0.0.0/0   0.0.0.0/0 
14 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   udp dpt:10500 
15 ACCEPT  udp -- 0.0.0.0/0   0.0.0.0/0   udp dpt:10600 

Table: nat 
Chain PREROUTING (policy ACCEPT) 
num target  prot opt source    destination 
1 DNAT  udp -- 0.0.0.0/0   192.168.80.128  udp dpt:10500 to:192.168.80.128:10600 

Chain POSTROUTING (policy ACCEPT) 
num target  prot opt source    destination 

Chain OUTPUT (policy ACCEPT) 
num target  prot opt source    destination 

보인다. net.ipv4.ip_forward = 1

내가 잘못한 곳을 알려주십시오.

답변

0

리디렉션을 사용해보세요. 예 : NAT의 iptables -t -I 1 -s 0.0.0.0/0는 -d 192.168.75.128 -p UDP -m UDP --dport 10500 리디렉션 -j PREROUTING --to-10600 포트

+0

그 dint 작업을 시도했습니다. – Antarus

0

Chain RH-Firewall-1-INPUT 라인에서 13 DROP all -- 0.0.0.0/0 0.0.0.0/0은 전에 허용되지 않은 모든 거부를 거부합니다. 허용 된 모든 규칙을 "DROP of everything"앞에두면 무시됩니다. (Line 14-15는 Chain RH-Firewall-1-INPUT의 13 번 라인 앞에 있어야합니다.)

1

목표를 달성하려면 INPUT 필터 테이블에 대한 규칙을 추가해야합니다. 그리고 NAT 테이블에

예를 리디렉션을 추가

iptables -A INPUT -p tcp --dport 10600 -j ACCEPT 

iptables -A PREROUTING -t nat -p tcp --dport 10500 REDIRECT --to-port 10600 

작동 원리 :

첫 번째 테이블은 NAT PREROUTING입니다. tcp : 10500에 대한 트래픽은 REDIRECT (tcp : 10600)입니다. 이 트래픽이 표 필터 입력으로 이동하고 방화벽 수락이 표시됩니다.

관련 문제