Tôi đã chấp nhận giải pháp @sebres nhưng tôi muốn thêm một số lỗi.
Đối với lệnh cấm iptables-allports, loại khối từ chối có thể có khoảng trắng bên trong. Bạn cần trích dẫn điều đó.
Ví dụ:
[sshd]
banaction=iptables_allports[blocktype="REJECT --reject-with icmp-port-unreachable"]
Điều thú vị thứ hai: cả lệnh cấm và cấu hình tù đều có một tham số gọi là "giao thức". Lần đầu tiên tôi bối rối khi cấu hình bên dưới không đưa ra bất kỳ lỗi nào, nhưng nó không chặn các yêu cầu UDP:
[tên-ddos]
banaction=iptables_allports[blocktype=DROP,protocol=all]
Nó xảy ra bởi vì tôi đã bỏ lỡ giao thức = tất cả cài đặt từ nhà tù. Bạn cần chỉ định giao thức = tất cả ở cấp độ tù:
[tên-ddos]
banaction=iptables_allports[blocktype=DROP,protocol=all]
giao thức = tất cả
Lý do cho điều này là phần được đặt tên-ddos tạo ra một chuỗi mới trong iptables và các ip bị cấm đang tạo ra các quy tắc bên trong chuỗi đó. Nếu bạn không chỉ định giao thức = tất cả ở cấp độ tù, thì chuỗi sẽ được xác định như sau:
Chuỗi INPUT (chính sách DROP 22 gói, 952 byte)
pkts byte đích prot chọn không tham gia đích nguồn
1371 229K tên-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0
Đúng là lệnh cấm sẽ tạo ra các quy tắc với proto=all bên trong chuỗi, nhưng bản thân chuỗi sẽ không được sử dụng cho các gói không phải tcp. Kết luận là bạn cần chỉ định giao thức = tất cả ở cả cấp độ tù và lệnh cấm (nếu nó hỗ trợ), nếu không nó sẽ không hoạt động.