LINUX.ORG.RU
ФорумAdmin

iptables PREROUTING -> nft prerouting

 ,


0

2

Не пойму, как в nftables варианте сделать это:

iptables -t nat -A PREROUTING -s 192.168.0.123/32 -p tcp -j REDIRECT --to-ports 10000

Такой вариант, вроде напрашивается:

nft add chain inet fw4 prerouting_nat { type nat hook prerouting priority dstnat\; policy accept\; }
nft add rule inet fw4 prerouting_nat tcp saddr 192.168.109.123 redirect to 10000

но он дает ошибку на второй команде:

Error: syntax error, unexpected string
add rule inet fw4 prerouting_nat tcp saddr 192.168.109.123 redirect to 10000
                                     ^^^^^

ChatGPT:

Эта конструкция iptables используется для перенаправления сетевого трафика с определенного исходного IP-адреса и порта на другой порт на том же сервере. Если вы хотите реализовать что-то подобное в NFT (nftables), то вот как это можно сделать:

#!/usr/sbin/nft -f

table ip my_filter {
    chain prerouting {
        type nat hook prerouting priority 0; # Это аналог PREROUTING в iptables
        ip saddr 192.168.0.123 tcp dport 80 redirect to :10000
    }
}

В этом примере мы создаем таблицу с именем my_filter, а затем цепь prerouting, аналогичную PREROUTING в iptables. Мы указываем условие ip saddr 192.168.0.123 tcp dport 80, что соответствует исходному IP-адресу 192.168.0.123 и порту 80, и затем перенаправляем его на порт 10000 с помощью redirect to :10000.

Не забудьте сохранить этот конфигурационный файл и применить его с помощью nft -f your_config_file.nft. Убедитесь, что у вас установлен nftables на вашем сервере.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Спасибо за наводку, разобрался! Совсем забыл, что есть инструмент ChatGPT :)

Вот мой рабочий вариант:

nft add chain inet fw4 prerouting_nat { type nat hook prerouting priority dstnat\; policy accept\; }
nft add rule inet fw4 prerouting_nat ip saddr 192.168.0.123 meta l4proto tcp redirect to 10000
LovongFox
() автор топика