目标:
通过 OpenVPN 在远程用户和 LAN 服务器之间建立安全连接。
目的:
我正在创办一家公司,一名艺术家需要访问服务器农场。我们已经测试了从农场到艺术家的直接连接;但是任何人都可以通过它的公共 IP 和端口访问这项服务。我们需要将这些计算机置于 OpenVPN 后面的 LAN 上,只有经过适当的身份验证后才能访问。
目前的网络方案如下:
76.213.x.x public IP via enp6s0 on OpenVPN box
10.8.0.1 tun0 on OpenVPN
192.168.2.1 enp3s0 on OpenVPN box
192.168.2.2 Network Adapter 1 on Windows Client 1
192.168.2.3 Network Adapter 1 on Windows Client 2 via enp6s0 on OpenVPN
迄今采取的措施:
在 Linux 服务器上安装了 OpenVPN,颁发了所有必要的密钥,将密钥传输到艺术家的设备,安装了 Openvpn 客户端,并成功连接到 OpenVPN。
我们可以 ping OpenVPN 服务器上的两个 NIC 以及 TUN 虚拟接口。
另一方面,使用 Windows 设备,我们禁用了防火墙并 ping 了连接到 LAN 的计算机。
问题在于从 LAN 上的 Windows 设备 ping 到 OpenVPN(以及通过扩展 artist)。或者反过来从(artist -> )OpenVPN ping 到 LAN 上的 Windows 设备。
我在 OpenVPN 上对 server.conf 进行了以下设置:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.2.0 255.255.255.0"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
key-direction 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
我的 iptables 规则是:
iptables -I FORWARD -i tun0 -o enp3s0 -s 10.8.0.0/24 -d 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -i tun0 -o enp6s0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -i enp3s0 -o enp6s0 -s 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
&我发出以下命令:
sysctl -w net.ipv4.ip_forward=1
到目前为止还没有成功。看来我的防火墙规则需要调整,但我搞不清楚。也许是其他原因?
更新
根据评论的要求,这里是路由表
WC1 局域网:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.2.0 255.255.255.0 On-link 192.168.2.2 266
192.168.2.2 255.255.255.255 On-link 192.168.2.2 266
192.168.2.255 255.255.255.255 On-link 192.168.2.2 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.2.2 266
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.2.2 266
===========================================================================
Persistent Routes:
None
艺术家装备:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.65 25
10.8.0.0 255.255.255.0 On-link 10.8.0.4 276
10.8.0.4 255.255.255.255 On-link 10.8.0.4 276
10.8.0.255 255.255.255.255 On-link 10.8.0.4 276
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 On-link 192.168.1.65 281
192.168.1.65 255.255.255.255 On-link 192.168.1.65 281
192.168.1.255 255.255.255.255 On-link 192.168.1.65 281
192.168.2.0 255.255.255.0 10.8.0.1 10.8.0.4 20
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.8.0.4 276
224.0.0.0 240.0.0.0 On-link 192.168.1.65 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.8.0.4 276
255.255.255.255 255.255.255.255 On-link 192.168.1.65 281
===========================================================================
Persistent Routes:
None
答案1
WC1 LAN 没有默认路由。因此它至少应该有到 OpenVPN 网络的路由:
route add 10.8.0.0 mask 255.255.255.0 192.168.2.1
这是因为艺术家的设备在10.8.0.0/24
网络上有一个 IP 地址,而 WC1 没有到该 IP 地址的路由。
192.168.2.0/24
艺术家的装备路由表看起来正确,有通过 OpenVPN 网关到网络的路由10.8.0.1
。