我正在尝试设置 OpenVPN,以便我将多台笔记本电脑连接到我的网络,从而使笔记本电脑能够通过 HTTP(例如服务器管理页面)和 Windows 共享(访问文件)连接到特定的计算机
在测试环境中,我的笔记本电脑位于地址范围为 192.168.1.X 的网络中。主机网络的地址范围为 10.66.77.X 托管 OpenVPN 服务器的服务器地址为 10.77.10.20。我需要访问此机器上的一些应用服务器网页,可通过各种端口访问带有 Windows 共享的服务器以及我需要访问的一些其他基于网页的页面位于地址 10.66.77.20
服务器和笔记本电脑的配置文件附在下面。笔记本电脑可以毫无问题地建立 VPN 连接,但我无法访问任何机器,甚至简单的 ping 都失败了。可能是路由问题?笔记本电脑的路由表也显示在下面 - 非常感谢您的任何建议!
谢谢!Maik
服务器配置文件
port 1194
dev tun
tls-server
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/projects.crt
key /etc/openvpn/keys/projects.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.66.77.0 255.255.255.0"
keepalive 10 60
inactive 600
route 10.8.0.1 255.255.255.0
user openvpn
group openvpn
persist-tun
persist-key
verb 4
客户端配置文件
dev tun
proto udp
remote SERVERADDR 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert accountingLaptop.crt
key accountingLaptop.key
ns-cert-type server
comp-lzo
verb 3
客户端笔记本电脑上的结果路由表
C:\Documents and Settings\User>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 23 5a 9b 64 9b ...... Atheros AR8132 PCI-E Fast Ethernet Controller -
Packet Scheduler Miniport
0x3 ...00 24 2c 35 c9 6b ...... Dell Wireless 1395 WLAN Mini-Card - Packet Sched
uler Miniport
0x4 ...00 ff 5e 03 43 9b ...... TAP-Win32 Adapter V9 - Packet Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.129 25
10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 1
10.8.0.4 255.255.255.252 10.8.0.6 10.8.0.6 30
10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30
10.66.77.0 255.255.255.0 10.8.0.5 10.8.0.6 1
10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.129 192.168.1.129 25
192.168.1.129 255.255.255.255 127.0.0.1 127.0.0.1 25
192.168.1.255 255.255.255.255 192.168.1.129 192.168.1.129 25
224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30
224.0.0.0 240.0.0.0 192.168.1.129 192.168.1.129 25
255.255.255.255 255.255.255.255 10.8.0.6 2 1
255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1
255.255.255.255 255.255.255.255 192.168.1.129 192.168.1.129 1
Default Gateway: 192.168.1.1
===========================================================================
Persistent Routes:
None
答案1
检查服务器上IP路由标志的状态:
cat /proc/sys/net/ipv4/ip_forward
应该返回“1”
答案2
您不想对 VPN 连接进行 NAT,因为这会使所有客户端看起来都来自 VPN 盒,这会使故障排除变得很麻烦。您也不想为 VPN 地址向服务器添加静态路由,因为这种配置不属于那里。
您要做的就是在路由器上为 vpn 子网添加路由。按照思科的说法,您只需要这样做:
ip route 192.168.1.0 255.255.255.0 10.77.10.20
任何其他路由器都会有类似的命令。
答案3
问题可能是您的 VPN 不是 VPN 服务器上的 NAT,因此 VPN 客户端直接连接到具有 10.8.0.0 ip 的服务器,而其他服务器对此网络一无所知。 2 个解决方案是使用 iptables 伪装成服务器上的 nat,或将路由静态添加到其他服务器。
答案4
根据经验法则,您需要为每个未直接连接到您的笔记本电脑的网络设置静态路由。
因此,假设你的 OpenVPN 服务器可以与 10.66.77.20 通信,你需要执行以下操作
- 在漫游笔记本电脑上,通过 OpenVPN 服务器 IP 添加到 10.66.77.20 的路由
- 在 10.66.77.20 上,通过 OpenVPN 服务器 IP 添加到 192.168.1.0/24 网络的路由