
라우팅이 구성되어 있습니다.
# 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/ip
25555가 작동하도록 출력 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