OpenVPN 服务器配置帮助(桥接连接)

OpenVPN 服务器配置帮助(桥接连接)

我有一台运行 OpenVPN 服务器的 Ubuntu 虚拟机。我希望连接的客户端能够访问该服务器后面的 LAN。运行 OpenVPN 的虚拟机与 LAN 有桥接连接。

OpenVPN: 10.8.0.1/24
LAN: 192.168.1.0/24
Default Gateway: 192.168.1.254
OpenVPN Server LAN IP: 192.168.1.224

我尝试使用 MASQUERADE 从 Tun0 接口转发流量,但没有任何效果。我还尝试在 server.conf 文件中推送到 DG 的路由,但连接的客户端仍然无法 ping 通 LAN 上除主机之外的任何其他机器。

我认为解决方案可能是将连接从 tun0 适配器桥接到 ens33 适配器 (LAN) - 这可能吗?这里的解决方案是什么?如果我跳过了任何细节,请原谅,我的网络知识并不丰富。

服务器.conf:

port 1194
proto udp
dev tap0
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server-bridge 192.168.1.224 255.255.255.0 192.168.1.128 192.168.1.254
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 127.0.1.1"
push "route 192.168.1.254 255.255.255.0"
keepalive 10 120
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

我是否遗漏了或者误解了什么?

答案1

你不需要server-bridge。通常我都会选择server

我也不记得曾经使用过sndbufrcfbuftopology subnet。尽管假设您的 OpenVPN 服务已启动并且您的客户端已正确连接,但我们可以争辩说:“它没有损坏,...”。

你需要一些 iptables 规则。例如:

iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -i lo0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
iptables -A INPUT -m state --state NEW -i tun0 -j ACCEPT
iptables --table nat --append POSTROUTING --src 10.8.0.1/24 --out-interface eth0 --jump MASQUERADE

这将允许所有流量,并确保您的 OpenVPN 客户端流量在访问您的 LAN 时通过 NAT 连接到您的 OpenVPN 网关的 LAN IP。

我怀疑你忽略了以下几点:

sysctl net.ipv4.ip_forward=1

相关内容