[РЕШЕНО] Сервер OpenVPN на Gentoo и клиент под Win7
CoolMan 19 ноября, 2012 - 09:39
Пытаюсь поднять туннель между виндовым клиентом и гентушным сервером.
Сделал все по первой же ссылке на генту-вики
Когда подключался с клиента через локальную сеть сервера - все подключается.
Если клиент подключается через корпоративную сеть (порезанную, но у впн сервера порт 443, который не заблокирован), или через мтс 4г модем, то коннекта нет.
В клиенте пишется:
Mon Nov 19 09:33:45 2012 OpenVPN 2.1_rc22 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 20 2009 Mon Nov 19 09:33:45 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Mon Nov 19 09:33:45 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables Mon Nov 19 09:33:45 2012 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file Mon Nov 19 09:33:45 2012 LZO compression initialized Mon Nov 19 09:33:45 2012 Attempting to establish TCP connection with 1.2.3.4:443 Mon Nov 19 09:33:45 2012 TCP connection established with 1.2.3.4:443 Mon Nov 19 09:33:45 2012 TCPv4_CLIENT link local: [undef] Mon Nov 19 09:33:45 2012 TCPv4_CLIENT link remote: 1.2.3.4:443 Mon Nov 19 09:33:45 2012 Connection reset, restarting [0] Mon Nov 19 09:33:45 2012 SIGUSR1[soft,connection-reset] received, process restarting
У сервера в логах кроме бесконечной череды подобных сообщений ничего нет:
Mon Nov 19 09:34:23 2012 us=962806 MULTI: REAP range 80 -> 96 Mon Nov 19 09:34:23 2012 us=962897 MULTI TCP: multi_tcp_action a=TA_TIMEOUT p=0 Mon Nov 19 09:34:23 2012 us=962928 MULTI TCP: multi_tcp_dispatch a=TA_TIMEOUT mi=0x00000000 Mon Nov 19 09:34:23 2012 us=962953 MULTI TCP: multi_tcp_post TA_TIMEOUT -> TA_UNDEF Mon Nov 19 09:34:23 2012 us=962980 SCHEDULE: schedule_find_least NULL Mon Nov 19 09:34:33 2012 us=972548 MULTI: REAP range 96 -> 112 Mon Nov 19 09:34:33 2012 us=972634 MULTI TCP: multi_tcp_action a=TA_TIMEOUT p=0 Mon Nov 19 09:34:33 2012 us=972662 MULTI TCP: multi_tcp_dispatch a=TA_TIMEOUT mi=0x00000000 Mon Nov 19 09:34:33 2012 us=972686 MULTI TCP: multi_tcp_post TA_TIMEOUT -> TA_UNDEF Mon Nov 19 09:34:33 2012 us=972711 SCHEDULE: schedule_find_least NULL Mon Nov 19 09:34:43 2012 us=982146 MULTI: REAP range 112 -> 128 Mon Nov 19 09:34:43 2012 us=982241 MULTI TCP: multi_tcp_action a=TA_TIMEOUT p=0 Mon Nov 19 09:34:43 2012 us=982286 MULTI TCP: multi_tcp_dispatch a=TA_TIMEOUT mi=0x00000000 Mon Nov 19 09:34:43 2012 us=982333 MULTI TCP: multi_tcp_post TA_TIMEOUT -> TA_UNDEF Mon Nov 19 09:34:43 2012 us=982377 SCHEDULE: schedule_find_least NULL
Конфиг сервера:
#режим сервера mode server #использовать TLS-аутентифкацию tls-server #прослушивание по tcp-протоколу proto tcp-server #использовать tap устройство dev tap #прослушиваемый порт 5555 port 443 #скрипт который будет выполнятся при поднятии впн туннеля #up /etc/openvpn/upscript.sh #режим демона daemon #TLS-ключ tls-auth /etc/openvpn/keys/ta.key 0 #указываем файл с CA ca /etc/openvpn/keys/ca.crt #сертификат сервера cert /etc/openvpn/keys/hydra.crt #указываем ключ сертификата key /etc/openvpn/keys/hydra.key #файл Диффи-Хеллмана dh /etc/openvpn/keys/dh1024.pem #указываем IP-адрес сервера и маску виртуальной сети ifconfig 10.10.0.1 255.255.255.0 #описываем наш vpn пул #IP-адрес через push "ifconfig адрес маска" ifconfig-pool 10.10.0.2 10.10.0.250 # Добавляем клиенту необходимые маршруты на локальные подсети, например: push "route 192.168.1.0 255.255.255.0" #push "route 192.168.2.0 255.255.255.0" # Шлюз длы вышеуказанных маршрутов push "route-gateway 10.10.0.1" #разрешаем дублирование сертифкатов #если упустить эту опцию то на каждого клиента надо #генерировать отдельный сертификат с помощью pkitool duplicate-cn #включаем режим отладки verb 9 #алгоритм шифрования.Список алгоритмов можно получить #с помощью команды openvpn --show-ciphers cipher DES-EDE3-CBC #не перечитывать ключ при сбросе соединения persist-key #лог файл log-append /var/log/openvpn.log persist-tun #включаем сжатие comp-lzo
Конфиг виндового клиента:
#работа в режиме клиента с TLS-аутентифкацией tls-client #протокол tcp proto tcp-client #удаленный сервер remote myhost.dyndns.info dev tap port 443 #принимать команды push от сервера.то есть позволять переконфигурировать клиента pull #файл для авторизации tls-auth ta.key 1 #указываем файл Диффи-Хеллмана dh dh1024.pem #указываем файл CA ca ca.crt #указываем файл с сертификатом клиента cert enjoy.crt #указываем файл с ключем клиента key enjoy.key #алгоритм шифрования cipher DES-EDE3-CBC #использовать сжатие comp-lzo
Реквестирую хелп!)
»
- Для комментирования войдите или зарегистрируйтесь
Решено - забыл открыть 443
Решено - забыл открыть 443 tcp :)
как же тогда по локалке
как же тогда по локалке подключался к 443 ?
/
Подозреваю порочную политику двойных стандартов (особые права доступа для адресов своей локальной сети).
:wq
--
Live free or die
С внешнего интерфейса сервера
С внешнего интерфейса сервера идет DNAT всех портов на машину внутри локальной сети, кроме тех, на которых стоит RETURN. Поэтому из локалки попадал на сервер, а из инета попадал на ту самую машину внутри сети.