连接到(特定)VPN 网络时禁用 IPv6

连接到(特定)VPN 网络时禁用 IPv6

我工作的大部分地方都支持 IPv6。为了进行研究工作,我还可以通过 VPN 访问大学。但是,这所大学不支持 IPv6,因此连接时 IPv4 数据通过 VPN 路由,而 IPv6 则通过我的本地路由器路由。

有各种网站(例如https://ieeexplore.ieee.org/) 为大学提供某些内容,基于其 IP,无需登录或免费。由于这些网站支持 IPv4 和 IPv6,而 Ubuntu/我的浏览器更喜欢 IPv6,因此即使我连接到大学 VPN,我也无法访问提供的内容。这仅在我停用 IPv6(手动,例如通过删除 IPv6 IP 地址)时才有效。

连接到此特定 VPN 时,是否有任何方法可以使用网络管理器停用我的计算机的 IPv6?在网络管理器的 IPv6 设置中选择“禁用”,它只会为大学连接(也没有 IPv6)禁用 IPv6。如何在连接到此大学 VPN 时全局禁用/阻止 IPv6 流量?

我正在使用带有网络管理器的 Ubuntu 19.04。

答案1

使用 检查您的 VPN 接口ifconfig。标出您的接口名称。

在中创建一个脚本/etc/network/if-up.d,包含

#!/bin/sh

if [ "$IFACE" = "tun0" ]; then
  sysctl -w net.ipv6.conf.all.disable_ipv6=1
  sysctl -w net.ipv6.conf.default.disable_ipv6=1
fi

如果你使用 tap 或其他 VPN 接口,请将行替换为

if [ "$IFACE" = "tun0" ]; then

if [ "$IFACE" = "tap0" ]; then

或者

if [ "$IFACE" = "your_denoted_vpn_interface_name" ]; then

相关内容