Iptables: Làm thế nào để chỉ cho phép một ip thông qua cổng cụ thể?


25

Làm cách nào tôi có thể trên máy chủ ubfox của mình, trong Iptables chỉ cho phép một địa chỉ IP trên một cổng cụ thể?

Cảm ơn

Câu trả lời:


48

Lót:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP  # if it's not 1.2.3.4, drop it

Một giải pháp thanh lịch hơn:

iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT  # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT  # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT  # allow 1.2.3.6
iptables -A xxx -j DROP  # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx  # use chain xxx for packets coming to TCP port 777

Bạn có biết tôi cũng nên thêm cái này vào OUTPUT không?
Anonymous12345

@Camran: bạn cần phải cụ thể hơn. Trong trường hợp cụ thể này, nếu bạn thay thế INPUTbằng OUTPUTbạn sẽ chặn một số gói được gửi bằng một số địa chỉ của chính máy chủ (và không được định tuyến / chuyển tiếp). Tôi nghi ngờ điều này có ý nghĩa, trừ khi có thể bạn muốn chặn các chương trình liên kết với một số giao diện cụ thể.
Cristian Ciupitu

1
Đừng quên bạn cũng có thể chỉ định các nguồn của mình trong một chuỗi như:--src 1.2.3.4/30
deed02392

Làm thế nào sau này tôi sẽ thêm một IP mới được phép vào chuỗi? Tôi có phải xóa DROP trước không, sau đó nhập người dùng mới và chèn lại DROP hoặc có giải pháp nào tốt hơn không?
maddo7

2
@Matthias:iptables -I xxx --src 7.8.9.10 -j ACCEPT
Cristian Ciupitu

0

Đây là một ví dụ từ một trong các hệ thống CentOS của tôi (địa chỉ đã bị xáo trộn):

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT

trên centos, nơi để làm cho cấu hình này vĩnh viễn? (trong Ubuntu, chúng tôi có thể sử dụng /etc/network/if-up.d/anyfile)
Kokizzu

trên CentOS là : service iptables save.
Martin Zeitler

0

Tôi sử dụng shorewall để cấu hình bảng IP. Sử dụng quy tắc như chấp nhận từ một máy chủ đến cổng 123.

CHẤP NHẬN ròng: 192.0.2.1 $ FW tcp 1234

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.