OpenVPN 服务器:连接正常,但无法访问远程局域网

OpenVPN 服务器:连接正常,但无法访问远程局域网

我有一个正在运行的 OpenVPN 服务器,其配置如下

  • VPN 网络为 10.7.0.0/16
  • LAN网络为192.168.100.0/24

客户端能够连接,但我无法访问位于 VPN 连接(192.168.100.*)后面的 LAN 主机。

路由追踪 没有答案

push "route 192.168.100.0 255.255.255.0"配置行应该可以解决这个问题,但是没有。我的错误在哪里?

分析

连接后,这是我的netstat -rn结果

default            10.7.0.5           UGScIg      utun10
10.7/16            10.7.0.5           UGSc        utun10
10.7.0.5           10.7.0.6           UHr         utun10
10.7.0.5/32        link#23            UCS         utun10
192.168.100        10.7.0.5           UGSc        utun10

我本来期望10.7.0.1最后一行是网关,不是吗?

ifconfig 也许是一个线索,我的ifconfig客户端给了我 客户端上的 ifconfig

inet 10.7.0.2 --> 10.7.0.1我期望它能在其他 VPN 上运行,就像我在其他环境中得到的那样。

↳ 用@lacek 的答案回答。

数据包捕获

VPN 服务器上的Atcpdump在客户端 ping 期间给我

  • 刚刚在 LAN ping 上发送了 ping(无返回)。
    蘭萍
  • 对 VPN 主机执行 Ping 操作并返回。
    VPN 连接

如果我捕获目标上的任何 ICMP 流量,则没有关于 ping 请求的日志。(我已尝试从另一个 LAN 主机进行,可以。直接从 VPN 主机进行,也可以。)

重点是 OpenVPN 服务不会将我的数据包转发到 LAN 网络。

配置

服务器配置文件会议

proto udp
ifconfig-pool-persist ipp.txt
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn.log
verb 3
mute 10
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
port 1194
dev tun
server 10.7.0.0 255.255.255.0
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 192.168.100.0 255.255.255.0 "
client-to-client

在服务器端,我在 Debian OS 上运行 OpenVPN 2.4.0。

答案1

乍一看一切都很好,所以我的猜测是防火墙阻止了从 VPN 到 LAN 的数据包,或者 LAN 上的计算机没有设置正确的路由,因此数据包无法从 LAN 传回 VPN。

关于ifconfig输出:使用net30拓扑(默认)时,openvpn 会设置点对点连接,其中为每个客户端分配一个 /30 网络。该网络中的一个 IP 属于客户端,另一个属于服务器。因此,您得到的输出是正确的。

答案2

感谢@Lacek,我找到了解决方案。

在 OpenVPN wiki 上,我找到了一篇关于我的具体案例的文章,其中openVpn 服务器不是 LAN 网关

所以

  • 我的push "route 10.7.0.0 255.255.0.0"OpenVPN 服务器很好
  • 但是我需要在我的 LAN 防火墙上配置路由,
    10.7.0.0/24在网关上添加此路由192.168.100.88
    ,其中​​ .88 是我在 OpenVPN 服务器上的静态 IP
  • 并在 OpenVPN 服务器上配置 IP 转发,输入以下命令(来自这篇维基文章)。
    echo 1 > /proc/sys/net/ipv4/ip_forward

现在一切正常。

相关内容