요약:
내 질문은 네트워크 스택의 태그가 지정된 패킷 흐름에 관한 것입니다.
내가 한 일은 다음과 같습니다.
- OUTPUT 체인을 사용하여 맹글 테이블에 패킷을 표시했습니다.
- 또한 tun 인터페이스와 새로운 라우팅 테이블을 추가했습니다.
ip rule
생성된 라우팅 테이블을 태그된 패킷이 사용하도록 규칙(사용)도 추가했습니다 .
이제 내 질문은 다음과 같습니다.
문제를 설명하기 전에 내 설정이 작동하고 있다는 점을 언급해야 합니다. 이는 어떻게 작동하는지에 대한 질문이 아니라 어떻게 작동하는지에 대한 질문입니다. :)
여기에 묘사된 그림에 따르면기사, 로컬 프로세스의 패킷이 먼저 라우팅된 다음 넷필터의 OUTPUT 체인으로 들어갑니다. 이는 라우팅 프로세스가 완료된 후에 패킷이 표시됨을 의미합니다.그렇다면 데이터 패킷은 어떻게 tun 인터페이스에 도달합니까?
- 하나의 인터페이스를 종료하고 다른 인터페이스로 들어가는 것을 의미합니까?
- 모든 일이 로컬에서 발생합니까?
- 아니면 완전히 다른 것인가요?
이것은 내가 사용한 명령입니다:
# 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.