Здравствуйте!
Помогите, пожалуйста, настроить работу OpenVPN для мобильных клиентов. Сервер - Debian 8. Работает аутентификация через freeradius и сертификаты. Имею конфиг, проверенно рабочий на клиентах WinXP, Win7, Debian.
На Android 5 этот конфиг при попытке соединения с сервером выдаёт:
Transport Error: socket_protect_error (TCP). Client terminated, Restarting in 2 ...
Конфиг сервера:
local x.x.x.x #мой Ip сервера тут
port 1194
proto tcp
dev tun0
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 6
tcp-queue-limit 256
status /etc/openvpn/openvpn-status.log
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf # подключение плагина freeradius
Конфиг клиента:
client
dev tun
proto tcp
remote х.х.х.х 1194 # ip моего сервера тут
nobind
persist-key
persist-tun
ca inline
cert inline
key inline
auth-user-pass
comp-lzo
reneg-sec 0
verb 3
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>
Андроид на представленный выше конфиг ругается, что не понимает директивы inline. Поэтому пробую этот конфиг с явным указанием сертификатов во внешних файлах:
client
dev tun
proto tcp
remote х.х.х.х 1194 # ip моего сервера тут
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
auth-user-pass
comp-lzo
reneg-sec 0
verb 3
Другие андроиды не пробовал. никаких фаерволов или iptables не настроено, с телефона сервак пингуется.