我对这个论坛和 VPN 都很陌生,这对我来说真的很困惑。我试图通过谷歌搜索到凌晨 4 点才弄清楚,但仍然没有可行的解决方案。我希望这个论坛允许这样做,因为它不仅仅与 OPENVPN 有关。我看到 @Razzak 发了一篇帖子,这正是我遇到的问题,只是我没有使用他的 SU 答案链接(它不起作用,因为他们使用的选项不再存在)。如何让Apache在连接到VPN时通过某个网络接口输出数据包?
但是,按照示例操作后,我仍然无法使其按照 @Nath 所述工作,而且也没有 PM 选项。所以请接受我的道歉,再次发布此信息,希望有人能帮助我,提供更多的分步说明。我从帖子中了解到,您需要在 Eth0 端口上创建 2 个单独的连接(在我的情况下是 enp0s25),但不确定我哪里做错了,而且一旦它通过命令行工作,我还需要它永久存在于 /etc/network/interfaces 中。此外,不确定 @Razzak 何时提到“lo”循环接口,以及我如何实现它才能使其工作。
我有 Zorin 12 16.04 和 Nextcloud 12,我可以在网络内部和外部访问我的 nextcloud 服务器。即 sample.ignorelist.com/nextcloud 启用 SSL,因此它监听的是端口 443 而不是 80
现在,下一步是我可以访问 TigerVPN(根本没有为他们做广告!)并且我使用了 openvpn --config GB London.ovpn - 脚本如下
client
remote lon.tigervpn.com 1194 udp
remote lon.tigervpn.com 443 tcp-client
pull
auth-user-pass
comp-lzo adaptive
ca ca.crt
dev tun
tls-client
script-security 2
cipher AES-256-CBC
mute 10
route-delay 5
redirect-gateway def1
resolv-retry infinite
dhcp-renew
dhcp-release
persist-key
persist-tun
remote-cert-tls server
mssfix
因为我以客户端身份激活了 OPENVPN,所以一旦 cron 通过 FREEDNS(免费域名)更新 IP 地址,我就无法再在网络内外访问 nextcloud。而且 Webserver/nextcloud 和 OpenVPN 都在一台机器上运行(VPN 的目的是在同一台机器上运行 torrent)
所以让我尝试在下面画一张图 - (名称和 IP 已更改)
Nexcloud 服务器(内部 1.0.0.3)--> 路由器(网关 1.0.0.1)--> ISP 的外部 DYN IP(111.222.111.222)--> TigerVPN 伦敦服务器(185.20.99.139)--> TigerVPN 的 IP(185.20.99.199)--> FREEDNS IP(没有 VPN 时为 111.222.111.222,激活 VPN 时为 185.20.99.199)
启用 VPN 的路由 -
root@mypc:/home/mypc# ip route list
0.0.0.0/1 via 10.199.11.1 dev tun0
default via 1.0.0.1 dev enp0s25 proto static metric 100
10.199.11.0/24 dev tun0 proto kernel scope link src 10.199.11.8
128.0.0.0/1 via 10.199.11.1 dev tun0
169.254.0.0/16 dev enp0s25 scope link metric 1000
185.20.99.199 via 10.0.0.1 dev enp0s25
1.0.0.0/24 dev enp0s25 proto kernel scope link src 1.0.0.3 metric - - 100
root@HTPC:/home/htpc# ifconfig
enp0s25 Link encap:Ethernet HWaddr 00:1e:37:48:2e:46
inet addr:10.0.0.3 Bcast:1.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:37ff:fe48:2e46/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:469087 errors:0 dropped:46 overruns:0 frame:0
TX packets:229122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:167072663 (167.0 MB) TX bytes:30424651 (30.4 MB)
Interrupt:16 Memory:d0300000-d0320000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4450 errors:0 dropped:0 overruns:0 frame:0
TX packets:4450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:567305 (567.3 KB) TX bytes:567305 (567.3 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.199.11.8 P-t-P:10.199.11.8 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:0 overruns:0 frame:0
TX packets:101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:15028 (15.0 KB) TX bytes:15266 (15.2 KB)
而同一网络上的其余 PC 将使用 ISP 111.222.111.222 设置的外部 IP 来访问互联网等。我理解如果停用 VPN 并且所有网络都将运行,那么这完全合理,因为所有流量都通过路由器网关 1.0.0.1。问题是... 我可以在 VPN 启动并运行时更改路由或转发,以便它可以引导流量并被我的 Apache2/nextcloud 理解?
提前感谢您的帮助。