0

我想将 udp 数据包转发到端口 10500 到 10600,但它不适用于以下配置。

我的 iptables 看起来像这样,

[root@mymachine ~]# 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

告诉我哪里出错了。

4

3 回答 3

2

要实现您的目标,您必须为 INPUT filter-table 添加一条规则。并在 nat-table 中添加 REDIRECTION

例子:

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 的流量将被重定向到 tcp:10600。之后,此流量将转到表过滤器INPUT,然后防火墙接受它。

于 2013-12-17T10:04:11.483 回答
0

尝试使用重定向。示例: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-ports 10600

于 2013-10-18T06:14:18.467 回答
0

在线拒绝之前不允许的所有内容Chain RH-Firewall-1-INPUT13 DROP all -- 0.0.0.0/0 0.0.0.0/0将所有允许的规则放在“删除所有内容”之前,否则它们将被忽略。(第 14 - 15 行必须在 Chain RH-Firewall-1-INPUT 中的第 13 行之前)

于 2013-10-18T07:20:15.363 回答