Membatalkan penerusan porta

16

Saya perlu semua permintaan ke port 80 untuk diteruskan ke 8020. Saya mencari di Google dan saya mendapat:

iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

Sekarang di masa depan jika saya harus membatalkannya, apa yang harus saya lakukan (selain memulai ulang sistem)?

raj
sumber

Jawaban:

14

Hapus saja aturannya:

iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
basvdlei
sumber
18

Saya merasa sulit untuk sepenuhnya membangun kembali aturan iptable ketika saya ingin menghapusnya. Instaed Saya daftar aturan dengan nomor baris dan kemudian hapus dengan nomor. Sebagai contoh:

iptables -t nat -L --line-numbers

Memberikan output seperti:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 8020 

Kemudian untuk menghapus dengan nomor:

iptables -t nat -D PREROUTING 1

Peringatan: Ketika Anda menghapus satu baris, semua baris di bawah ini akan mendapatkan nomor baris baru. Misalnya, jika Anda memiliki aturan seperti:

1 rule A
2 rule B
3 rule C

dan Anda menghapus aturan 2, maka Anda mendapatkan:

1 rule A
2 rule C
brainsik
sumber
Jawaban ini jauh lebih bermanfaat daripada jawaban yang diterima, terima kasih atas penulisan @brainsik
rjhilgefort
0

Saya bertanya-tanya apakah menggunakan vim akan menjadi pilihan

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme
AlexanderN
sumber
0

Anda juga dapat menghapus seluruh aturan penerusan port menggunakan kode ini

sudo iptables -P FORWARD DROP
Shinto Joseph
sumber