출력 패킷을 표시하고 IP 규칙이 이를 볼 수 있도록 하는 방법은 무엇입니까?

출력 패킷을 표시하고 IP 규칙이 이를 볼 수 있도록 하는 방법은 무엇입니까?

라우팅이 구성되어 있습니다.

# ip rule

0:      from all lookup local
25555:  from all fwmark 0x3000 lookup main
32766:  from all lookup another
32767:  from all lookup default

curl http://ifconfig.io/ip25555가 작동하도록 출력 HTTP 요청(예: )을 0x3000으로 표시하려고 합니다 .

# iptables -A OUTPUT -t mangle -p tcp --dport 80 -j MARK --set-mark 0x3000

하지만 작동하지 않습니다. 내가 무엇을 놓치고 있나요?

답변1

라우팅 코드가 fwmark 규칙을 전혀 트리거하려면 기본 경로가 필요하다는 것이 밝혀졌습니다. 그렇지 않으면 패킷이 생성되지 않고 직접 "네트워크에 연결할 수 없습니다"가 발생합니다.

규칙 목록 끝 부분에 기본 경로를 추가하여 이 이상한 규칙을 해결했습니다.

ip route add default via 127.0.0.1 dev lo table 4222222222
ip rule add table 4222222222 priority 4294967295

관련 정보