답변1
나는 Linux 커널 네트워킹과 Netfilter의 소스 코드를 이해한다고 주장하지 않지만 그것이 내가 이해하는 것입니다.
라우팅 구성이 iptables 프로세스의 일부입니까? 짧은 대답은 '예'입니다. 더 긴 답변은 아래를 참조하세요.
아래 그림의 "라우팅 결정"은 "iproute" 라우팅 테이블로 구성되어 있습니까? 짧은 대답은 '예'입니다. 더 긴 답변은 아래를 참조하세요.
"iptables"는 Netfilter와 해당 Hook을 구성하는 명령인 것으로 생각되므로 iptables 대신 Netfilter에 대해 설명하겠습니다.
"ip Route add"를 사용하여 구성된 경로는 커널 네트워크 라우팅 테이블로 들어가고 그림의 "라우팅 결정"은 커널 네트워크 라우팅 테이블을 사용합니다. 아래 이미지를 보시면협회, 게시한 다이어그램의 더 자세한 버전을 찾을 수 있습니다. 다이어그램에 표시된 것처럼 "라우팅 결정"은 프로세스 내에서 발생하므로 Netfilter 프로세스의 일부로 나타납니다. 그러나 기술적인 내용을 알고 싶다면 범례의 색상 코딩을 기반으로 "라우팅 결정"이 실제로 NF(Netfilter)의 일부가 아니라 "기타 네트워크"의 일부라는 것을 알 수 있습니다. 여전히 "프로세스"의 일부로 간주하는지 결정하도록하겠습니다.
인터페이스를 구성할 때 자동으로 생성되는 로컬 경로와 같이 "ip 경로 추가"가 추가하는 것보다 커널 네트워크 라우팅 테이블에 더 많은 것이 있다는 점에 유의하십시오. A는 ip route show table all
이러한 추가 경로 중 일부를 보여줄 수 있습니다.
나는 "라우팅 결정"이 명령에서 얻은 라우팅 응답과 관련이 있다고 믿습니다 ip route get
. 명령의 매개변수에 적절한 값을 사용한다고 가정합니다(일부 네트워크 값이 변경되었을 수 있으므로(예: DNAT 항목이 대상 주소를 변경함) NF 흐름의 위치를 기준으로 함)
ip route get ROUTE_GET_FLAGS ADDRESS [ from ADDRESS iif STRING ] [ oif STRING ] [ mark MARK ] [ tos TOS ] [ vrf NAME ] [ ipproto PRO‐ TOCOL ] [ sport NUMBER ] [ dport NUMBER ]
네트워크 네임스페이스는 사용되는 커널 네트워크 테이블과 통과되는 Netfilter 규칙에 영향을 미칠 수 있습니다.