Commit a4a4a1

2025-04-26 17:01:20 Mayekkuzu: iptables added
self-hosted/nginx.md ..
@@ 202,3 202,50 @@
}
...
```
+ ## Настройка iptables для NGINX
+
+ Целевая статья по настройке HaProxy - [тут](/Self-Hosted/Haproxy)
+
+ Предварительно уточню, что произведен проброс портов на роутере по 443 и 80 портам к виртуальной машине NGINX.
+
+ Для того чтобы NGINX отвечал только на сервер Haproxy и игнорировал запросы от других IP настроим iptables. В моем случае это Rocky Linux. Мне лениво ебаться с firewall-cmd, поэтому тушу его нахуй и ставлю пакет iptables и активирую сервис:
+
+ ```bash
+ sudo systemctl stop firewalld
+ sudo systemctl disable firewalld
+ dnf install iptables-services iptables-utils
+ sudo systemctl enable iptables
+ sudo systemctl start iptables
+ ```
+ Далее добавляем такие правила для веб-сервисов (имя интерфейса посмотрите через `ip a`):
+ ```bash
+ sudo iptables -I INPUT -s IP-сервера-haproxy -p tcp --dport 443 -i ens18 -j ACCEPT
+ sudo iptables -I INPUT -s IP-сервера-haproxy -p tcp --dport 80 -i ens18 -j ACCEPT
+ ```
+ Себе я добавляю правила которые позволят работать с домашней сети по SSH:
+ ```bash
+ sudo iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -i ens18 -j ACCEPT
+ ```
+ В конце добавляем правила отклоняющие остальные соединения по 80 и 443 порту:
+ ```bash
+ iptables -A INPUT -j DROP -p tcp -i ens18 --dport 80
+ iptables -A INPUT -j DROP -p tcp -i ens18 --dport 443
+ ```
+ И сохраняем правила. Так же смотрим статус:
+ ```bash
+ [mayekkuzu@nginx-edge ~]$ sudo /sbin/service iptables save
+ [mayekkuzu@nginx-edge ~]$ sudo iptables -L
+ Chain INPUT (policy ACCEPT)
+ target prot opt source destination
+ ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:ssh
+ ACCEPT tcp -- XX.XX.XX.XX anywhere tcp dpt:http
+ ACCEPT tcp -- XX.XX.XX.XX anywhere tcp dpt:https
+ DROP tcp -- anywhere anywhere tcp dpt:http
+ DROP tcp -- anywhere anywhere tcp dpt:https
+
+ Chain FORWARD (policy ACCEPT)
+ target prot opt source destination
+
+ Chain OUTPUT (policy ACCEPT)
+ target prot opt source destination
+ ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9