LINUX.ORG.RU
решено ФорумAdmin

Проблемы с настройкой OpenVPN-сервера


1

1

Доброго времени суток!
Линукс изучаю недавно, начальство для начала поставило такую тестовую задачу: есть тестовый сервер под дебиан, необходимо настроить на нем OpenVPN, чтобы сотрудники с домашних компов могли подключаться к офисной сети (через tcp, аутентификация с помощью сертификатов). Сеть в офисе имеет адрес 192.168.0.0/24.
Сертификаты я создала, теперь пытаюсь создать файл конфигурации сервера (конфиги клиента пока что не делаю, так как серевер тестовый, не имеет еще внешнего IP, сейчас важно хотя бы сконфигурировать и запустить только сервер). Конфиг сервера сейчас выглядит так:

port 1194
proto tcp
dev tun0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push «route 192.168.0.0 255.255.255.0 192.168.0.122»
client-to-client
keepalive 10 120
tls-auth /etc/openvpn/keys/ta.key
comp-lzo
max-clients 100
persist-key
persist-tun
status openvpn-status.log
verb 5

При запуске (командой openvn /etc/openvpn/server.conf) в логах пишется следующее:

Thu Jun 28 20:38:31 2012 us=504820 OpenVPN 2.1.3 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Feb 20 2012
Thu Jun 28 20:38:31 2012 us=505305 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Thu Jun 28 20:38:31 2012 us=505391 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Jun 28 20:38:31 2012 us=517918 Diffie-Hellman initialized with 1024 bit key
Thu Jun 28 20:38:31 2012 us=520096 /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>
Thu Jun 28 20:38:31 2012 us=737989 Control Channel Authentication: using '/etc/openvpn/keys/ta.key' as a OpenVPN static key file
Thu Jun 28 20:38:31 2012 us=738119 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jun 28 20:38:31 2012 us=738172 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jun 28 20:38:31 2012 us=738247 TLS-Auth MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Thu Jun 28 20:38:31 2012 us=738345 Socket Buffers: R=[87380->131072] S=[16384->131072]
Thu Jun 28 20:38:31 2012 us=738418 TCP/UDP: Socket bind failed on local address [undef]: Address already in use
Thu Jun 28 20:38:31 2012 us=738467 Exiting

Подскажите, пожалуйста, что я делаю неверно, заранее спасибо.



Последнее исправление: Incher (всего исправлений: 1)

lsof -i
netstat -al4p
ps ax
естественно все от рута.
дальше разговор.

hbars ★★★★★
()
Ответ на: комментарий от Incher

Ну вот, у тебя висит процесс openvpn, который уже занял порт. Ты запускаешь второй процесс, который тыкается, видит что занято, серит в логи и грустно завершается.

strangeman ★★★★
()

[offtopic]И да, это какой такой часовой пояс, что уже 8 вечера? Даже у нас на ДВ всего полдвенадцатого дня. :) [/offtopic]

strangeman ★★★★
()
Ответ на: комментарий от strangeman

Я тоже на ДВ, просто на тестовом серваке время не настроено :)

Incher
() автор топика
Ответ на: комментарий от strangeman

Останавливаю процесс, запускаю, теперь логи такие:

Thu Jun 28 22:11:25 2012 us=854281 TLS-Auth MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Thu Jun 28 22:11:25 2012 us=854370 Socket Buffers: R=[87380->131072] S=[16384->1 31072]
Thu Jun 28 22:11:25 2012 us=854763 ROUTE default_gateway=192.168.0.1
Thu Jun 28 22:11:25 2012 us=856969 TUN/TAP device tun0 opened
Thu Jun 28 22:11:25 2012 us=857098 TUN/TAP TX queue length set to 100
Thu Jun 28 22:11:25 2012 us=857189 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8 .0.2 mtu 1500
Thu Jun 28 22:11:25 2012 us=862563 /sbin/route add -net 10.8.0.0 netmask 255.255 .255.0 gw 10.8.0.2
Thu Jun 28 22:11:25 2012 us=866044 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Jun 28 22:11:25 2012 us=866156 Listening for incoming TCP connection on [undef]
Thu Jun 28 22:11:25 2012 us=866250 TCPv4_SERVER link local (bound): [undef]
Thu Jun 28 22:11:25 2012 us=866287 TCPv4_SERVER link remote: [undef]
Thu Jun 28 22:11:25 2012 us=866337 MULTI: multi_init called, r=256 v=256
Thu Jun 28 22:11:25 2012 us=866438 IFCONFIG POOL: base=10.8.0.4 size=62
Thu Jun 28 22:11:25 2012 us=866517 MULTI: TCP INIT maxclients=100 maxevents=104
Thu Jun 28 22:11:25 2012 us=866586 Initialization Sequence Completed

Примерно так и должно быть? Меня смущает, например, почему «Listening for incoming TCP connection on [undef]»? Возможно, здесь что-то еще должно настораживать, но что именно я не вижу, в силу моего малого опыта.

И еще, теперь, как я понимаю, при каждом перезапуске сервера нужно будет вновь запускать vpn (с помощью openvn /etc/openvpn/server.conf), можно ли какой-либо командой или с помощью скрипта сделать так, чтобы при старте машины vpn автоматически запускался в фоновом режиме?

Incher
() автор топика
Ответ на: комментарий от Incher

Да, и после строки
Thu Jun 28 22:11:25 2012 us=866586 Initialization Sequence Completed
больше ничего нет, нажимаю ctrl+c, выводится:

Thu Jun 28 22:13:00 2012 us=591753 TCP/UDP: Closing socket
Thu Jun 28 22:13:00 2012 us=591909 /sbin/route del -net 10.8.0.0 netmask 255.255
Thu Jun 28 22:13:00 2012 us=593869 Closing TUN/TAP interface
Thu Jun 28 22:13:00 2012 us=593988 /sbin/ifconfig tun0 0.0.0.0
Thu Jun 28 22:13:00 2012 us=851620 SIGINT[hard,] received, process exiting

Как сделать так, чтобы процесс не завершался и можно было вводить команды дальше?

Incher
() автор топика
Ответ на: комментарий от Incher

В дебиане openvpn запускается командой /etc/init.d/openvpn start, останавливается /etc/init.d/openvpn stop. Рестартится, как ни странно, командой /etc/init.d/openvpn restart

Если с английским все нормально, вот статья в debian wiki - http://wiki.debian.org/OpenVPN/. Там в частности прописано, как засунуть openvpn в автостарт.

Если не дружишь, то тут более-менее расписано - http://vectormm.net/linux/104-ustanovka-openvpn-na-ubuntudebian.html

strangeman ★★★★
()

если есть желание, стукни xtraeft@gmail.com завтра - помогу

xtraeft ★★☆☆
()
Ответ на: комментарий от Incher

У меня еще такой вопрос, файл server.conf должен быть только на сервере, а client.conf только на клиенте? Или нужно везде создать копии?

Incher
() автор топика
Ответ на: комментарий от Incher

Пытаюсь запустить клиента под Win7, логи такие:

Fri Jun 29 11:50:44 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Fri Jun 29 11:50:44 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Fri Jun 29 11:50:44 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jun 29 11:50:44 2012 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Fri Jun 29 11:50:44 2012 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 11:50:44 2012 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 11:50:44 2012 LZO compression initialized
Fri Jun 29 11:50:44 2012 Control Channel MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Fri Jun 29 11:50:44 2012 Socket Buffers: R=[8192->8192] S=[8192->8192]
Fri Jun 29 11:50:44 2012 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Jun 29 11:50:44 2012 Local Options hash (VER=V4): 'ee93268d'
Fri Jun 29 11:50:44 2012 Expected Remote Options hash (VER=V4): 'bd577cd1'
Fri Jun 29 11:50:44 2012 Attempting to establish TCP connection with 198.168.0.122:1194

Incher
() автор топика
Ответ на: комментарий от Incher

файл server.conf должен быть только на сервере, а client.conf только на клиенте? Или нужно везде создать копии?

Сервер на сервере, клиент на клиенте. Хотя, я держу шаблон клиентского конфига на сервере всегда дополнительно, чтоб не заморачиваться при создании нового клиента.

логи

Иии? Ничего страшного пока не видно. «script-security 2» можно добавить в клиентский и серверный конфиги, да.

strangeman ★★★★
()
Ответ на: комментарий от strangeman

Клиент пытается законнектиться каждые 5 секунд:

Fri Jun 29 11:51:05 2012 TCP: connect to 198.168.0.122:1194 failed, will try again in 5 seconds: Connection timed out (WSAETIMEDOUT) ..... и т.д.

и еще меня пугает:

WARNING: No server certificate verification method has been enabled

Incher
() автор топика
Ответ на: комментарий от Incher

Сервер с клиента пингается? Порт открыт? nmap -sU -p 1194 198.168.0.122 с клиента (от рута) чего говорит? И да, в айпишнике не опечаталась? Может 192.168, если в локалке тестишь?

strangeman ★★★★
()
Ответ на: комментарий от strangeman

Фейл)) сорри, опечаталась, конечно же 192.

Исправила ip в конфиге, теперь результат такой:

Fri Jun 29 13:35:33 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Fri Jun 29 13:35:33 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Fri Jun 29 13:35:33 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jun 29 13:35:33 2012 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Fri Jun 29 13:35:33 2012 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 13:35:33 2012 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 13:35:33 2012 LZO compression initialized
Fri Jun 29 13:35:33 2012 Control Channel MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Fri Jun 29 13:35:33 2012 Socket Buffers: R=[8192->8192] S=[8192->8192]
Fri Jun 29 13:35:33 2012 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Jun 29 13:35:33 2012 Local Options hash (VER=V4): 'ee93268d'
Fri Jun 29 13:35:33 2012 Expected Remote Options hash (VER=V4): 'bd577cd1'
Fri Jun 29 13:35:33 2012 Attempting to establish TCP connection with 192.168.0.122:1194
Fri Jun 29 13:35:33 2012 TCP connection established with 192.168.0.122:1194
Fri Jun 29 13:35:33 2012 TCPv4_CLIENT link local: [undef]
Fri Jun 29 13:35:33 2012 TCPv4_CLIENT link remote: 192.168.0.122:1194
Fri Jun 29 13:35:33 2012 TLS: Initial packet from 192.168.0.122:1194, sid=29c74738 92bfc31a
Fri Jun 29 13:35:34 2012 VERIFY OK: depth=1, /C=RU/ST=PK/L=Vladivostok/O=ArsenalMediaVPN/OU=AM-Office/CN=ArsenalMediaVPN-CA/name=AM-server/emailAddress=me@myhost.mydomain
Fri Jun 29 13:35:34 2012 VERIFY OK: depth=0, /C=RU/ST=PK/L=Vladivostok/O=ArsenalMediaVPN/OU=AM-Office/CN=server/name=AM-server/emailAddress=me@myhost.mydomain
Fri Jun 29 13:35:34 2012 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jun 29 13:35:34 2012 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 13:35:34 2012 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jun 29 13:35:34 2012 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 13:35:34 2012 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Fri Jun 29 13:35:34 2012 [server] Peer Connection Initiated with 192.168.0.122:1194
Fri Jun 29 13:35:36 2012 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Fri Jun 29 13:35:37 2012 PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Fri Jun 29 13:35:37 2012 OPTIONS IMPORT: timers and/or timeouts modified
Fri Jun 29 13:35:37 2012 OPTIONS IMPORT: --ifconfig/up options modified
Fri Jun 29 13:35:37 2012 OPTIONS IMPORT: route options modified
Fri Jun 29 13:35:37 2012 ROUTE default_gateway=192.168.0.1
Fri Jun 29 13:35:37 2012 TAP-WIN32 device [Подключение по локальной сети 2] opened: \\.\Global\{B15117BD-078B-476B-B1DB-556991E4491C}.tap
Fri Jun 29 13:35:37 2012 TAP-Win32 Driver Version 9.9
Fri Jun 29 13:35:37 2012 TAP-Win32 MTU=1500
Fri Jun 29 13:35:37 2012 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {B15117BD-078B-476B-B1DB-556991E4491C} [DHCP-serv: 10.8.0.5, lease-time: 31536000]
Fri Jun 29 13:35:37 2012 NOTE: FlushIpNetTable failed on interface [18] {B15117BD-078B-476B-B1DB-556991E4491C} (status=5) : Отказано в доступе.
Fri Jun 29 13:35:42 2012 TEST ROUTES: 2/2 succeeded len=2 ret=1 a=0 u/d=up
Fri Jun 29 13:35:42 2012 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
Fri Jun 29 13:35:42 2012 ROUTE: route addition failed using CreateIpForwardEntry: Отказано в доступе. [status=5 if_index=18]
Fri Jun 29 13:35:42 2012 Route addition via IPAPI failed [adaptive]
Fri Jun 29 13:35:42 2012 Route addition fallback to route.exe
‡ Їа®иҐ­­ п ®ЇҐа жЁп вॡгҐв Ї®ўл襭Ёп.
Fri Jun 29 13:35:42 2012 ERROR: Windows route add command failed [adaptive]: returned error code 1
Fri Jun 29 13:35:42 2012 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
Fri Jun 29 13:35:42 2012 ROUTE: route addition failed using CreateIpForwardEntry: Отказано в доступе. [status=5 if_index=18]
Fri Jun 29 13:35:42 2012 Route addition via IPAPI failed [adaptive]
Fri Jun 29 13:35:42 2012 Route addition fallback to route.exe ‡ Їа®иҐ­­ п ®ЇҐа жЁп вॡгҐв Ї®ўл襭Ёп.
Fri Jun 29 13:35:42 2012 ERROR: Windows route add command failed [adaptive]: returned error code 1
Fri Jun 29 13:35:42 2012 Initialization Sequence Completed

Incher
() автор топика
Ответ на: комментарий от Incher

Попробовала запустить OpenVPN как службу, потом запускаю конфиг клиента, пишется следующее:

Fri Jun 29 14:39:43 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Fri Jun 29 14:39:43 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Fri Jun 29 14:39:43 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jun 29 14:39:44 2012 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Fri Jun 29 14:39:44 2012 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 14:39:44 2012 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 14:39:44 2012 LZO compression initialized
Fri Jun 29 14:39:44 2012 Control Channel MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Fri Jun 29 14:39:44 2012 Socket Buffers: R=[8192->8192] S=[8192->8192]
Fri Jun 29 14:39:44 2012 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Jun 29 14:39:44 2012 Local Options hash (VER=V4): 'ee93268d'
Fri Jun 29 14:39:44 2012 Expected Remote Options hash (VER=V4): 'bd577cd1'
Fri Jun 29 14:39:44 2012 Attempting to establish TCP connection with 192.168.0.122:1194
Fri Jun 29 14:39:44 2012 TCP connection established with 192.168.0.122:1194
Fri Jun 29 14:39:44 2012 TCPv4_CLIENT link local: [undef]
Fri Jun 29 14:39:44 2012 TCPv4_CLIENT link remote: 192.168.0.122:1194
Fri Jun 29 14:39:44 2012 TLS: Initial packet from 192.168.0.122:1194, sid=606edd9d f7a2a1e3
Fri Jun 29 14:39:44 2012 VERIFY OK: depth=1, /C=RU/ST=PK/L=Vladivostok/O=ArsenalMediaVPN/OU=AM-Office/CN=ArsenalMediaVPN-CA/name=AM-server/emailAddress=me@myhost.mydomain
Fri Jun 29 14:39:44 2012 VERIFY OK: depth=0, /C=RU/ST=PK/L=Vladivostok/O=ArsenalMediaVPN/OU=AM-Office/CN=server/name=AM-server/emailAddress=me@myhost.mydomain
Fri Jun 29 14:39:45 2012 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jun 29 14:39:45 2012 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 14:39:45 2012 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jun 29 14:39:45 2012 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 29 14:39:45 2012 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Fri Jun 29 14:39:45 2012 [server] Peer Connection Initiated with 192.168.0.122:1194
Fri Jun 29 14:39:47 2012 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Fri Jun 29 14:39:47 2012 PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Fri Jun 29 14:39:47 2012 OPTIONS IMPORT: timers and/or timeouts modified
Fri Jun 29 14:39:47 2012 OPTIONS IMPORT: --ifconfig/up options modified
Fri Jun 29 14:39:47 2012 OPTIONS IMPORT: route options modified
Fri Jun 29 14:39:47 2012 ROUTE default_gateway=192.168.0.1
Fri Jun 29 14:39:47 2012 CreateFile failed on TAP device: \\.\Global\{B15117BD-078B-476B-B1DB-556991E4491C}.tap
Fri Jun 29 14:39:47 2012 All TAP-Win32 adapters on this system are currently in use.
Fri Jun 29 14:39:47 2012 Exiting

Почему он он пытается подключиться через TAP device, если в конфиге прописано dev tun?

Incher
() автор топика
Ответ на: комментарий от Incher
Fri Jun 29 13:35:42 2012 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
Fri Jun 29 13:35:42 2012 ROUTE: route addition failed using CreateIpForwardEntry: Отказано в доступе. [status=5 if_index=18]

Классика жанра. Если винда семерка - то запускать с помощью OpenVPN GUI с правами админа, там какой-то косяк со службой, что она route с правами админа запустить не может, а с обычными правами система не дает маршрут прописать.

strangeman ★★★★
()
Ответ на: комментарий от Incher

Почему он он пытается подключиться через TAP device, если в конфиге прописано dev tun?

Вы-таки уверены? А скиньте-ка конфиги сервера и клиента куда-нибудь на pastebin.org

strangeman ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.