Linux 네트워크 스택의 태그가 지정된 패킷 흐름

Linux 네트워크 스택의 태그가 지정된 패킷 흐름

요약:

내 질문은 네트워크 스택의 태그가 지정된 패킷 흐름에 관한 것입니다.

내가 한 일은 다음과 같습니다.

  • OUTPUT 체인을 사용하여 맹글 테이블에 패킷을 표시했습니다.
  • 또한 tun 인터페이스와 새로운 라우팅 테이블을 추가했습니다.
  • ip rule생성된 라우팅 테이블을 태그된 패킷이 사용하도록 규칙(사용)도 추가했습니다 .

이제 내 질문은 다음과 같습니다.

문제를 설명하기 전에 내 설정이 작동하고 있다는 점을 언급해야 합니다. 이는 어떻게 작동하는지에 대한 질문이 아니라 어떻게 작동하는지에 대한 질문입니다. :)

여기에 묘사된 그림에 따르면기사, 로컬 프로세스의 패킷이 먼저 라우팅된 다음 넷필터의 OUTPUT 체인으로 들어갑니다. 이는 라우팅 프로세스가 완료된 후에 패킷이 표시됨을 의미합니다.그렇다면 데이터 패킷은 어떻게 tun 인터페이스에 도달합니까?

  1. 하나의 인터페이스를 종료하고 다른 인터페이스로 들어가는 것을 의미합니까?
  2. 모든 일이 로컬에서 발생합니까?
  3. 아니면 완전히 다른 것인가요?

이것은 내가 사용한 명령입니다:

# ip commands
ip tuntap add mode tun dev testtun
ip addr add 10.20.30.40/24 dev testtun
echo "20 test" >> /etc/iproute2/rt_tables
ip link set dev testtun up
ip route add default via 10.20.30.1 table test
ip rule add fwmark 12 table tes

# iptables command:
iptables -t mangle -A OUTPUT -m cgroup --cgroup 0x10f2c -j MARK --set-mark 12

나는 net_cls 컨트롤러와 cgroups v1을 사용하여 classid가 0x10f2c인 프로세스를 격리하고 있습니다. 다시 말씀드리지만, 이 설정은 작동하고 있으며 제가 원하는 것을 구현했는데 막혔습니다.어때요?부분.

이 질문에 대한 도움을 주시면 감사하겠습니다 <3.

관련 정보