我想尝试让地址/URL 仅在我的 VPN 连接时才对我的 PC(Linux)可用,而当 VPN 未连接时则绝对不可用。这意味着不能 ping 任何内容。它应该表现得好像地址不存在一样。
我使用静态 IP(wlan0)通过 Wifi 连接。VPN 是 tun0。IPv6 已禁用。
我该如何做呢?
问候,皮特
答案1
- VPN 连接时自动执行,由客户端触发(ssh 进入框,执行服务的启动/停止命令)。您使用外部 IP,因此可以在断开连接时运行它。这很容易通过 OpenVPN(
--up
和--down
)实现 - 在服务器上有一个脚本,用于检查已连接的 VPN 客户端的日志,并在检测到某个客户端时触发启动和停止。我认为这是最丑陋的解决方案,但却是完全的服务器端选项。
- 让服务保持运行,但只监听服务器上的 VPN 接口。只有在没有其他人可以访问它时才有效 —— 如果不是,您无论如何都希望对服务进行身份验证)。这可能不是您想要的,但 —— 取决于您的环境 —— 可能是最简单的解决方案。
答案2
为域创建静态路由并通过 VPN 接口指向它。
Windows: route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^
Interface^
Linux: ip route add 23.101.196.141 dev tun0
OR route add -host 23.101.196.141 -interface tun0