OpenVPN - 如何通过 VPN 服务器阻止公共流量路由?

mar*_*cks 5 ubuntu routing openvpn

我已经设置了一个 OpenVPN 服务器来访问我的工作局域网。似乎所有流量都在连接时通过 vpn 服务器路由,但我只希望 LAN 流量通过它。我怎么能阻止这个?具体来说,我只想要一个具有公共 dns 的网站,该网站解析为 10.* 子网 IP,以通过 vpn 和其他所有内容通过我的常规 ISP。

这是我的 server.conf

port 1194

proto udp

dev tun

ca ca.crt
cert my.crt
key my.key
dh dh2048.pem

server 192.168.7.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status openvpn-status.log
verb 3
Run Code Online (Sandbox Code Playgroud)

这是我的 ovpn 文件

client
dev tun
proto udp
remote mydomain.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert my.crt
key my.key
remote-cert-tls server
ping 15
ping-restart 120
route 10.0.0.0 255.0.0.0
route-nopull
comp-lzo
daemon
verb 3
user nobody
group nogroup
Run Code Online (Sandbox Code Playgroud)

Softether 按照我希望的方式工作,而不是通过 vpn 服务器路由所有流量。我需要更改 OpenVPN 网关的指标或将其标记为非默认网关。路线

更柔软

default         192.168.1.1     0.0.0.0         UG    600    0        0 wlp1s0
10.0.0.0        10.0.1.1        255.0.0.0       UG    0      0        0 vpn_vpn
Run Code Online (Sandbox Code Playgroud)

开放VPN

default         192.168.7.5     0.0.0.0         UG    50     0        0 tun0
default         192.168.1.1     0.0.0.0         UG    600    0        0 wlp1s0
Run Code Online (Sandbox Code Playgroud)

以下来自 OpenVPN howto,它表明默认情况下不是将所有流量都通过 vpn 引导,这是我想要的,但我的配置至少使这看起来相反。

默认情况下,当 OpenVPN 客户端处于活动状态时,只有进出 OpenVPN 服务器站点的网络流量才会通过 VPN。例如,一般的网络浏览将通过绕过 VPN 的直接连接来完成。

mar*_*cks 14

问题是由处理 opvn 配置的网络管理器引起的。要禁用通过 VPN 发送所有流量,请执行此操作

单击 NetworkManager 小程序图标 > VPN 连接 > 配置 VPN... > 选择 V​​PN 网络 > 编辑 > IPv4 设置 > 路由... > 选中“仅将此连接用于其网络上的资源”

https://ubuntuforums.org/showthread.php?t=1668165

  • 太好了,这解决了我的 Ubuntu 17.10 上的问题。谢谢! (2认同)

小智 2

如果您正常进行服务器端(Openvpn 服务器)访问,则在该配置下 /etc/openvpn/server/server.conf或对其/etc/openvpn/server.conf 进行注释,它将阻止通过 OPEVPN 的公共流量

#######push "redirect-gateway def1 bypass-dhcp" 
Run Code Online (Sandbox Code Playgroud)

只需输入您想要的网站 IP 地址,就像您可以在这里找到想要的网站 IP一样

push  "route 96.6.31.216 255.255.255.255"
Run Code Online (Sandbox Code Playgroud)

保存此文件并重新启动 openvpn 服务systemctl restart openvpn@server.service