仅对内部资源使用 OpenVPN 连接
Use OpenVPN connection only for internal resources
我正在 Linux Mint 上连接到 OpenVPN,然后:
- 我可以立即访问我的内部 VPN 资源,但我也通过 VPN 访问 Internet,而不是通过我自己的连接,所以我输入:
sudo route add default gw 192.168.1.1 wlp3s0
然后我可以通过我自己的连接访问互联网(而不是通过 VPN),但我无法访问 VPN 内部资源。
然后我输入:
route add -net 10.100.0.0 netmask 255.255.0.0 dev tun0
现在我通过自己的连接访问互联网,并且可以通过 VPN 访问 VPN 内部资源。
这是 Linux 机器上所有上述步骤后的路由:
$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default funbox.home 0.0.0.0 UG 0 0 0 wlp3s0
default _gateway 0.0.0.0 UG 50 0 0 tun0
default funbox.home 0.0.0.0 UG 600 0 0 wlp3s0
10.8.0.0 _gateway 255.255.255.0 UG 50 0 0 tun0
10.8.0.1 _gateway 255.255.255.255 UGH 50 0 0 tun0
_gateway 0.0.0.0 255.255.255.255 UH 50 0 0 tun0
10.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
178.183.8.254.p funbox.home 255.255.255.255 UGH 600 0 0 wlp3s0
192.168.0.0 _gateway 255.255.0.0 UG 50 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
funbox.home 0.0.0.0 255.255.255.255 UH 600 0 0 wlp3s0
它在 Linux 上效果很好,但我正试图在 Windows 上实现同样的效果。不同之处在于,在 Linux 上我使用 Wi-Fi,而在 Windows 机器上我通过以太网电缆连接到 Internet 到路由器。
在 Windows 我使用 OpenVPN 软件连接,现在我可以访问我的内部 VPN 资源,当我访问 Internet 时,它是通过 VPN 完成的,而不是我的连接。
我尝试在 Windows 上输入以下内容:
route add 192.168.1.1 mask 255.255.255.255 192.168.1.10 (this is my internal IP assigned by router)
route add 10.100.0.0 mask 255.255.0.0 10.8.0.22 (this is my IP assigned by OpenVPN)
当我输入它们时,我就无法访问 VPN 的内部资源,而且仍然可以通过 VPN 访问 Internet。
这是连接OpenVPN后的路由:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 25
0.0.0.0 128.0.0.0 10.8.0.21 10.8.0.22 281
10.8.0.0 255.255.255.0 10.8.0.21 10.8.0.22 281
10.8.0.1 255.255.255.255 10.8.0.21 10.8.0.22 281
10.8.0.20 255.255.255.252 On-link 10.8.0.22 281
10.8.0.22 255.255.255.255 On-link 10.8.0.22 281
10.8.0.23 255.255.255.255 On-link 10.8.0.22 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
128.0.0.0 128.0.0.0 10.8.0.21 10.8.0.22 281
178.183.8.254 255.255.255.255 192.168.1.1 192.168.1.10 281
192.168.0.0 255.255.0.0 10.8.0.21 10.8.0.22 281
192.168.1.0 255.255.255.0 On-link 192.168.1.10 281
192.168.1.10 255.255.255.255 On-link 192.168.1.10 281
192.168.1.255 255.255.255.255 On-link 192.168.1.10 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 10.8.0.22 281
224.0.0.0 240.0.0.0 On-link 192.168.1.10 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 10.8.0.22 281
255.255.255.255 255.255.255.255 On-link 192.168.1.10 281
我尝试编辑 OpenVPN 配置文件并注释掉以下行:
#redirect-gateway def1
然后我可以通过我的连接访问 Internet,但是无法访问内部资源并且添加 route add 10.100.0.0 也没有帮助。
如何通过我自己的连接在 Windows 上访问 Internet 并且不会失去对内部 VPN 资源的访问权限(与 Linux 一样)?
已通过编辑 OpenVPN 配置文件解决了该问题。现在我不需要手动添加任何路由了!
我已经注释掉重定向网关 def1 行:
#redirect-gateway def1
为 DNS 服务器添加了一个 dhcp 选项:
dhcp-option DNS 10.100.20.10
并在 'pull' 命令之前添加了一条路线:
route 10.100.0.0 255.255.0.0
互联网可以通过我自己的连接访问,VPN 内部资源可以通过 VPN 连接访问,太棒了:)
我正在 Linux Mint 上连接到 OpenVPN,然后:
- 我可以立即访问我的内部 VPN 资源,但我也通过 VPN 访问 Internet,而不是通过我自己的连接,所以我输入:
sudo route add default gw 192.168.1.1 wlp3s0
然后我可以通过我自己的连接访问互联网(而不是通过 VPN),但我无法访问 VPN 内部资源。
然后我输入:
route add -net 10.100.0.0 netmask 255.255.0.0 dev tun0
现在我通过自己的连接访问互联网,并且可以通过 VPN 访问 VPN 内部资源。
这是 Linux 机器上所有上述步骤后的路由:
$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default funbox.home 0.0.0.0 UG 0 0 0 wlp3s0
default _gateway 0.0.0.0 UG 50 0 0 tun0
default funbox.home 0.0.0.0 UG 600 0 0 wlp3s0
10.8.0.0 _gateway 255.255.255.0 UG 50 0 0 tun0
10.8.0.1 _gateway 255.255.255.255 UGH 50 0 0 tun0
_gateway 0.0.0.0 255.255.255.255 UH 50 0 0 tun0
10.100.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
178.183.8.254.p funbox.home 255.255.255.255 UGH 600 0 0 wlp3s0
192.168.0.0 _gateway 255.255.0.0 UG 50 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
funbox.home 0.0.0.0 255.255.255.255 UH 600 0 0 wlp3s0
它在 Linux 上效果很好,但我正试图在 Windows 上实现同样的效果。不同之处在于,在 Linux 上我使用 Wi-Fi,而在 Windows 机器上我通过以太网电缆连接到 Internet 到路由器。
在 Windows 我使用 OpenVPN 软件连接,现在我可以访问我的内部 VPN 资源,当我访问 Internet 时,它是通过 VPN 完成的,而不是我的连接。
我尝试在 Windows 上输入以下内容:
route add 192.168.1.1 mask 255.255.255.255 192.168.1.10 (this is my internal IP assigned by router)
route add 10.100.0.0 mask 255.255.0.0 10.8.0.22 (this is my IP assigned by OpenVPN)
当我输入它们时,我就无法访问 VPN 的内部资源,而且仍然可以通过 VPN 访问 Internet。
这是连接OpenVPN后的路由:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 25
0.0.0.0 128.0.0.0 10.8.0.21 10.8.0.22 281
10.8.0.0 255.255.255.0 10.8.0.21 10.8.0.22 281
10.8.0.1 255.255.255.255 10.8.0.21 10.8.0.22 281
10.8.0.20 255.255.255.252 On-link 10.8.0.22 281
10.8.0.22 255.255.255.255 On-link 10.8.0.22 281
10.8.0.23 255.255.255.255 On-link 10.8.0.22 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
128.0.0.0 128.0.0.0 10.8.0.21 10.8.0.22 281
178.183.8.254 255.255.255.255 192.168.1.1 192.168.1.10 281
192.168.0.0 255.255.0.0 10.8.0.21 10.8.0.22 281
192.168.1.0 255.255.255.0 On-link 192.168.1.10 281
192.168.1.10 255.255.255.255 On-link 192.168.1.10 281
192.168.1.255 255.255.255.255 On-link 192.168.1.10 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 10.8.0.22 281
224.0.0.0 240.0.0.0 On-link 192.168.1.10 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 10.8.0.22 281
255.255.255.255 255.255.255.255 On-link 192.168.1.10 281
我尝试编辑 OpenVPN 配置文件并注释掉以下行:
#redirect-gateway def1
然后我可以通过我的连接访问 Internet,但是无法访问内部资源并且添加 route add 10.100.0.0 也没有帮助。
如何通过我自己的连接在 Windows 上访问 Internet 并且不会失去对内部 VPN 资源的访问权限(与 Linux 一样)?
已通过编辑 OpenVPN 配置文件解决了该问题。现在我不需要手动添加任何路由了!
我已经注释掉重定向网关 def1 行:
#redirect-gateway def1
为 DNS 服务器添加了一个 dhcp 选项:
dhcp-option DNS 10.100.20.10
并在 'pull' 命令之前添加了一条路线:
route 10.100.0.0 255.255.0.0
互联网可以通过我自己的连接访问,VPN 内部资源可以通过 VPN 连接访问,太棒了:)