Một giao thức = tất cả dòng không hoạt động trong trường hợp của tôi.
Nó phụ thuộc vào hành động cấm bạn sử dụng.
Bạn có ý nghĩa gì khi "không hoạt động"?
Đối với các hành động (như iptables-allports chấp nhận tất cả các) có thể đủ để thiết lập theo cách này, cho hành động khác (chấp nhận nhiều giao thức, như nftables), nó có thể được thiết lập với giao thức = tcp,udp (hoặc bất kỳ dấu phân cách nào họ cần thay vì dấu phẩy).
Đối với các hành động không chấp nhận nhiều giao thức (như iptables-multiport) người ta cần chỉ định 2 hành động, đây là một ví dụ hoạt động cho các phiên bản fail2ban mới nhất - https://github.com/fail2ban/fail2ban/blob/10cd81552538fa950cefc32787b9f82b5ee1b998/config/jail.conf#L748-L749
Đối với các phiên bản fail2ban cũ hơn không chấp nhận phép nội suy của %(default/action_)s hoặc nhiều tham số [...][...] bạn cần phải thiết lập một cái gì đó như thế này:
hành động = %(action_)s[name=%(__name__)s-tcp, giao thức="tcp"]
%(action_)s[name=%(__name__)s-udp, giao thức="udp"]
(hoặc bằng fail2ban 0.9.x thậm chí thay thế %(action_)s với nó toàn bộ định nghĩa từ phần mặc định):
hành động = %(banaction)s[name=%(__name__)s-tcp, tên hành động=%(__name__)s-tcp, giao thức="tcp", cổng="%(cổng)s", chuỗi="%(chuỗi )S"]
%(banaction)s[name=%(__name__)s-udp, tên hành động=%(__name__)s-udp, giao thức="udp", cổng="%(cổng)s", chuỗi="%(chuỗi)s "]