새로운 연결 시도 시 iptables가 명령/스크립트를 실행하도록 합니다.

새로운 연결 시도 시 iptables가 명령/스크립트를 실행하도록 합니다.

iptables 새로운 연결 시도에서 명령이나 스크립트를 실행하는 방법은 무엇입니까?

필요하다:

(서버 인터페이스 eth0) ---> (서버 인터페이스 eth0) 입력 테이블로 전송된 외부 패킷이 포트 22에서 수신된 새 패킷을 감지했습니다. --> iptables 실행 명령 또는 스크립트

지금까지 나는 예를 들어 이렇게 생각합니다.

iptables -A INPUT -i eth0 -p tcp --dport 22 -s xxx.xxx.xxx.xxx/24 -d xxx.xxx.xxx.xxx/32 -m state --state NEW (then do something here like run a script or command (but how?) ) -j ACCEPT

비슷한 질문에 대한 두 가지 답변을 더 읽으십시오.

IPTABLES 포트 액세스를 기반으로 셸 스크립트를 실행해 보세요.

답변1

iptables그런 능력은 없는 것 같아요 . 내 생각에 가장 좋은 방법은 다음과 같습니다.

  1. iptables( )에 대한 -j LOG --log-prefix "NEW_CONN_ATTEMPT "특수 로깅 설정
  2. 모니터링 로그tail
  3. 일치하는 항목이 발견되면 명령 실행

2와 3의 경우 다음과 같은 oneliner가 트릭을 수행합니다.

tail -f /var/log/firewall.log | awk '/NEW_CONN_ATTEMPT/ {system("/usr/local/bin/script.sh")}'

관련 정보