Saya menggunakan contoh amazon EC2 yang berfungsi via ubuntu. Secara default sesuai batasan keamanan, saya tidak bisa membuang aplikasi saya ke port 80, jadi saya hanya mengikatnya port 8080 dan kemudian mengatur routing redirect dari port 80 ke 8080 melalui perintah berikut:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
Tetapi saya menemukan bahwa ketika saya reboot server pengaturan ini tidak lagi aktif sampai saya memohon perintah ini lagi.
Jadi pertanyaan saya adalah bagaimana cara mengaktifkan pekerjaan pengalihan port bahkan jika sistem reboot?
Gunakan perintah iptables-save sebagai gantinya. Aturan firewall tidak boleh masuk ke skrip rc.local. rc.local adalah hal terakhir yang harus dieksekusi. Jika aturan blok telah ditempatkan di rc.local ada kerangka waktu kecil di mana penyerang dapat mengeksploitasi aturan yang tidak ada. Meskipun mungkin tidak masalah dengan situasi ini, tetap saja tidak menjadi kebiasaan buruk yang mungkin menggigit Anda nanti.
sumber
iptables-save > some-file-path
menyimpan aturan, dan kemudian Anda akan mengembalikan mereka melaluiiptables-restore < some-file-path
dirc.local
. Atau instaliptables-persistent
yang melakukan ini saat boot sebagai layanan.Berikut ini cara dokumentasi ipttable resmi mengajar kami. Lihat disini
Tambahkan dua baris ini di / etc / network / interfaces:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules
Baris "post-down iptables-save> /etc/iptables.rules" akan menyimpan aturan yang akan digunakan pada boot berikutnya.
sumber
Saya menemukan serangkaian direktori pada Ubuntu 16.04
/etc/network
yang akan menjalankan skrip pada berbagai waktu selama inisialisasi dan penutupan jaringan:Jadi saya menemukan bahwa saya dapat membuang konfigurasi seperti biasa:
Kemudian saya membuat file `/etc/network/if-pre-up.d/restore:
... dan menandainya dapat dieksekusi
sumber