【问题标题】:iptables centOS port forwarding not workingiptables centOS端口转发不起作用
【发布时间】:2013-10-18 05:54:28
【问题描述】:

我想将 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

告诉我哪里出错了。

【问题讨论】:

    标签: linux centos iptables


    【解决方案1】:

    要实现您的目标,您必须为 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,然后由防火墙接受

    【讨论】:

      【解决方案2】:

      尝试使用 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-ports 10600

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2017-11-24
          • 2018-11-28
          • 1970-01-01
          • 1970-01-01
          • 2011-08-28
          • 1970-01-01
          • 2017-01-24
          • 1970-01-01
          • 2014-04-15
          相关资源
          最近更新 更多