17.6. OpenVPN常见问题解决汇总
1[root@OpenVPN_001 2.0]# ./build-key-pass user101
2Generating a 1024 bit RSA private key
3.........++++++
4................................++++++
5writing new private key to 'user101.key'
6Enter PEM pass phrase:
7140348621158216:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:You must type in 4 to 1024 characters
8140348621158216:error:0906406D:PEM routines:PEM_def_callback:problems getting password:pem_lib.c:111:
9140348621158216:error:0907E06F:PEM routines:DO_PK8PKEY:read key:pem_pk8.c:130:
重新再次运行生成账户就可以了
17.6.1. OpenVPN客户端链接成功,不能ping通OpenVPN服务器
- 可能原因:
如果是采用不用密钥文件的密码+用户名认证方式。则需要把防泛洪攻击的服务端配置项去掉。即:`` #tls-auth /etc/openvpn/keys/ta.key 0``
如果服务器端配置了数据压缩
comp-lzo。客户端也需要配置。否则链接成功后也会导致不能ping通openvpn服务器。可以通过命令
tail -f /var/log/openvpn.log命令监控openvpn服务器日志。客户端链接服务器测试。查看日志是否有异常。也可以用tcpdump命令抓取服务端数据。 命令:
tcpdump -i eth0 icmp
17.6.2. OpenVPN服务端配置的push不生效
可能是版本问题。老版本(2.0.9)之前可以用 push "192.168.1.0 255.255.255.0" 向OpenVPN客户端推送路由条目。但是2.2.2版本发现不能直接这样配置。
- 需要修改配置如下:
push “route 192.168.1.0 255.255.255.0”
- 配置生效后作用:
客户端的数据包的目的地址是192.168.1.0/24网段的数据。都通过VPN链路发送。
17.6.3. OpenVPN服务端的ipp.txt为空不生效的问题
- 问题表现
服务端配置了参数:
ifconfig-pool-persist ipp.txt客户端拨号后断开重新拨号获取的IP会发生变化。
ipp.txt文件也一直为空。
- 问题原因
服务端配置了参数
duplicate-cn,运行一个openvpn客户端同时在多个终端登陆。这样配置会导致ipp.txt记录失效。因为程序会不知道用户应该保留哪个地址。
17.6.4. OpenVPN服务端的ipp.txt记录的IP不是客户端IP
ipp.txt记录格式:CN用户名,子网网络地址。
这个子网网络地址一般都是30位地址。例如:10.8.0.4,这个网络地址的第一个IP是10.8.0.5,这是这个子网段的dhcp,然后下一个才是客户端的IP,也就是10.8.0.6。