iptables 및 RETURN 대상


16

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가요? 패킷이 첫 번째 규칙과 일치하면 다른 규칙 실행이 자동으로 중지됩니다.

답변:


33

그들이 공격 할 때까지 패킷은 체인을 통과 ACCEPT, DROP, REJECT, 또는 RETURN. 해당 경기에 종료 조치가 포함되어 있지 않으면 경기에서 중단되지 않습니다. 예를 들어, 첫 번째 규칙과 일치하는 패킷이 표시되지만 두 번째 규칙에서 검사 (및 처리 가능)됩니다.

순전히 참조를 위해 맨 페이지 의 관련 섹션은 다음과 같습니다.

방화벽 규칙은 패킷 및 대상에 대한 기준을 지정합니다. 패킷이 일치하지 않으면 체인의 다음 규칙이 검사됩니다. 일치하는 경우 다음 규칙은 대상 값으로 지정되며, 이는 사용자 정의 체인의 이름 또는 특수 값 ACCEPT, DROP[, REJECT] QUEUE또는 RETURN입니다.

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

귀하의 특정 우려에 부응하여 귀하의 가이드가 오도되었다고 말합니다. "연관된 동작"이 5 개의 터미널 동작 중 하나가 아닌 한, 패킷은 RETURN끝에서 암시 적으로 도달 할 때까지 체인을 통해 계속 흐릅니다 .


가능하다면이 답변을 두 번 이상 찬성했습니다.
JakeRobb

사용자 정의 체인에 대한 기본 조치는 RETURN입니다.
stark

@stark가 마지막 문장이 아닌가?
roaima

1
아, 이제 DROP을 더 잘 이해합니다. 이 책상 아래에 다리 공간이없는 이유를 설명합니다.
Jonathan Neufeld
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.