나는 ipset 항목의 시간 초과를 업데이트하는 방법을 알아내려고 노력해 왔지만 지금까지는 운이 없었습니다. 기본 ipset을 사용할 때 간단히 다음을 사용했습니다.
$ ipset add foo 192.168.0.5 timout N -exist
하지만 방화벽은 꽤 유용하고 일반적인 매뉴얼(man)에 따라 이 기능을 구현하지 않는 것 같습니다. ip2ban은 방화벽 ipset 구현을 우회하고 기본적으로 사용하는 것 같아서 시도했지만 성공하지 못했습니다.
IPset 생성:
$ ipset create foo hash:ip timeout 300
직접 규칙:
$ firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p TCP -m multiport --dports 22,443 -m set --match-set foo src -j ACCEPT
$ ipset add foo 192.120.11.1
https 요청 및 SSH 연결 시도가 호스트에 대한 경로 없이 삭제됩니다. 방화벽을 비활성화하자마자 요청 전송 및 SSH 연결에 성공할 수 있습니다.
- 저는 기본 영역을 사용하고 있습니다.
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Firewall-cmd --direct --get-all-rules: ipv4 필터 INPUT 0 -p TCP -m multiport --dports 22,443 -m set --match-set foo src -j ACCEPT
내가 뭘 잘못하고 있는 걸까요? 방화벽으로 이게 가능할까요?
미리 감사드립니다