スクリプトmigrate
から.に移動しようとしています。このスクリプトでは、ローカルプロキシ(特定のサブネットを除く)に送信されるいくつかのTCP / UDPトラフィックが必要です。スクリプトが動作します(IPが変更されました)。iptables
nftables
redirect
iptables
as expected
iptables -t nat -N PROXY
iptables -t nat -A PROXY -d 1.1.1.1/32 -j RETURN
iptables -t nat -A PROXY -d 1.0.0.1/32 -j RETURN
iptables -t nat -A PROXY -p tcp -d 1.0.0.0/8 -j REDIRECT --to-ports 3127
iptables -t nat -A PROXY -p udp -d 1.0.0.0/8 -j REDIRECT --to-ports 3127
iptables -t nat -A OUTPUT -p tcp -d 1.0.0.0/8 -j PROXY
ただし、改造されたnftables
スクリプトは以下を提供しますerror
。
Error: Could not process rule: Operation not supported
add rule nat OUTPUT ip daddr { 1.0.0.0/8 } ip protocol { tcp, udp } jump PROXY
^^^^^
nftables
私が適用したスクリプトは次のとおりです。
nft add table nat
nft add chain nat PROXY { type nat hook prerouting priority -1\; }
nft add chain nat OUTPUT { type nat hook output priority -1\; }
nft add rule nat PROXY ip daddr { 1.1.1.1/32, 1.0.0.1/32 } return
nft add rule nat PROXY ip daddr { 1.0.0.0/8 } ip protocol { tcp, udp } redirect to :3127
nft add rule nat OUTPUT ip daddr { 1.0.0.0/8 } ip protocol { tcp, udp } jump PROXY
いくつかの注意:
- 各スクリプトを実行する前に、すべてのテーブル/チェーン/ルールセットがフラッシュ/削除されます。
- 実行すると、
lsmod | grep ^nf
すべてのカーネルモジュールがロードされたことがわかります(私が知っている限り)。 - すべてはルートによって実行されます
ありがとうございます。
編集する:
nft list ruleset
次の結果を提供します。
table ip nat {
chain PROXY {
type nat hook prerouting priority filter - 1; policy accept;
ip daddr { 1.0.0.1, 1.1.1.1 } return
ip daddr 1.0.0.0/8 ip protocol { tcp, udp } redirect to :3127
}
chain OUTPUT {
type nat hook output priority filter - 1; policy accept;
}
}
エラーのため、最後のルールは添付されませんでした。
uname -a
: Linux Honeypot 6.1.7-1-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Jan 18 22:33:03 UTC 2023 x86_64 GNU/Linux
答え1
NFTables設定を見ると、nft add chain nat PROXY { type nat hook prerouting priority -1\; }
IPTables設定()には見つからない事前ルーティングフックを含む行が表示されますiptables -t nat -N PROXY
。
フックがあるのでジャンプすることは不可能です。
フックのない構成が機能するはずです。
nft add table nat
nft add chain nat PROXY
nft add chain nat OUTPUT { type nat hook output priority -1\; }
nft add rule nat PROXY ip daddr { 1.1.1.1/32, 1.0.0.1/32 } return
nft add rule nat PROXY ip daddr { 1.0.0.0/8 } ip protocol { tcp, udp } redirect to :3127
nft add rule nat OUTPUT ip daddr { 1.0.0.0/8 } ip protocol { tcp, udp } jump PROXY
IPTables から NTFables に移行する場合は、次の点を確認することをお勧めします。原子ルールの置き換えそして基本的なスクリプト環境(/etc/nftables.conf) は NTFables から提供されます。