我有一个连接到覆盖网络的 OpenVPN 服务器,我想通过 VPN 客户端访问它。我添加了覆盖网络的路由,172.63.0.0
使openvpn.conf
OpenVPN 服务器主机本身0.0.0.0
成为网关,因为它能够到达预期的覆盖网络。我查看了 tun0 上的 tcpdump,似乎 VPN 能够解析我尝试从 VPN 客户端访问的覆盖网络上的 IP 地址,但没有任何结果,因此我确保 VPN 服务器主机能够转发 TCP 数据包并具有正确的防火墙例外,但它仍然无法工作。该系统在 docker 容器上运行,但我认为它与网络配置无关。我不知道如何操作,但人们已经能够通过配置讨论的 NAT 来解决这个问题,但有一些缺点这里但仍然无法通过路由来实现。
server 192.168.255.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/private.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/certificate.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
comp-lzo no
### Route Configurations Below
route 192.168.254.0 255.255.255.0
route 172.63.0.0 255.255.0.0 0.0.0.0
### Push Configurations Below
push "block-outside-dns"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "comp-lzo no"
防火墙配置:
bash-5.0# iptables -nvL
Chain INPUT (policy ACCEPT 2 packets, 228 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
4 228 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 2 packets, 212 bytes)
pkts bytes target prot opt in out source destination