我正在为某些服务设置 VPN 隧道。我创建了一个 vpntunnel/vpntunnel 用户/组,根据组 ID 路由到 tun0 接口。这工作得很好。以下命令以普通用户身份运行:
curl -4 ifconfig.io <= returns my public IPv4 ip
curl -6 ifconfig.io <= returns my public IPv6 ip
由于我的 VPN 提供商尚不支持 IPv6,因此我的 IP 可能会暴露。因此我添加了一条 ip6tables 规则:
ip6tables -A OUTPUT -o tun0 -m owner --gid-owner vpntunnel -j REJECT
现在以 vpntunnel 用户身份运行相同的命令
sudo -u vpntunnel -i -- curl -4 ifconfig.io <= returns my VPN ip
sudo -u vpntunnel -i -- curl -6 ifconfig.io <= connection refused
拒绝连接是正常的,因为我在 tun0 上阻止了 IPv6 OUTPUT。所以我认为一切都很好,但我做了最后一次检查:我继续https://torguard.net/checkmytorrentipaddress.php,复制磁力链接并等待结果。我很惊讶地看到我的 IPv6 出现了。不过我的 IPv4 是 VPN IP,所以我的路由并没有完全中断,Transmission 使用 VPN 隧道。
我尝试添加更多规则:
ip6tables -A INPUT -i tun0 -j DROP
ip6tables -I FORWARD -i tun0 -o enp3s0 -j REJECT
但什么也没起作用。
我不想在机器上禁用 IPv6,我需要它。
有什么想法吗?谢谢!