openvpn的client-config-dir中的针对于特定客户机的配置是在openvpn chroot之后当客户连接时访问的,所以配置文件中的client-config-dir所指的文件一定要相对于chroot后的新root进行指定,否则无法访问。
我在我的client-config-dir目录中配置文件dell745中加入了一个iroute来告诉openvpn服务器dell745这个客户后面的子网,以便openvpn能访问到那个子网。如果不注意chroot问题,就会导致当客户dell745连接后openvpn不知道其后面的子网,因而也就无法把包发到那个子网中去。这种问题在openvpn的log文件中会表示为:GET INST BY VIRT: ... [failed]"?
iroute就是internal route的意思。openvpn与路由相关的几个选项分别是:route、iroute、push "route .."。route设置的是openvpn服务器所在的主机的路由表;iroute是设置openvpn的内部路由表,也就是当包经tun抵达openvpn程序后openvpn服务器如何决定把包发到那个客户机;push "route ..."的作用是告诉客户机相应的路由信息。
注:这个困扰了很久,一直搞不明白为什么无法连接dell745后面的子网,原来竟是chroot惹的祸!
没有评论:
发表评论