0

ポート 10500 に着信する udp パケットを 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に送られ、ファイアウォールはそれをACCEPTします。

于 2013-12-17T10:04:11.483 に答える
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-ports 10600

于 2013-10-18T06:14:18.467 に答える