iptables


ftp forwarding
https://www.linuxquestions.org/questions/linux-networking-3/iptables-forward-all-ftp-to-other-server-692717/ - Forward All FTP to Other Server

$ modprobe nf_nat_ftp
$ iptables -t nat -A PREROUTING -p tcp -d serverA –dport 21 -j DNAT –to-destination serverB
$ iptables -t nat -A PREROUTING -p tcp -d serverB –dport 21 -j SNAT –to-source serverA

iptables-persistent
https://losst.ru/kak-sohranit-pravila-iptables mht

#установка
sudo apt install iptables-persistent
 
# использование
sudo netfilter-persistent [действие]

Где [действие] может принимать следующие значения:

start - вызывает все плагины с параметром start, для загрузки правил в netfilter;
stop - если настроена конфигурация сброса настроек Netfilter при остановке плагина, сбрасывает все настройки firewall на значения по умолчанию. Иначе просто выдает предупреждение;
flush - плагины вызываются с параметром flush, что приводит к сбросу правил межсетевого экрана на значения по умолчанию;
save - вызывает плагины с параметром save, позволяя сохранить значения правил брандмауэра в файлы на диске;
reload - не задокументированный параметр, возникали случаи когда параметр start не срабатывал, помогал вызов этого параметра для загрузки правил из файла на диске;
rules.bash
#!/bin/bash
 
IPT=/sbin/iptables
IPTS=/usr/sbin/netfilter-persistent
 
IFLAN=enp1s0
IFWAN=enp1s0
 
# -------------------------------
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
 
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
 
# -------------------------------
# lo
$IPT -A INPUT -p all -i lo -j ACCEPT
$IPT -A OUTPUT -p all -o lo -j ACCEPT
$IPT -A OUTPUT -p all -o $IFLAN -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -p all -o $IFWAN -m state --state NEW -j ACCEPT
 
# -------------------------------
# allow
$IPT -A INPUT -p all -s 10.0.68.0/25 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p all -s 10.0.69.0/25 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p all -s 10.0.70.128/25 -m state --state NEW -j ACCEPT
 
$IPT -A INPUT -p tcp -s 10.110.140.226/32 -m multiport --dports 80,5432 -m state --state NEW -j ACCEPT	#mz.rostvertol.ru
$IPT -A INPUT -p tcp -s 10.110.140.28/32 -m multiport --dports 80,5432 -m state --state NEW -j ACCEPT	#cpc.rostvertol.ru
 
# -------------------------------
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
 
# -------------------------------
$IPTS save