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


56

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 --multiporttùy chọn.

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


Câu trả lời:


60

Đâ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 ở đây .


5
Nếu bạn không biết trạng thái của bộ quy tắc -Icó phần an toàn hơn -A.
user9517 hỗ trợ GoFundMonica

@Iain, bạn có thể vui lòng giải thích lý do đằng sau đó?
jayhendren

2
@jayhendren nhiều quy tắc sẽ có quy tắc loại bỏ mọi thứ mặc định, ví dụ -A INPUT -j REJECT --reject-with icmp-host-prohibitedở cuối INPUT và các bảng khác. Sử dụng -Athêm quy tắc ở cuối bảng, sau quy tắc cuối cùng để nó không bao giờ được coi là bộ lọc mạng hoạt động trên cơ sở trận đấu đầu tiên sẽ thắng. Sử dụng -Ichèn quy tắc ở đầu bảng và vì vậy nó sẽ luôn được xem xét.
user9517 hỗ trợ GoFundMonica

4
@ Tuy nhiên, một số bộ quy tắc cũng có các quy tắc ngay từ đầu để lọc hoặc phê duyệt các gói, vì vậy, đáng để chỉ ra rằng -Ikhông phải lúc nào cũng an toàn hơn nếu bạn không biết quy tắc.
jayhendren

3
@jayhendren Mình nghĩ bạn vừa làm và cũng lưu ý tôi nói có phần không phải lúc nào cũng vậy .
user9517 hỗ trợ GoFundMonica

54

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ở ra lưu lượng truy cập vào các cổng TCP bao gồm 1000 đến 2000.

-m multiport --dportschỉ cần thiết nếu phạm vi bạn muốn mở là không liên tục, ví dụ -m multiport --dports 80,443, mà sẽ mở ra HTTP và HTTPS chỉ - không phải là những ở 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.


1
Tôi cũng có thể ám chỉ ở đây nếu bạn muốn;)
user9517 hỗ trợ GoFundMonica

1
Hee hee hee! Tiếp tục, sau đó, thông điệp có giá trị lặp lại!
MadHatter

2
Đây là câu trả lời chính xác; nó là triệt để hơn.
Andrew Kozak

10

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.

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.