web-dev-qa-db-ja.com

Iptables --to-portsオプションとREDIRECTターゲット(バグ?)

着信udpトラフィック(514)をiptablesを使用して2つのポート(10514と10515)にリダイレクトしようとしています。ターゲットREDIRECTのiptables-extensionsのマニュアルページでは、構文は「--to-portsport [-port]」です。

単一のポートだけでなく範囲も指定できると言われていますが、範囲で機能させることはできません。範囲の最初のポートのみを使用しているようです。

ソフトウェアは2つのポートでリッスンしています

これが私が使用しているルールとiptables-nvLです:

iptables -A INPUT -p udp --dport 10514 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p udp --dport 10515 -s 10.0.0.0/8 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p udp --dport 514 -j REDIRECT --to-ports 10514-10515

Chain PREROUTING (policy ACCEPT 1550 packets, 93888 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  424 72586 REDIRECT   udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:514 redir ports 10514-10515


Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

68854   14M ACCEPT     udp  --  *      *       10.0.0.0/8           0.0.0.0/0            udp dpt:10514
    0     0 ACCEPT     udp  --  *      *       10.0.0.0/8           0.0.0.0/0            udp dpt:10515 
1
Kater

だから私は今自分の質問に答えることができます!

https://serverfault.com/a/741108/538674

このターゲットは接続追跡を無効にすることなく問題の解決策になる可能性がありますが、最近のカーネルが必要です

TEE The TEE target will clone a packet and redirect this clone to another machine on the local network segment. In other words, the nexthop must be the target, or you will have to configure the nexthop to forward it further if so desired.

--gateway ipaddr
    Send the cloned packet to the Host reachable at the given IP address. Use of 0.0.0.0 (for IPv4 packets) or :: (IPv6) is invalid. 

To forward all incoming traffic on eth0 to an Network Layer logging box:

-t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8::1
1
Kater