2013-10-18 346 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-INPUT 线13 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,并且防火墙接受秒。