Hoàn tác chuyển tiếp cổng


16

Tôi cần tất cả các yêu cầu tới cổng 80 để được chuyển tiếp đến 8020. Tôi đã lấy nó và tôi đã nhận được:

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

Bây giờ trong tương lai nếu tôi phải hoàn tác thì tôi phải làm gì (ngoài việc khởi động lại hệ thống)?

Câu trả lời:


14

Chỉ cần xóa quy tắc:

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

18

Tôi thấy nó là một nỗi đau để xây dựng lại hoàn toàn quy tắc iptable khi tôi muốn xóa nó. Tôi đã liệt kê các quy tắc với số dòng và sau đó xóa theo số. Ví dụ:

iptables -t nat -L --line-numbers

Cung cấp đầu ra như:

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 

Sau đó để xóa theo số:

iptables -t nat -D PREROUTING 1

Hãy cẩn thận: Khi bạn xóa một dòng, tất cả các dòng dưới đây sẽ nhận được một số dòng mới. Ví dụ: nếu bạn có các quy tắc như:

1 rule A
2 rule B
3 rule C

và bạn xóa quy tắc 2, sau đó bạn nhận được:

1 rule A
2 rule C

Câu trả lời này hữu ích hơn nhiều so với câu trả lời được chấp nhận, cảm ơn vì đã viết lên @brainsik
rjhilgefort

0

Tôi tự hỏi nếu sử dụng vim sẽ là một lựa chọn

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme

0

Bạn cũng có thể loại bỏ toàn bộ quy tắc chuyển tiếp cổng bằng mã này

sudo iptables -P FORWARD DROP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.