태그 보관물: linux

linux

iptables에서 OUTPUT과 FORWARD 체인의 차이점은 무엇입니까? 체인의 규칙에 따라 점검됩니다.

CentOS 6.0

나는 iptables를 공부하고 있으며 FORWARD와 OUTPUT 체인의 차이점에 혼란스러워지고 있습니다. 교육 문서에는 다음과 같이 명시되어 있습니다.

체인을 추가 (-A)하거나 삭제 (-D)하는 경우 다음 세 방향 중 하나로 이동하는 네트워크 데이터에 적용하려고합니다.

  • 입력-모든 수신 패킷은이 체인의 규칙에 따라 점검됩니다.
  • 출력-모든 발신 패킷은이 체인의 규칙에 따라 점검됩니다.
  • FORWARD-다른 컴퓨터로 전송되는 모든 패킷은이 체인의 규칙에 따라 점검됩니다.

내 마음에 호스트를 위해 떠나는 패킷이 나가기 때문에 이것은 혼란 스럽습니다. 패킷이 다른 컴퓨터로 가고 있지만 나가지는 않는 시나리오가 있습니까? iptables는 두 가지를 어떻게 구별합니까?



답변

OUTPUT은 호스트에서 생성 한 패킷을위한 것입니다. 대상은 일반적으로 다른 호스트이지만 루프백 인터페이스를 통해 동일한 호스트 일 수 있으므로 OUTPUT을 통과하는 모든 패킷이 실제로 발신되는 것은 아닙니다.

FORWARD는 호스트에서 방출되거나 호스트로 보내지지 않은 패킷을위한 것입니다. 이들은 호스트가 단순히 라우팅하는 패킷입니다.

패킷 맹 글링과 NAT를 파고 들기 시작하면 전체 내용이 다소 복잡해 집니다.


답변

내 이해에 :

입력 : dst IP가 호스트에 있으며 서브넷이 여러 개인 포트가 여러 개인 경우에도

출력 : src IP는 호스트 중 하나에서

앞으로 : 호스트의 dst IP 또는 호스트의 src IP

여기에 이미지 설명을 입력하십시오

예를 들어 라우터 A로

입력은 :

192.168.10.1-> 192.168.10.199

192.168.10.1-> 192.168.2.1

출력은 다음과 같습니다

192.168.10.199-> xxxx

192.168.2.1-> xxxx

앞으로 :

192.168.10.1-> 192.168.2.199

192.168.10.1-> 192.168.8.1

192.168.10.1-> 192.168.8.199


답변