iptables -F iptables -S * здесь мы сначала удаляем все правила (-F), затем устанавливаем политику по умолчанию — разрешать входящие, исходящие и транзитные (-S). -------- Разрешаем SSH c oVPN: iptables -A INPUT -p tcp -s 172.30.10.0/24 -d X.X.X.X --dport 22 -j ACCEPT Разрешаем все входящие на адрес локальной петли (?): iptables -A INPUT -d 127.0.0.0/24 -j ACCEPT При необходимости: Разрешаем ICMP (для выполнения команды ping): iptables -A INPUT -p icmp -j ACCEPT Разрешаем порты с oVPN: iptables -I INPUT -p tcp -s 172.30.10.0/24 -d X.X.X.X -m comment --comment "oVPN access" -j ACCEPT --dport 80 iptables -I INPUT -p tcp -s 172.30.10.0/24 -d X.X.X.X -m comment --comment "oVPN access" -j ACCEPT --dport 443 Разрешаем доступ к нужному порту извне. На примере 3306:iptable iptables -I INPUT -p tcp -d X.X.X.X -m comment --comment "DB access" -j ACCEPT --dport 3306 _______ Базовая фильтрация пакетов: iptables -I INPUT 1 -m state --state INVALID -j DROP iptables -I INPUT 2 -m state --state ESTABLISHED,RELATED -j ACCEPT Защита от перебора паролей: iptables -I INPUT 3 -p tcp -s 172.30.10.0/24 -d X.X.X.X/X -m state --state NEW -m recent --update --seconds 10 --name bad_boys -j DROP --dport 22 iptables -I INPUT 4 -p tcp -s 172.30.10.0/24 -d X.X.X.X/X -m state --state NEW -m recent --set --name bad_boys -j ACCEPT --dport 22 Получится так: 7 1091 65212 DROP tcp -- * * 0.0.0.0/0 213.156.129.29 tcp dpt:22 state NEW recent: UPDATE seconds: 10 name: bad_boys side: source 8 19732 1175K ACCEPT tcp -- * * 0.0.0.0/0 213.156.129.29 tcp dpt:22 state NEW recent: SET name: bad_boys side: source или так: 3 0 0 DROP tcp -- * * 0.0.0.0/0 213.156.129.6 state NEW recent: UPDATE seconds: 10 name: bad_boys side: source mask: 255.255.255.255 tcp dpt:22 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 213.156.129.6 state NEW recent: SET name: bad_boys side: source mask: 255.255.255.255 tcp dpt:22 NAT: iptables -t nat -I PREROUTING 39 -i tun0 -p tcp -s 172.30.10.0/28 -d 172.30.10.1 --dport 58630 -m comment --comment "Some comment" -j DNAT --to-destination 213.156.128.14 iptables -t nat -I POSTROUTING 37 -p tcp -o ens224 -s 172.30.10.0/28 -d 213.156.128.14 --dport 58630 -m comment --comment "Some comment" -j SNAT --to-source 172.30.8.1 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP -------- yum install iptables-services service iptables save а) в более новых версиях Linux: systemctl enable iptables б) в версиях постарше: chkconfig iptables on update-rc.d iptables defaults * первая команда для CentOS, вторая для Ubuntu. ------- Если необходимо пользоваться iptables, устанавливаем пакет с утилитой: yum install iptables-services Отключаем firewalld: systemctl stop firewalld systemctl status firewalld systemctl disable firewalld Разрешаем и запускаем iptables: systemctl enable iptables systemctl start iptables /usr/sbin/iptables-save -c > /etc/firewall.conf Ubuntu: apt-get install iptables /sbin/iptables-save or iptables-save apt-get install iptables-persistent - аналог enable iptables-save > /etc/iptables/rules.v4 Для домена test.sitename.ru Запрос: certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d test.sitename.ru Первичная DNS A запись (BIND9) test IN A 213.156.129.8 Ответ от Certbot TXT запись (BIND9) _acme-challenge.test IN CNAME 007da29e-60a6-4394-a0b2-d4bacd3fcc3f.auth.acme-dns.io. Reg.ru: CNAME Subdomain _acme-challenge.test Canonical name 007da29e-60a6-4394-a0b2-d4bacd3fcc3f.auth.acme-dns.io. Запрос проверки добавленной записи: dig +short txt _acme-challenge.testcert.sitename.ru @8.8.8.8 Одна из строк в ответе должна быть без кавычек и содержать: 007da29e-60a6-4394-a0b2-d4bacd3fcc3f.auth.acme-dns.io.