IP 규칙 및 IP 라우팅을 통해 IPv6 소스 주소 선택

IP 규칙 및 IP 라우팅을 통해 IPv6 소스 주소 선택

호스트가 WIFI 또는 VPN을 통해 통신할 수 있도록 Linux 방화벽 및 VPN 설정을 구성하려고 합니다. VPN 연결의 원격 측에 있는 방화벽이 VPN에서는 패킷을 허용하지만 WIFI에서는 패킷을 허용하지 않을 수 있습니다. 원격 시스템에서는 (sanitized)를 사용하여 들어오는 패킷을 처리합니다.

# ip -4 rule add from <myblock> table <mytable>
# ip -4 route add to <remoteblock> src <myaddr> dev <vpn-dev> table <mytable>
# ip -6 rule add from <myblock> table <mytable>
# ip -6 route add to <remoteblock> src <myaddr> dev <vpn-dev> table <mytable>

이는 들어오는 연결을 성공적으로 처리하고 대칭으로 만듭니다. (즉, VPN에서 수신된 패킷은 WIFI에서 응답하지 않으며 그 반대의 경우도 마찬가지입니다.)

IPv4의 경우 다음을 추가합니다.

# ip -4 rule add from 0.0.0.0/32 table <mytable>

나가는 패킷은 VPN을 통해 보호된 네트워크로 라우팅됩니다.

그러나 시도할 때:

# ip -6 rule add from ::/128 table <mytable> 

이것은 도움이 되지 않습니다. 데이터 패킷은 WIFI 주소에서 전송됩니다. 이 작업을 수행하려면 어떤 마법 쿠키를 호출해야 합니까? 아니면 IPv6가 완전히 다른 기능을 수행합니까?

편집하다: 나는 다음을 추가했다:

# ip -6 route add not from <wifinet>/64 table <mytable>

모든 것이 정상입니다. 그래서 거기에아직 명확하지 않음주소가 거기 있지만 없습니다 ::. 어떤 제안이 있으십니까?

편집하다:글쎄, 나도 혼란스러웠지만(그래서 롤백한 다음 마지막 편집 내용을 복원했습니다), 결과는 다음과 같습니다.

# ip -6 route add not from 0000::/1 table <mytable>
# ip -6 route add not from 8000::/1 table <mytable>

유효하지만

# ip -6 route add not from 0000::/0 table <mytable>

아니요, "아무것도 아님"이 되기 때문입니다.

그것은 밝혀:

# ip -6 route add from 0000::/0 table <mytable>

역시 작동하는 것 같습니다... 개인적으로는 그렇게 하면 안 된다고 생각합니다(비록 왜 그런지는 모르겠지만).

src내 VPN은 FC00::/7에 있고 WIFI는 2000::/3에 있습니다. 이것이 도움이 될 수 있습니다. 적절한 VPN 사용을 강제해야 할 것 같습니다 .

관련 정보