所以我有两台电脑。我们把它们称为 Bob 和 Alice。Bob 是两个 VPN 上的客户端,一个是我自己的私人 VPN,另一个是公开可用的 VPN。Alice 托管一个私人 VPN 和一个 DHCP 服务器。现在我们有第三台电脑,我想将其连接到 VPN,我们将其称为 Sally。Sally 可以很好地连接到 Bob,但一旦我连接到 VPN,它就无法按照我想要的方式路由。
我想让 Sally 将他们的流量路由到 Alice,然后 Alice 会将其路由到公共 VPN。我可以做到这一点,而无需 Bob 托管私有 VPN。
Alice 的 VPN.conf
local 10.42.25.2
port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key # This file should be kept secret
dh /etc/openvpn/server/dh2048.pem
server 10.42.26.0 255.255.255.0
route-gateway 10.42.26.1
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
client-to-client
keepalive 10 120
tls-auth /etc/openvpn/server/ta.key 0 # This file is secret
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
explicit-exit-notify 1
Bob 和 Sally 使用预期的客户端配置成功连接到 Alice 的服务器。
Bob 的 iptables:
-A FORWARD -i tun1 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i tun0 -o tun1 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
我可以随时发布更多信息,但目前我还不确定还能发布什么。