iptables: 일반 컨텍스트

iptables: 일반 컨텍스트

iptables-rules에서 컨텍스트/상태를 얻는 방법을 찾고 있습니다. 나는 여기서 컨퍼런스의 맥락(신규, 기존...)에 대해 말하는 것이 아닙니다.

예를 들어

Request to port 80                  => PASS + set CONTEXT to 1
Request to port 88 and CONTEXT is 1 => PASS

따라서 이 메커니즘은 과거에 대한 단순한 기억입니다.

기존 확장으로 이 작업을 수행할 수 있나요?

답변1

이것recent매칭( iptables매칭은 매우 비표준적이므로 정보를 확인하거나 변경하는 데 사용될 수 있음)은 다음과 같은 목적으로 사용될 수 있습니다.

iptables -A INPUT -p tcp --dport 80 -m recent --set --name contextA -j ACCEPT
iptables -A INPUT -p tcp --dport 88 -m recent --rcheck --name contextA -j ACCEPT

--secondsoptions 을 사용하거나 options 와 함께 추가 규칙을 사용하는 것을 포함하여 더 많은 배관 작업이 지금 확실히 필요합니다. --remove그렇지 않으면 "컨텍스트"가 영원히 동일하게 유지됩니다. 그것은 모두 당신이 추구하는 실제 목표에 달려 있습니다.

더 복잡한 설정을 위해서는 iptables다음을 사용하세요 .ipset사용set일치하고SETtarget이 도움이 될 수 있습니다(target의 상위 집합입니다 recent).

포트 노킹에 이 기능이 필요한 경우 특정 방법이 있습니다.pknock경기 가능xtables-addons(일반적으로 외부 커널 모듈과 함께 제공되므로 컴파일이 필요함) 다음과 같은 도구도 고려하십시오.fwknop.

관련 정보