iptables 및 RETURN 대상

iptables 및 RETURN 대상

RETURNiptables 명령에서 대상의 역할을 이해하지 못합니다 .

여기서부터 의문이 생긴다가이드그것은 말한다:

체인은 패킷을 순서대로 확인하는 규칙 집합입니다. 패킷이 이러한 규칙 중 하나와 일치하면 관련 작업을 수행하고 체인의 나머지 규칙과 비교하여 확인되지 않습니다.

따라서 패킷이 규칙과 일치하고 다른 규칙 확인을 중지하는 경우 해당 패킷이 왜 필요합니까 RETURN?

예를 들어 인터넷에서 다음과 같은 내용을 찾았습니다.

iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j MARK --set-mark 30;
iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j RETURN;

왜 필요한가요 RETURN? 패킷이 첫 번째 규칙과 일치하면 다른 규칙 실행이 자동으로 중지됩니다.

답변1

ACCEPT패킷은 , 또는 에 DROP도달 할 때까지 체인을 통과합니다 . 경기에 종료 조치가 포함되지 않는 한 경기 중에는 멈추지 않습니다. 귀하의 예에서는 첫 번째 규칙과 일치하는 패킷이 표시되지만 두 번째 규칙에 의해 검사(및 처리될 수 있음)됩니다.REJECTRETURN

참고용으로 관련 부분은 다음과 같습니다.매뉴얼 페이지:

방화벽 규칙은 패킷과 대상에 대한 기준을 지정합니다. 패킷이 일치하지 않으면 체인의 다음 규칙이 확인됩니다. 일치하면 다음 규칙은 사용자 정의 체인의 이름 또는 특수 값 중 하나일 수 있는 대상 값으로 지정됩니다 ACCEPT. DROP, REJECT] QUEUE, 또는 RETURN.

  • ACCEPT패킷을 통과시키라는 의미입니다.
  • DROP패킷을 바닥에 떨어뜨렸음을 나타냅니다. 즉, 패킷을 버리고 응답을 보내지 않음을 나타냅니다.
  • [ REJECT일치하는 패킷에 대한 응답으로 오류 패킷을 다시 보내는 데 사용됩니다. 그렇지 않으면 DROPTARGET을 종료하고 규칙 순회를 종료하는 것과 같습니다. ]
  • QUEUE패킷을 사용자 공간으로 전달하는 것을 의미합니다.
  • RETURN체인 순회를 중지하고 이전(호출) 체인의 다음 규칙에서 다시 시작하는 것을 의미합니다. 체인 정책에 의해 지정된 대상은 내장 체인의 끝에 도달하거나 대상이 있는 내장 체인의 규칙이 일치하는 경우 RETURN패킷의 운명을 결정합니다 .

귀하의 구체적인 우려 사항에 대해 다음과 같이 말씀드리고 싶습니다.당신의 가이드오해의 소지가 있습니다. "상관 작업"이 5가지 터미널 작업 중 하나가 아닌 한, 패킷은 RETURN마지막에 암시적 작업에 도달할 때까지 체인을 통해 계속 흐릅니다 .

관련 정보