Memuat kembali iptables

29

Saya membuat perubahan pada file konfigurasi iptables /etc/iptables/filterdi Ubuntu dan ingin memuatnya kembali. Saya membaca halaman manual dan juga googled tetapi tidak dapat menemukan informasinya. Bantuan apa pun akan dihargai.

techraf
sumber
Anda belum memberikan informasi apa pun tentang versi Ubuntu yang Anda gunakan, atau mencari web dengan baik, sebelum memposting pertanyaan ini.

Jawaban:

28

Cara termudah adalah me-reboot (juga jika di bawah ini tidak berfungsi, reboot, periksa apakah itu membuat perubahan).

Cara termudah kedua adalah me-restart daemon menggunakan konfigurasi iptables (google: restart daemon ubuntu).

contoh (tergantung konfigurasi Anda):

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart
Juha
sumber
5
Tidak ada file dengan nama /etc/init.d/iptables
1
jaringan apa yang terkait ada di /etc/init.d? cobalah untuk me-restart itu.
2
/etc/init.d/networking restart?
1
Tautan mati sudah mati.
Dustin Graham
@DustinGraham terima kasih, tautan yang rusak dihapus.
Juha
37

Biasanya aturan firewall Anda ada di file konfigurasi /etc/iptables.firewall.rules

Untuk mengaktifkan aturan yang ditentukan dalam file Anda, Anda harus mengirimnya iptables-restore(Anda dapat menggunakan file lain jika Anda mau):

sudo iptables-restore < /etc/iptables.firewall.rules

Dan Anda dapat memeriksa apakah mereka diaktifkan dengan:

sudo iptables -L

Jika Anda ingin mengaktifkan aturan yang sama setiap kali Anda mem-boot komputer, buat file ini:

sudo nano /etc/network/if-pre-up.d/firewall

Dengan konten ini:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

Dan berikan izin eksekusi:

sudo chmod +x /etc/network/if-pre-up.d/firewall

Semoga ini membantu Anda =)

Contoh file untuk /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
Jorge Sampayo
sumber
4
Di Ubuntu 14.10 saya tidak punya /etc/iptables.firewall.rulesselain sudo iptables-restore < /etc/iptables/rules.v4bekerja untuk saya.
timbo
4

Jika Anda telah menjalankan aturan Anda, aturan itu sudah berjalan dan tidak perlu memuat ulang. Dalam kasus di mana Anda memiliki file konfigurasi tetapi belum dieksekusi dengan cara terbaik yang saya lihat sejauh ini adalah menggunakan iptables-apply(ekstensi iptables).

iptables-apply -t 60 your_rules_file

Ini akan menerapkan aturan selama 60 detik (10 secara default) dan mengembalikannya jika Anda tidak mengonfirmasi. Ini akan menyelamatkan Anda jika Anda dikeluarkan dari sistem karena aturan (mis. Jika Anda beroperasi melalui ssh).

Anda dapat menggunakan yang berikut ini sebagai pengganti:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
nyxz
sumber
Tidak, memuat ulang mutlak diperlukan untuk resolusi host DDNS. Jika IP dari setiap host yang direferensikan berubah, maka iptables perlu dimuat ulang. Idealnya Anda akan melakukan ini setiap 30 menit dari cron. Tidak nyaman untuk reboot setiap 30 menit.
mckenzm
1

sudo ufw reload

Akan memuat ulang firewall dan aturannya.

cryptoboy
sumber
0

Setelah sedikit googling, inilah yang saya temukan untuk me-restart iptables. . . sudo /etc/init.d/firewall restart


sumber
3
Tidak ada file dengan nama /etc/init.d/firewall
0

Jika Anda ingin memuat ulang IPtables untuk memvalidasi perubahan yang baru saja Anda buat; Anda juga dapat memulai ulang Apache dengan baris perintah di bawah ini:

/etc/init.d/apache2 berhenti

/etc/init.d/apache2 mulai

Perintah ini dapat bervariasi tergantung pada rasa Ubuntu Anda, dan akhirnya modifikasi yang mungkin telah dilakukan sebelumnya.

Semoga ini membantu.

Pierre

Pierre Alexis Malaval
sumber