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
비슷한 질문에 대한 두 가지 답변을 더 읽으십시오.
답변1
iptables
그런 능력은 없는 것 같아요 . 내 생각에 가장 좋은 방법은 다음과 같습니다.
iptables
( )에 대한-j LOG --log-prefix "NEW_CONN_ATTEMPT "
특수 로깅 설정- 모니터링 로그
tail
- 일치하는 항목이 발견되면 명령 실행
2와 3의 경우 다음과 같은 oneliner가 트릭을 수행합니다.
tail -f /var/log/firewall.log | awk '/NEW_CONN_ATTEMPT/ {system("/usr/local/bin/script.sh")}'