Создаём скрипт настроек nano /etc/init.d/netrules:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/bin/bash ### BEGIN INIT INFO # Provides: netrules # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: adds iptables rules ### END INIT INFO #Очистка основных и nat цепочек iptables -F iptables -t nat -F #разрешить исходящие и входящие с установленных соединений iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P OUTPUT ACCEPT #разрешить входящие на 22 порт, localhost и icmp кроме ping iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -p icmp -j ACCEPT #Запретить всё остальное iptables -P INPUT DROP iptables -P FORWARD DROP |
Добавляем права на запуск
chmod +x /etc/init.d/netrules
Создаём службу для запуска скрипта при загрузке
nano /etc/systemd/system/netrules.service:
1 2 3 4 5 6 7 8 9 10 11 12 |
[Unit] Description=iptables rules Requires=network.target After=network.target [Service] Type=oneshot # Запустить 1 раз RemainAfterExit=True ExecStart=/etc/init.d/netrules # Путь к скрипту [Install] WantedBy=multi-user.target |
Включаем службу:
systemctl start netrules
systemctl enable firenetruleswall