Я вніс зміни в конфігураційний файл iptables /etc/iptables/filter
в Ubuntu і хочу перезавантажити їх. Я прочитав сторінку man і також гугл, але не зміг знайти інформацію. Будь-яка допомога буде вдячна.
Я вніс зміни в конфігураційний файл iptables /etc/iptables/filter
в Ubuntu і хочу перезавантажити їх. Я прочитав сторінку man і також гугл, але не зміг знайти інформацію. Будь-яка допомога буде вдячна.
Відповіді:
Найпростіший спосіб - перезавантажити (також, якщо нижче це не працює, перезавантажте, перевірте, чи зміни це внесло).
Друге найпростіше - перезапустити демонів за допомогою конфігурацій iptables (google: перезапустити daemon ubuntu).
приклади (залежить від вашої конфігурації):
/etc/init.d/iptables restart
/etc/init.d/networking restart
/etc/init.d/firewall restart
Зазвичай правила брандмауера містяться у файлі config /etc/iptables.firewall.rules
Щоб активувати правила, визначені у вашому файлі, ви повинні надіслати їх iptables-restore
(ви можете використовувати інший файл, якщо хочете):
sudo iptables-restore < /etc/iptables.firewall.rules
Ви можете перевірити, чи активовано вони за допомогою:
sudo iptables -L
Якщо ви хочете активувати одні й ті самі правила при кожному завантаженні комп'ютера, створіть цей файл:
sudo nano /etc/network/if-pre-up.d/firewall
З цим вмістом:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules
І дайте йому дозвіл на виконання:
sudo chmod +x /etc/network/if-pre-up.d/firewall
Сподіваюся, це допоможе вам =)
Приклад файлу для /etc/iptables.firewall.rules
:
*filter
# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allow SSH connections
#
# The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Allow ping
-A INPUT -p icmp -j ACCEPT
# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
/etc/iptables.firewall.rules
але sudo iptables-restore < /etc/iptables/rules.v4
працювали на мене.
Якщо ви виконали свої правила, вони вже запущені, і перезавантаження не потрібно. У випадку, якщо у вас є файл конфігурації, але він не виконаний найкращим способом, який я бачив, - це використовувати iptables-apply
(розширення iptables).
iptables-apply -t 60 your_rules_file
Це застосовуватиме правила протягом 60 секунд (за замовчуванням 10) та поверне їх, якщо ви їх не підтвердите. Це заощадить вас у випадку, якщо вас викинуть із системи через правила (наприклад, якщо ви працюєте через ssh).
Ви можете використовувати таке як заміну:
iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
sudo ufw reload
Перезавантажить брандмауер та його правила.
Якщо ви хочете перезавантажити IPtables, щоб перевірити щойно внесені вами зміни; ви також можете перезапустити Apache за допомогою командних рядків нижче:
/etc/init.d/apache2 зупинка
/etc/init.d/apache2 start
Ці команди можуть відрізнятися залежно від вашого смаку Ubuntu та можливих модифікацій, які були зроблені раніше.
Сподіваюся, це допомагає.
П’єр