Привет. У меня есть несколько команд iptables. Сейчас iptables объявляют legacy, и поэтому я ищу аналоги этим командам в nftables. Если вы тоже, то не стесняйтесь, задавайте вопрос в комментах. Всеобщим мозговым штурмом найдём решения!
Первой командой в моей записной книжке идёт эта:
sudo iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i ppp0 -j DROP
Мне её на ЛОРе советовали когда-то давно, я не помню кто именно. ppp0 это не модем, как вы могли подумать, а оптоволоконное соединение. Первая строчка разрешает принимать ответы на запросы с нашего компа. Вторая команда запрещает все остальные соединения.
Мне нужно было также открыть один порт, и я спросил у того человека, куда вставлять команду. Он сказал, что вставлять перед последней командой. Она запрещает всё, что не было разрешено ранее. А если вставить после неё, то не сработает.
Собственно, вот команда для открытия порта:
sudo iptables -A INPUT -i ppp0 -p tcp --dport 2000 -j ACCEPT
sudo iptables -A INPUT -i ppp0 -p udp --dport 2001 -j ACCEPT
Ещё я раздаю интернет из ppp0 в eth1. Вот команда, которой я раздаю интернет:
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Чтобы защитить интерфейс eth1, я выполнил это:
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -j DROP
Как вы видите, эта команда идентична первой, только для FORWARD (переадресуемого трафика).
И наконец, самое сложное. Я не понимаю, как работает эта команда. В общем, она «пробрасывает» порт 2000, который я ранее открыл, на другой комп, который подключен к eth1:
iptables -A PREROUTING -t nat -i ppp0 -p tcp --dport 2000 -j DNAT --to [IP ноутбука]:2000
iptables -A INPUT -p tcp -m state --state NEW --dport 2000 -i ppp0 -j ACCEPT
Собственно, это всё, что было в моей записной книжечке. Буду рад, если кто-нибудь знает аналоги этим командам на nftables, и напишет их в комменты :-)