我使用 openVPN 从校园外访问集群。但我只希望几个 ssh 客户端(Putty、WinSCP)通过 VPN 流量。
通过阅读几篇帖子和 wiki,我知道有一种称为 openVPN 隧道分割的技术。具体来说,.ovpn 配置文件中的“route”命令将在路由表中创建一行,只有与该模式匹配的 ip 地址才会被定向到 VPN 隧道。
我找到了解决方案来自这篇文章并添加了一个登录节点的 IP 地址
route-nopull
route 128.111.123.456 255.255.255.255
并且它成功了。
事实上 openVPN 可以解析主机名每次连接后
route-nopull
allow-pull-fqdn
route xxx.xxx.edu 255.255.255.255
我检查了日志文件,它基本上是一个“路由添加”,并且登录节点 IP 地址出现在路由打印输出中。
现在我想向 VPN 流量添加一个子网(子网内有多台服务器),
route-nopull
route 128.111.0.0 255.255.0.0
但之后就无法 ssh 到登录节点了。Putty 提示错误信息:服务器意外关闭连接,与 VPN 已关闭相同。日志显示“route add”命令执行成功,“route print”命令显示“128.111.0.0”条目已存在,并且具有正确的 vpn 网关。
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
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
128.111.0.0 255.255.0.0 128.111.61.1 128.111.61.143 30
128.111.61.0 255.255.255.0 On-link 128.111.61.143 286
128.111.61.143 255.255.255.255 On-link 128.111.61.143 286
128.111.61.255 255.255.255.255 On-link 128.111.61.143 286
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
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.1.100 276
224.0.0.0 240.0.0.0 On-link 128.111.61.143 286
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.1.100 276
255.255.255.255 255.255.255.255 On-link 128.111.61.143 286
===========================================================================
我的配置文件哪里错了?
谢谢。
编辑
有一篇文章同样的问题。但是在这种情况下,“route add”命令由于网络掩码不正确而无法成功执行。我没有犯同样的错误,“route print”中显示的是带有网络掩码的 ip 地址。
答案1
如果错误消息显示“服务器关闭了连接”,则表示客户端有成功打开一个。这应该意味着路由没有问题(你可以与服务器双向通信),但是服务器的sshd 配置不接受您的登录。