下面的 LAN 上有各种资源,其中一个是 Linux openVPN 服务器。由于复杂的原因,我必须运行 2 个 openVPN 服务器实例,VPN1 和 VPN2。VPN1 运行良好,将 10.8.0.x tun0 IP 分发给连接的客户端。然后客户端可以访问 192.168.44.x LAN 上的任何资源,一切正常。
VPN2 是使用 ifconfig 而不是服务器指令设置的。这是因为我必须在 VPN2 的客户端上手动输入 tap-win32 tcp/ip 静态 IP(原因未解释)。
启动 VPN2 后,我在日志中看到“TUN/TAP 设备 tun1 已打开”,但是 sudo ifconfig才不是显示tun1,只有tun0...为什么?
客户端能够成功连接到 VPN2,但是不是能够访问 192.168.44.x LAN 上的任何资源吗?我在 LAN 路由器上为 VPN2 设置了静态路由(就像我对 VPN1 所做的一样),位于 10.9.1.x 和 192.168.44.x 之间,所以这不是问题。
我在 openVPN 服务器上启用了 ip_forwarding,并在 openVPN 服务器上打开了 1194-1195 ufw 防火墙。
任何帮助都将非常有帮助!
LAN (192.168.44.x)
|
|
Linux openVPN Server (192.168.44.90)
| |
| |
VPN1 VPN2
10.8.0.x 10.9.1.x
VPN1.conf
port 1194
proto udp
dev tun0
ca keys/VPN1ca/ca.crt
cert keys/VPN1ca/serverkey.crt
key keys/VPN1ca/serverkey.key
dh keys/VPN1ca/dh1024.pem
server 10.8.0.0 255.255.255.0
crl-verify keys/VPN1ca/crl.pem
ifconfig-pool-persist servers/VPN1/logs/ipp.txt
tls-auth servers/VPN1/ta.key 0
cipher BF-CBC
user nobody
group nogroup
status servers/VPN1/logs/openvpn-status.log
log-append servers/VPN1/logs/openvpn.log
verb 2
mute 20
max-clients 5
keepalive 10 120
client-config-dir /etc/openvpn/servers/VPN1/ccd
tls-server
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 192.168.44.0 255.255.255.0"
VPN2.conf
port 1195
proto udp
dev tun1
ca keys/VPN2ca/ca.crt
cert keys/VPN2ca/sv_serverkey.crt
key keys/VPN2ca/sv_serverkey.key
dh keys/VPN2ca/dh2048.pem
crl-verify keys/VPN2ca/crl.pem
tls-auth servers/VPN2/ta.key 0
cipher BF-CBC
user nobody
group nogroup
status servers/VPN2/logs/openvpn-status.log
log-append servers/VPN2/logs/openvpn.log
verb 2
mute 20
max-clients 2
keepalive 10 120
tls-server
comp-lzo
persist-key
persist-tun
push "route 192.168.44.0 255.255.255.0"
ifconfig 10.9.1.5 10.9.1.6
#ifconfig-noexec <--this needed to be removed
VPN2客户端
client
proto udp
dev tun1
ca ca.crt
dh dh2048.pem
cert VPN2client.crt
key VPN2client.key
remote x.x.x.x 1195
tls-auth ta.key 1
cipher BF-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
ifconfig 10.9.1.6 10.9.1.5
ifconfig-noexec
编辑:
ifconfig-a:
显示 eth0、lo 和 tun0、tun1:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:37 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4345 (4.3 KB) TX bytes:5019 (5.0 KB)
tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1
RX packets:500 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:125909 (125.9 KB) TX bytes:0 (0.0 B)
编辑2:
好的。通过删除 ifconfig-noexec 解决了上述问题。下一个问题...从 192.168.44.x LAN 映射到 10.9.1.x VPNclient 上的打印机。VPNclient 使用 openVPN-GUI 连接。有时 \10.9.1.x\printer 可以工作,有时则不行,有人处理过这个问题吗?
谢谢!
答案1
您需要删除服务器上的 ifconfig-noexec。在客户端上,您应该保留它,因为您要单独设置其 tun 接口的 IP。
在服务器上,如果指定 ifconfig-noexec,则不会出现 tun1 接口(基本上,操作系统实际上没有运行ifconfig tun1 10.9.1.5 up
)。因此,LAN 上的任何设备都不会知道如何路由到客户端 IP 为 10.9.1.6 的机器。