我的 OpenVPN 服务器设置遇到了问题。
首先让我解释一下我的网络设置。我远程连接到我的 openvpn 服务器 (10.10.20.0/24),该服务器托管在我的 Router_A (192.168.20.0/24) 上。从那里,我可以访问 192.168.20.0/24 子网上的所有内容。但我还有另一个子网,位于另一个 Router_B (192.168.30.0/24) 后面。问题是,除非我将 OpenVPN 服务器配置为路由,否则我无法访问最后一个子网上的任何内容局域网和互联网交通。
这是我的网络图:
因为我想允许几个朋友访问我的服务器,所以我不想通过我的家庭网络路由他们的互联网流量。因此目标是到达位于 192.168.30.0/24 子网的 Server_B(在链接图像上),并将 OpenVPN 服务器设置为仅限 LAN。
OpenVPN服务器配置:
daemon ovpn-server2
topology subnet
server 10.10.20.0 255.255.255.0
proto udp4
multihome
port 1195
dev tun22
txqueuelen 1000
data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC:AES-128-CBC
data-ciphers-fallback AES-128-CBC
keepalive 15 60
verb 3
push "route 192.168.20.0 255.255.255.0 vpn_gateway 500"
client-config-dir ccd
client-to-client
push "dhcp-option DNS 192.168.20.254"
push "dhcp-option DNS 9.9.9.9"
push "dhcp-option DNS 192.168.20.1"
plugin /usr/lib/openvpn-plugin-auth-pam.so openvpn
ca ca.crt
dh dh.pem
cert server.crt
key server.key
script-security 2
up 'ovpn-up 2 server'
down 'ovpn-down 2 server'
status-version 2
status status 5
# Custom Configuration
push "route 192.168.30.0 255.255.255.0"
笔记 :当从“客户端同时使用 LAN 和 Internet”切换到“客户端仅使用 LAN”时,只会push "redirect-gateway def1"
删除该参数。是否有某种方法可以修改,以便允许访问第二个子网,但不允许访问我的 Internet?
客户端配置文件:
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1195
resolv-retry infinite
nobind
float
ncp-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC:AES-128-CBC
keepalive 15 60
auth-user-pass
remote-cert-tls server
push "route 192.168.30.0 255.255.255.0"
一些配置和注意事项:
- 路由器 A 的路由设置为 192.168.30.0 255.255.255.0,网关为 192.168.20.3
- 路由器 B 的路由设置为 10.10.20.0 255.255.255.0,网关为 192.168.20.1(我读到这在这种情况下是必要的,但它并没有改变任何东西)
- 路由器 B 防火墙处于非活动状态
- 从 192.168.30.0/24 内的机器,我可以 ping 192.168.20.0/24 和 10.10.20.1 中的任何机器
- 我尝试添加
push "route 192.168.30.0 255.255.255.0"
client.ovpn 文件,但结果相同。
我目前没有什么主意...
感谢您的帮助