iptables에서 문자열을 한 체인에서 다른 체인으로 이동하는 방법은 무엇입니까?

iptables에서 문자열을 한 체인에서 다른 체인으로 이동하는 방법은 무엇입니까?

이것이 내가 하고 싶은 일이다.

내 규칙 파일( 과 함께 사용됨 iptables-restore)에는 다음이 있습니다(제한 사항이 제거됨).

-4 -A LOGDROP -j LOG --log-prefix "ipt:4:drop "
-6 -A LOGDROP -j LOG --log-prefix "ipt:6:drop "
   -A LOGDROP -j DROP

나는 모든 체인이 끝날 때마다 같은 말을 반복하고 싶지 않습니다. 그러니 다른 체인에 뛰어들면 좋을 것 같아요~에서LOGDROP문자열을 체인 에 조립할 수 있도록 이미 문자열을 설정할 수 있습니다 log-prefix.

이것을 달성할 수 있는 방법이 있나요?

답변1

좋은 생각. 이는 변수를 생성하여 모든 패킷에 추가하는 것을 의미합니다. 나는 그것이 가능하다는 것을 몰랐습니다. 하지만 모든 희망이 사라지지는 않습니다. 비슷한 것을 달성할 수 있는 방법이 있을 수도 있습니다.

MARK 대상을 사용할 수 있습니다.

iptables -A INPUT -j MARK --set-mark 123

Netfilter는 32비트 필드를 각 패킷과 연결합니다. 해당 값은 LOG 대상과 함께 기록됩니다. 그런 다음 로그에서 문자열 MARK=0x7b(7B = 123) 을 grep할 수 있습니다. iptbles 규칙에서 이 태그를 추가로 일치시키려면 match를 사용하여 완료할 수 있습니다 mark.

그렇다면 문자열만큼 좋지는 않지만 귀하의 요구에 적합할 수 있습니까?

편집: 또는 --and-mark, 또는 를 사용하여 하나 이상의 특정 비트만 설정/설정 해제 할 수도 있습니다 . 이렇게 하면 연결 문자열과 동일하게 패킷을 표시할 수 있는 다양한 가능성이 제공됩니다.--or-mark--xor-mark--set-mark val/mask

이 문서는 다음 위치에 있습니다.웹 필터 페이지하단 섹션에서 대상에 대해(정확히 일치하는 확장자(-m)가 동일한 이름을 가지며 동일한 페이지에 문서화되어 있습니다.)

관련 정보