FORWARD 또는 OUTPUT 체인에 적용된 iptables 태그에서 정책 라우팅이 일관되지 않는 이유는 무엇입니까?

FORWARD 또는 OUTPUT 체인에 적용된 iptables 태그에서 정책 라우팅이 일관되지 않는 이유는 무엇입니까?

iptables나는 SSH 터널(-w)을 통해 HTTPS 연결을 라우팅하기 위해 태그와 규칙을 사용하고 있는데 iproute2, 이를 수행해야 하는 이유는 최소한 인위적인 것이므로 대부분의 대체 솔루션은 나에게 전혀 작동하지 않을 수 있습니다.

tun0 장치가 존재하고 원하는대로 작동하고 있으며 OUTPUT 체인에 MARK를 적용하면 라우팅이 작동하지만 어떤 이유로 FORWARD 체인에 MARK를 적용하면 라우팅 규칙이 작동하지 않는 것 같습니다.

운영 체제는 CentOS 6.7, 커널은 2.6.32, iptables는 1.4.7입니다. 표시 iptables및 기록:

# iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark 1 
# iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 1 
# iptables -t mangle -A POSTROUTING -m mark --mark 1 -j LOG --log-prefix "marked: "

규칙 iproute2설정:

# cat 201 tunneled >> /etc/iproute2/rt_tables
# ip rule add fwmark 1 table tunneled
# ip route add default via 192.168.100.1 dev tun1 table tunneled

로그의 작은 섹션에 결과가 표시됩니다.

Feb 17 19:11:35 nhopm kernel: marked: IN= OUT=eth0 SRC=192.168.82.2 DST=69.30.217.90 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=16734 DF PROTO=TCP SPT=34619 DPT=443 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 
Feb 17 19:12:00 nhopm kernel: marked: IN= OUT=tun1 SRC=192.168.81.8 DST=69.30.217.90 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=62747 DF PROTO=TCP SPT=55349 DPT=443 WINDOW=14600 RES=0x00 SYN URGP=0 MARK=0x1 

호스트에는 2개의 NIC( eth0192.168.81.8)가 있습니다. 여기서 192.168.81.1은 기본 게이트웨이이고 eth1192.168.82.8은 192.168.82.0/24의 기본 게이트웨이 역할을 합니다. 이 설정에는 문제가 없으며 예상대로 작동합니다. 터널 tun0의 맨 끝에는 192.168.100.1이 있습니다.

너무 자세히 설명하지 않고 문제를 설명하기 위해 가장 간단한 사례로 범위를 좁히려고 노력했지만 문제를 찾기 위해 가능한 한 많은 세부 정보를 제공했습니다. 콘텐츠에 도움이 될 수 있는 내용이 있으면 댓글로 문의해 주세요. 다행히 나는 그것이 어떻게 작동하는지에 대한 작은 부분을 오해하고 있습니다.

해결책

위의 작업을 수행하려는 시도는 다음 iptables순서도를 기반으로 합니다. iptables.info에서

이는 같은 그룹이라는 사실을 가린다.라우팅 결정FORWARD 체인의 패킷과 마찬가지로 OUTPUT 체인의 패킷에는 적용되지 않습니다.

이 작업을 수행하려면 FORWARD 체인의 완료된 태그를 PREROUTING 체인의 유사한 항목으로 교체해야 합니다.

iptables -t mangle -A PREROUTING -p tcp --dport 443 ! -d 192.168.0.0/16 -j MARK --set-mark 1

어쨌든, 이것은 실제로 내 요구에 더 잘 맞습니다.

아직 이에 대한 문서를 찾지 못했기 때문에 이것을 답변으로 포함하지 않았습니다. 누군가가 저를 이기지 않는 한, 문서를 찾으면 답변을 제공할 것입니다.

관련 정보