tra-loi-cau-hoi-phat-trien-web.com

Cách chính xác để mở một loạt các cổng trong iptables là gì

Tôi đã đi qua các bài viết tư vấn cho sau:

iptables -A INPUT -p tcp 1000:2000 -j ACCEPT

Và những người khác nói rằng những điều trên sẽ không hoạt động và iptables chỉ hỗ trợ nhiều khai báo cổng với --multiport Lựa chọn.

Có một cách chính xác để mở nhiều cổng với iptables?

59
Paul Whalley

Đây là cách chính xác:

iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT

Làm ví dụ Nguồn tại đây .

62
Nathan C

Những gì bạn đã nói là đúng, mặc dù bạn đã viết sai (bạn đã quên --dport).

iptables -A INPUT -p tcp --dport 1000:2000 sẽ mở lưu lượng truy cập trong nước tới TCP bao gồm các cổng 1000 đến 2000.

-m multiport --dports chỉ cần thiết nếu phạm vi bạn muốn mở không liên tục, ví dụ -m multiport --dports 80,443, sẽ mở HTTP và HTTPS chỉ - không phải cái ở giữa.

Lưu ý rằng việc sắp xếp các quy tắc là quan trọng và (như Iain ám chỉ trong nhận xét của anh ấy ở nơi khác) công việc của bạn là đảm bảo rằng bất kỳ quy tắc nào bạn thêm vào đều ở nơi có hiệu lực.

57
MadHatter

TL; DR nhưng ...

Phạm vi cổng thuần không có mô đun đa lõi: iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

Ví dụ đa bội tương đương: iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT

... và biến thể về đa cổng với nhiều phạm vi (vâng, điều này cũng có thể): iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT

... và ví dụ đa phạm vi đa cổng tương đương với phủ định: iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT

Có phun.

11
BloodMan

Theo man iptables-extend, bạn có thể xác định phạm vi cổng chỉ bằng cách sử dụng khóa chuyển đổi --dport.

tcp
[.___.] Những tiện ích mở rộng này có thể được sử dụng nếu `--protatio tcp 'được chỉ định. Nó cung cấp các tùy chọn sau:
[.__.] [!] --destination-port, - cổng dport [: port]

Cổng đích hoặc cổng đặc tả phạm vi . Cờ --dport là một bí danh thuận tiện cho tùy chọn này.

Vì vậy, đây cũng là chỉ định một phạm vi cổng:
[.__.] iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

0
starvis