2013-10-18 98 views
-1

我想將udp數據包轉發到端口10500到10600,但它不能使用以下配置。iptables centOS端口轉發不起作用

我的iptables是這樣的,

[[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 

還因爲它是CentOS的,我已經添加了以下內容。 net.ipv4.ip_forward = 1

告訴我我哪裏出了問題。

回答

0

嘗試使用REDIRECT。 實施例:iptables的-t NAT -I PREROUTING 1 -s 0.0.0.0/0 -d 192.168.75.128 -p UDP -m UDP --dport 10500 -j REDIRECT --to端口10600

+0

試過那個力度的工作。 – Antarus

0

Chain RH-Firewall-1-INPUT13 DROP all -- 0.0.0.0/0 0.0.0.0/0正在拒絕之前不允許的每一個。將所有允許的規則放在「全部丟失」之前,否則將被忽略。 (第14-15行必須位於鏈式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 ed to tcp:10600。之後,該流量將進入表格過濾器INPUT,並且防火牆接受秒。