Перезавантаження iptables


29

Я вніс зміни в конфігураційний файл iptables /etc/iptables/filterв Ubuntu і хочу перезавантажити їх. Я прочитав сторінку man і також гугл, але не зміг знайти інформацію. Будь-яка допомога буде вдячна.


Ви не надавали жодної інформації про версію Ubuntu, яку ви використовуєте, або не шукали в Інтернеті, перш ніж розміщувати це запитання.

Відповіді:


28

Найпростіший спосіб - перезавантажити (також, якщо нижче це не працює, перезавантажте, перевірте, чи зміни це внесло).

Друге найпростіше - перезапустити демонів за допомогою конфігурацій iptables (google: перезапустити daemon ubuntu).

приклади (залежить від вашої конфігурації):

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

5
Немає файлу на ім’я /etc/init.d/iptables

1
яка пов’язана мережа існує в /etc/init.d? спробуйте перезапустити це.

2
/etc/init.d/перезапуск мережі?

1
Мертве посилання мертве.
Дастін Грехем

@DustinGraham дякую, зламане посилання видалено.
Джуха

37

Зазвичай правила брандмауера містяться у файлі 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

4
У Ubuntu 14.10 у мене немає, /etc/iptables.firewall.rulesале sudo iptables-restore < /etc/iptables/rules.v4працювали на мене.
тембо

4

Якщо ви виконали свої правила, вони вже запущені, і перезавантаження не потрібно. У випадку, якщо у вас є файл конфігурації, але він не виконаний найкращим способом, який я бачив, - це використовувати iptables-apply(розширення iptables).

iptables-apply -t 60 your_rules_file

Це застосовуватиме правила протягом 60 секунд (за замовчуванням 10) та поверне їх, якщо ви їх не підтвердите. Це заощадить вас у випадку, якщо вас викинуть із системи через правила (наприклад, якщо ви працюєте через ssh).

Ви можете використовувати таке як заміну:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules

Ні, перезавантаження абсолютно необхідна для дозволу хоста DDNS. Якщо IP будь-якого згаданих хостів змінюється, iptables потрібно перезавантажити. В ідеалі ви б робили це кожні 30 хвилин від cron. Не зручно перезавантажувати кожні 30 хвилин.
mckenzm


0

Після трохи погуглившись, це те, що я виявив, щоб перезапустити iptables. . . sudo /etc/init.d/firewall перезапуск


3
Немає файлу на ім’я /etc/init.d/firewall

0

Якщо ви хочете перезавантажити IPtables, щоб перевірити щойно внесені вами зміни; ви також можете перезапустити Apache за допомогою командних рядків нижче:

/etc/init.d/apache2 зупинка

/etc/init.d/apache2 start

Ці команди можуть відрізнятися залежно від вашого смаку Ubuntu та можливих модифікацій, які були зроблені раніше.

Сподіваюся, це допомагає.

П’єр

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.