Natables 라우팅 결정 단계

Natables 라우팅 결정 단계

아래 링크는 크로스체인 패킷 흐름을 설명하는 이미지입니다.nftables

웹 필터 후크

한 가지 빼고는 다 이해합니다. 이미지에서는 현재 단계가 무엇인지 알 수 없습니다 routing decision.

이미지에 따르면 이 작업은 두 곳에서 수행되어야 합니다.

  1. 후크 후 , prerouting전과 inputforward
  2. output패킷이 localhost 프로세스를 떠날 때 후크하기 전에

위의 첫 번째 지점은 그 뒤에 2개의 가능한 후크가 있으므로 의미가 있지만 prerouting지점 2의 경우 유일한 스트리밍 옵션이 로컬 프로세스에서 수행되므로 수행할 라우팅 결정이 명확하지 않으므로 output라우팅 결정이 있어서는 안 됩니다. 하나 있다고 합니다.

이로 인해 라우팅 결정은 위의 1번 항목에만 있다고 믿게 됩니다. 이미지가 사이에 노드 후크를
지정하는 이유는 무엇입니까?routing decisionlocal processoutput

SNAT이는 postrouting후크에서 수행되며 "라우팅 후 로컬 시스템을 떠나기 전에 모든 패킷을 확인"하는 문서에 따라 수행되지만
질문은 어떤 라우팅입니까? 이미지를 기반으로 2개의 라우팅 결정이 있기 때문입니다.

그런데. "라우팅 결정"(이미지의 노드)이란 무엇입니까 ? and Hook 에서 이루어지기 때문에 NAT그렇지 않은 것 같습니다 .NATpreroutingpostrouting

답변1

이미지가 정확합니다.

라우팅은 한 번만 수행됩니다. Local Process출발지 또는 목적지이므로 패킷 흐름은 라우팅 결정을 한 번만 거치게 됩니다. 두 번째 지점의 경우 프로세스는 다음과 같이 진행됩니다.

  • 로컬 프로세스
  • 라우팅 결정
  • 산출
  • 포스트 라우팅
  • 출구
  • 운전기사가 보낸다

이 이전에는 아무것도 없으므로 라우팅 결정만 거치게 됩니다. 이 경우 라우팅 결정은 패킷을 보낼 IP 주소와 사용할 인터페이스를 선택하는 것을 의미합니다. 1.1.1.1로 패킷을 보내려면 다음을 수행해야 합니다.

$ ip r get 1.1.1.1
1.1.1.1 via 192.168.1.1 dev wlp0s20f3 src 192.168.1.254 uid 1000 
    cache 

따라서 패킷(srcip: 192.168.1.254, dstip: 1.1.1.1)을 Wi-Fi 인터페이스 wlp0s20f3의 192.168.1.1로 보내겠습니다. 이것을 선택하면 snat을 수행하려면 IP 헤더 소스 IP를 변경할 수 있습니다.

관련 정보