Saya ingin aturan iptables saya dimuat secara otomatis saat startup. Menurut wiki di Debian ini dapat dilakukan dengan menempatkan skrip dengan nama iptables di /etc/network/if-pre-up.d/ Jadi saya lakukan, seperti inilah tampilannya:
cat /etc/network/if-pre-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /etc/firewall/iptables.rules
/sbin/ip6tables-restore < /etc/firewall/ip6tables.rules
Skrip ini berfungsi: jika saya menjalankannya sebagai root, aturan firewall saya akan diterapkan. Tetapi saat reboot tidak ada aturan firewall. Apa yang saya lakukan salah?
Atas permintaan: / etc / network / interfaces (Saya tidak menyentuh file ini)
user@DebianVPS:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
networking
debian
iptables
Cheiron
sumber
sumber
/etc/network/if-pre-up.d/
tidak berfungsi lagi di Ubuntu 18.04, lihat serverfault.com/questions/914493/…Jawaban:
Gunakan
iptables-persistent
paket untuk tugas ini.Tetapkan aturan Anda di
/etc/iptables/rules.4
dan/etc/iptables/rules.6
dan jangan lupa untuk mengaktifkan layanan (menggunakanupdate-rc.d
,chkconfig
atau alat favorit Anda.sumber
dpkg-reconfigure iptables-persistent
.Masalah ini mungkin terkait dengan bit izin skrip Anda. Apa output dari perintah ini? Apakah ini termasuk file Anda?
sumber
(date; set; echo) >> /tmp/iptables-cmd.log
, sehingga Anda akan melihat kapan ia dipanggil. Saya selalu mencetak lingkungan untuk memeriksa setiap argumen yang lewat di sana. Anda mungkin memutuskan untuk menjalankan iptables hanya setelah antarmuka eth * terakhir selesai, alih-alih menjalankannya setiap kali antarmuka ditambahkan.interfaces
saya melihat bahwa Anda tidak menggunakan ifupdown, tetapi manajer jaringan. Inilah sebabnya mengapa skrip Anda tidak dipanggil. Silakan periksa dokumen ini: ubuntuforums.org/showthread.php?t=1084308Mengapa tidak melakukannya dengan cara mudah?
1 - buat aturan iptables Anda
2 - jalankan "sudo apt-get install iptables-persistent" itu akan menanyakan apakah Anda ingin menyimpan aturan dan mengembalikannya setelah boot.
3- Anda DILAKUKAN
sumber