Моя цель:
Я хочу настроить openVPN на vServer от компании netcup, используя Debian squeeze. Мне нужно только VPN-соединение от клиента к серверу; клиенты не должны видеть друг друга, также сервер не должен служить шлюзом для других служб.
Моя установка:
1 Debian squeeze vServer, 3 клиента Windows 7, 2 клиента OS X Lion, все клиенты находятся в моей домашней подсети 192.168.xx, брандмауэр на сервере еще не имеет ограничений, брандмауэры на клиенте не блокируют исходящее соединение, я даже добавлен протокол ICMPv4 как исключение согласно этому сообщению: Сервер OpenVPN не может пинговать клиентов. В подсети есть маршрутизатор WLAN и маршрутизатор fritz.box, который является шлюзом к моему интернет-провайдеру. Маршрутизатор WLAN имеет межсетевой экран, но ограничений нет.
Мои ограничения:
Поскольку это виртуальный сервер, на котором работает сервер openVPN, существуют ограничения: 1) Устройство tun «tun1» должно быть сначала разблокировано и ему назначен фиксированный адрес (10.240.43.1), который я не могу изменить, потому что 2) модификации ifconfig не разрешены, а также IP-таблицы (я понял это потому, что виртуальная технология использует одно ядро для нескольких клиентов, поэтому не позволяет одному клиенту изменять свои настройки), что означает 3) Я не могу включить / отключить пересылку IPv4 (да, я я вошел в систему как root), просто говоря это, потому что я уже нашел более 50 сообщений с почти такой же, но немного другой проблемой.
Что пока работает:
Клиенты могут подключаться через клиент с графическим интерфейсом openVPN из Windows 7 и OS X Lion к серверу openVPN на машине debian, клиентам назначаются IP-адреса в желаемой подсети (10.240.43.x), журналы не указывают на какие-либо ошибки. В конце выложу пример.
Что сработало ОДИН РАЗ (и это сводит меня с ума):
При настройке openVPN на втором клиенте Windows 7 было установлено соединение, назначен IP-адрес И клиент мог пинговать сервер по адресу интерфейса tun. Я был так счастлив, что загрузил OS X на том же MacBook, чтобы установить его там, что не сработало, и когда я загрузился в Windows 7 на следующий день, ничего не изменив в server.conf или конфигурации клиента openvpn, я были те же страдания, что и другие клиенты Windows 7 и OS X. Для меня это означает, что, по крайней мере, конфигурация должна быть в порядке хотя бы один раз, и с тех пор я пытаюсь выяснить, что произошло, и был бы очень признателен, если бы кто-нибудь мог указать мне, где я делаю что-то не так (я еще новичок в этом, к тому же английский не мой родной язык)
Что должно работать, исходя из того, что я читал о правильно настроенных соединениях openVPN:
пинг. Я хочу пинговать 10.240.43.1 (IP-адрес интерфейса сервера) с клиента или 10.240.43.xx (<- IP-адрес клиента) с сервера. Я получаю тайм-аут, когда сервер проверяет связь с клиентом (-ами) или клиентом (-ами), а также когда я пробую tracert (в Windows), я даже не добираюсь до первого узла, который был бы моим маршрутизатором fritz.box, если бы я понял что правильно. Я также читал, что у меня должен быть другой общедоступный IP-адрес, когда я подключаюсь к openVPN, но я его не получаю, он остается тем же динамическим, который я получил от провайдера. Обратите внимание: я добавил настраиваемую конфигурацию в файлы конфигурации клиентов Windows, чтобы Windows не воспринимала ее как неопознанную сеть, и это действительно сработало. Однако это не решает мою проблему ... Я действительно перепробовал все связанные сообщения, которые смог найти, поэтому, пожалуйста, не перенаправляйте меня на другой "похожий" вопрос ..
изменить: особенно этот: Конфигурация OpenVPN - клиент Windows 7 и сервер debian, бедняга даже не получил ни единого ответа, только комментарии .. но у него очень похожая, если не та же проблема ..
Заранее спасибо!
server.conf в Debian Squeeze
порт 1194 proto udp
-10.x.x.x адреса по возрастанию:
подсеть топологии
dev tun1
-prevent ifconfig манипуляции, иначе при перезапуске демона openvpn на сервере возникнут ошибки - маршруты все равно не могут быть добавлены на моем сервере:
ifconfig-noexec route-noexec
ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh / etc / openvpn /easy-rsa/keys/dh1024.pem
сервер 10.240.43.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.240.43.1"; push "route 10.240.43.0 255.255.255.0"; push "redirect-gateway def1"
Keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 comp-lzo
пользователь никто группа никто
persist-key persist-tun status openvpn-status.log глагол 3
Один пример конфигурации клиента Windows: client1.opvn
клиент
dev tun1
dev-узел openVPN
прото udp
удаленный общедоступный IP-адрес моего сервера 1194
Фиктивный шлюз по умолчанию для обхода «неопознанной сети» / «неизвестной сети» Windows:
маршрут-метрика 50 маршрут 0.0.0.0 0.0.0.0 10.240.43.1
resolv-retry бесконечно
nobind
персист-ключ персист-тун
ca "C: \ Program Files (x86) \ OpenVPN \ config \ ca.crt" cert "C: \ Program Files (x86) \ OpenVPN \ config \ client1.crt" ключ "C: \ Program Files (x86) \ OpenVPN \ config \ client1.key "
сервер типа ns-cert
tls-auth "C: \ Program Files (x86) \ OpenVPN \ config \ ta.key" 1
comp-lzo глагол 3
вывод route print -4 на Windows-клиенте при подключении openVPN и назначении IP-адреса:
===========================================================================
Schnittstellenliste
22...00 ff 14 5f fc a5 ......TAP-Windows Adapter V9
21...00 ff 8a b4 4f 15 ......TeamViewer VPN Adapter
16...00 18 de 68 09 6c ......Intel(R) PRO/Wireless 3945ABG-Netzwerkverbindug
11...00 15 c5 b7 7d 12 ......Broadcom 440x 10/100-integrierter Controller
1...........................Software Loopback Interface 1
18...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter
19...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
15...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #2
17...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #4
===========================================================================
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.72 20
0.0.0.0 0.0.0.0 10.240.43.1 10.240.43.8 50
10.240.43.0 255.255.255.0 Auf Verbindung 10.240.43.8 286
10.240.43.8 255.255.255.255 Auf Verbindung 10.240.43.8 286
10.240.43.255 255.255.255.255 Auf Verbindung 10.240.43.8 286
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
192.168.1.0 255.255.255.0 Auf Verbindung 192.168.1.72 276
192.168.1.72 255.255.255.255 Auf Verbindung 192.168.1.72 276
192.168.1.255 255.255.255.255 Auf Verbindung 192.168.1.72 276
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.1.72 276
224.0.0.0 240.0.0.0 Auf Verbindung 10.240.43.8 286
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.1.72 276
255.255.255.255 255.255.255.255 Auf Verbindung 10.240.43.8 286
===========================================================================
Ständige Routen:
Keine
Вывод журнала статуса openVPN при подключении к серверу:
Sat Jan 19 23:21:17 2013 OpenVPN 2.3.0 i686-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [eurephia] [IPv6] built on Jan 8 2013
Sat Jan 19 23:21:17 2013 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Sat Jan 19 23:21:17 2013 Need hold release from management interface, waiting...
Sat Jan 19 23:21:17 2013 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Sat Jan 19 23:21:17 2013 MANAGEMENT: CMD 'state on'
Sat Jan 19 23:21:17 2013 MANAGEMENT: CMD 'log all on'
Sat Jan 19 23:21:18 2013 MANAGEMENT: CMD 'hold off'
Sat Jan 19 23:21:18 2013 MANAGEMENT: CMD 'hold release'
Sat Jan 19 23:21:18 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat Jan 19 23:21:18 2013 Control Channel Authentication: using 'C:\Program Files (x86)\OpenVPN\config\ta.key' as a OpenVPN static key file
Sat Jan 19 23:21:18 2013 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:18 2013 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:18 2013 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Jan 19 23:21:18 2013 UDPv4 link local: [undef]
Sat Jan 19 23:21:18 2013 UDPv4 link remote: [AF_INET][[public server ip]]:1194
Sat Jan 19 23:21:18 2013 MANAGEMENT: >STATE:1358634078,WAIT,,,
Sat Jan 19 23:21:18 2013 MANAGEMENT: >STATE:1358634078,AUTH,,,
Sat Jan 19 23:21:18 2013 TLS: Initial packet from [AF_INET][[public server ip]]:1194, sid=473dff0c 89fc085c
Sat Jan 19 23:21:18 2013 VERIFY OK: depth=1, C=AT, ST=Tyrol, L=Innsbruck, O=[[custom company name]], OU=General, CN=openvpn-eq, name=openvpn-[[custom name]], emailAddress=[[custom mail address]]
Sat Jan 19 23:21:18 2013 VERIFY OK: nsCertType=SERVER
Sat Jan 19 23:21:18 2013 VERIFY OK: depth=0, C=AT, ST=Tyrol, L=Innsbruck, O=[[custom company name]], OU=General, CN=openvpn-eq, name=openvpn-[[custom name]], emailAddress=[[custom mail address]]
Sat Jan 19 23:21:19 2013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jan 19 23:21:19 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:19 2013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jan 19 23:21:19 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:19 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Sat Jan 19 23:21:19 2013 [openvpn-eq] Peer Connection Initiated with [AF_INET][[public server ip]]3:1194
Sat Jan 19 23:21:20 2013 MANAGEMENT: >STATE:1358634080,GET_CONFIG,,,
Sat Jan 19 23:21:22 2013 SENT CONTROL [openvpn-eq]: 'PUSH_REQUEST' (status=1)
Sat Jan 19 23:21:22 2013 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 10.240.43.1,route-gateway 10.240.43.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.240.43.8 255.255.255.0'
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: timers and/or timeouts modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: --ifconfig/up options modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: route-related options modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Sat Jan 19 23:21:22 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sat Jan 19 23:21:22 2013 MANAGEMENT: >STATE:1358634082,ASSIGN_IP,,10.240.43.8,
Sat Jan 19 23:21:22 2013 open_tun, tt->ipv6=0
Sat Jan 19 23:21:22 2013 TAP-WIN32 device [openVPN] opened: \\.\Global\{145FFCA5-1EBD-49E6-9CA2-42B832968EFE}.tap
Sat Jan 19 23:21:22 2013 TAP-Windows Driver Version 9.9
Sat Jan 19 23:21:22 2013 Set TAP-Windows TUN subnet mode network/local/netmask = 10.240.43.0/10.240.43.8/255.255.255.0 [SUCCEEDED]
Sat Jan 19 23:21:22 2013 Notified TAP-Windows dºÀRr
Sat Jan 19 23:21:22 2013 Successful ARP Flush on interface [22] {145FFCA5-1EBD-49E6-9CA2-42B832968EFE}
Sat Jan 19 23:21:27 2013 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
Sat Jan 19 23:21:27 2013 MANAGEMENT: >STATE:1358634087,ADD_ROUTES,,,
Sat Jan 19 23:21:27 2013 C:\Windows\system32\route.exe ADD 0.0.0.0 MASK 0.0.0.0 10.240.43.1 METRIC 50
Sat Jan 19 23:21:27 2013 Route addition via IPAPI succeeded [adaptive]
Sat Jan 19 23:21:27 2013 Initialization Sequence Completed
Sat Jan 19 23:21:27 2013 MANAGEMENT: >STATE:1358634087,CONNECTED,SUCCESS,10.240.43.8,[[public server ip]]
Маршруты сервера:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.233.133.2 * 255.255.255.255 UH 0 0 0 tun1
10.241.162.2 * 255.255.255.255 UH 0 0 0 *
static.88-198-1 gw.netcup.net 255.255.255.255 UGH 0 0 0 eth0
10.240.43.2 * 255.255.255.255 UH 0 0 0 tun1
xx.xx.xx.xx * 255.255.255.192 U 0 0 0 eth0
10.233.133.0 10.233.133.2 255.255.255.0 UG 0 0 0 tun1
xx.xx.228.0 * 255.255.254.0 U 0 0 0 eth0
xx.xx.240.0 * 255.255.252.0 U 0 0 0 eth0
xx.xx.232.0 * 255.255.248.0 U 0 0 0 eth0
10.20.0.0 * 255.255.0.0 U 0 0 0 *
default gw.netcup.net 0.0.0.0 UG 0 0 0 eth0
Возможно, это нежелательное решение, но я мог отследить проблему только до одна пара ключ / сертификат правильно работает с решением для меня было переключиться с метода виртуализации Linux-vServer на метод, основанный на KVM, который решил все проблемы, так как я мог сам контролировать, какие устройства tun я хочу использовать, и теперь каждый клиент (WIndows, OS X ..) может подключаться без проблем и получить доступ к службам на сервере.
Вы запускали openvpngui от имени администратора? (щелкните правой кнопкой мыши, запустите от имени администратора)? Распространенная ошибка - добавление маршрутов требует повышенных привилегий. (в Windows Vista / 7/8, конечно).