tetap melakukan perutean port dari 80 hingga 8080


23

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?

Jawaban:


18

Anda dapat menambahkan perintah ini /etc/rc.local, sehingga akan dieksekusi secara otomatis setelah reboot.


Sudah melakukannya, tapi tetap terima kasih atas jawabannya
Ph0en1x

selamat datang teman saya, itu trik yang bagus
nux

2
Ini berfungsi, tetapi jawaban sebenarnya adalah jawaban @ MeOMy di bawah ini.
Dirk Groeneveld

15

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.


1
berlari "sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080" dan "sudo iptables-save". Tetapi perutean diatur ulang saat reboot. Apakah saya salah paham bagaimana melakukan ini?
gromit190

2
Jawabannya tidak lengkap. iptables-save > some-file-pathmenyimpan aturan, dan kemudian Anda akan mengembalikan mereka melalui iptables-restore < some-file-pathdi rc.local. Atau instal iptables-persistentyang melakukan ini saat boot sebagai layanan.
Thomas Ward

Saya ingin mengerti bagaimana melakukan ini. Lebih spesifik, tolong
gromit190

4

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.


Kudos untuk menggunakan metode yang direkomendasikan secara resmi dan, dalam hal ini, metode paling sederhana, untuk menyelesaikan tugas ini. Saya akan +2 jika saya bisa untuk menggunakan metode KISS.
DeeJayh

0

Saya menemukan serangkaian direktori pada Ubuntu 16.04 /etc/networkyang akan menjalankan skrip pada berbagai waktu selama inisialisasi dan penutupan jaringan:

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

Jadi saya menemukan bahwa saya dapat membuang konfigurasi seperti biasa:

$ sudo sh -c "iptables-save > /etc/iptables.rules"

Kemudian saya membuat file `/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... dan menandainya dapat dieksekusi

$ sudo chmod 755 /etc/network/if-pre-up.d/restore
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.