LINUX.ORG.RU
ФорумAdmin

Настройка OpenVPN

 ,


0

1

Доброго времени суток.

Пытаюсь поднять OpenVPN на VPS для доступа к сайтам, которые мой блокирует провайдер. Настраиваю по этому руководству.

OS: Ubuntu 12.04.03

openvpn --version:

OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 27 2013
Originally developed by James Yonan
Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net>

  $ ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=${prefix}/lib/openvpn --disable-maintainer-mode --disable-dependency-tracking CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security CPPFLAGS=-D_FORTIFY_SOURCE=2 CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security FFLAGS=-g -O2 LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now --enable-password-save --host=x86_64-linux-gnu --build=x86_64-linux-gnu --prefix=/usr --mandir=${prefix}/share/man --with-ifconfig-path=/sbin/ifconfig --with-route-path=/sbin/route

Compile time defines:  ENABLE_CLIENT_SERVER ENABLE_DEBUG ENABLE_EUREPHIA ENABLE_FRAGMENT ENABLE_HTTP_PROXY ENABLE_MANAGEMENT ENABLE_MULTIHOME ENABLE_PASSWORD_SAVE ENABLE_PORT_SHARE ENABLE_SOCKS USE_CRYPTO USE_LIBDL USE_LZO USE_PF_INET6 USE_PKCS11 USE_SSL

Домашняя машина находится за роутером, который подключается к провайдеру, если это имеет значение.

Файл конфигурации:

port 1194
proto udp
dev tun

ca /etc/openvpn/rsa/keys/ca.crt
cert /etc/openvpn/rsa/keys/server.crt
key /etc/openvpn/rsa/keys/server.key  
                               
dh /etc/openvpn/rsa/keys/dh1024.pem

                                                                                     
server 10.8.0.0 255.255.255.0  
ifconfig-pool-persist ipp.txt

keepalive 10 120

comp-lzo

persist-key
persist-tun                                                                                                               
status /var/log/openvpn-status.log
log /var/log/openvpn.log   
                                                  
verb 3
                                             
mute 20

push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

Правила для iptables:

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source <SERVER_IP>

Соединение клиент (домашняя машина) с VPS'кой устанавливает, доменные имена пингуются. Вот логи на момент соединения:

Sun Mar  2 02:37:42 2014 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 27 2013
Sun Mar  2 02:37:42 2014 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Sun Mar  2 02:37:42 2014 Diffie-Hellman initialized with 1024 bit key
Sun Mar  2 02:37:42 2014 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Mar  2 02:37:42 2014 Socket Buffers: R=[212992->131072] S=[212992->131072]
Sun Mar  2 02:37:42 2014 ROUTE default_gateway=<SERVER_GATEWAY_IP>
Sun Mar  2 02:37:42 2014 TUN/TAP device tun0 opened
Sun Mar  2 02:37:42 2014 TUN/TAP TX queue length set to 100
Sun Mar  2 02:37:42 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sun Mar  2 02:37:42 2014 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Sun Mar  2 02:37:42 2014 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Sun Mar  2 02:37:42 2014 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sun Mar  2 02:37:42 2014 UDPv4 link local (bound): [undef]
Sun Mar  2 02:37:42 2014 UDPv4 link remote: [undef]
Sun Mar  2 02:37:42 2014 MULTI: multi_init called, r=256 v=256
Sun Mar  2 02:37:42 2014 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Sun Mar  2 02:37:42 2014 ifconfig_pool_read(), in='nameless,10.8.0.4', TODO: IPv6
Sun Mar  2 02:37:42 2014 succeeded -> ifconfig_pool_set()
Sun Mar  2 02:37:42 2014 IFCONFIG POOL LIST
Sun Mar  2 02:37:42 2014 nameless,10.8.0.4
Sun Mar  2 02:37:42 2014 Initialization Sequence Completed
Sun Mar  2 02:45:29 2014 MULTI: multi_create_instance called
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 Re-using SSL/TLS context
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 LZO compression initialized
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 Local Options hash (VER=V4): '530fdded'
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 Expected Remote Options hash (VER=V4): '41690919'
Sun Mar  2 02:45:29 2014 <CLIENT_IP>:16715 TLS: Initial packet from [AF_INET]193.169.36.230:16715, sid=8ec516e0 9723ee11
Sun Mar  2 02:45:32 2014 <CLIENT_IP>:16715 VERIFY OK: depth=1, /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/OU=changeme/CN=changeme/name=changeme/emailAddress=mail@host.domain
Sun Mar  2 02:45:32 2014 <CLIENT_IP>:16715 VERIFY OK: depth=0, /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/OU=changeme/CN=nameless/name=changeme/emailAddress=mail@host.domain
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Sun Mar  2 02:45:33 2014 <CLIENT_IP>:16715 [nameless] Peer Connection Initiated with [AF_INET]193.169.36.230:16715
Sun Mar  2 02:45:33 2014 nameless/<CLIENT_IP>:16715 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=1::1d00:0:a47f:0
Sun Mar  2 02:45:33 2014 nameless/<CLIENT_IP>:16715 MULTI: Learn: 10.8.0.6 -> nameless/193.169.36.230:16715
Sun Mar  2 02:45:33 2014 nameless/<CLIENT_IP>:16715 MULTI: primary virtual IP for nameless/193.169.36.230:16715: 10.8.0.6
Sun Mar  2 02:45:36 2014 nameless/<CLIENT_IP>:16715 PUSH: Received control message: 'PUSH_REQUEST'
Sun Mar  2 02:45:36 2014 nameless/<CLIENT_IP>:16715 send_push_reply(): safe_cap=960
Sun Mar  2 02:45:36 2014 nameless/<CLIENT_IP>:16715 SENT CONTROL [nameless]: 'PUSH_REPLY,redirect-gateway,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5' (status=1)

Проблема состоит в том, что страницы в браузере (Firefox, elinks) не открываются. Что я сделал не так?

grep -i openvpn /var/log/syslog на домашней машине.

PS. Ещё при отключении VPN возникает повторяющееся сообщение

Sun Mar  2 02:50:36 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
но если верить гуглу, к моей проблеме оно не имеет отношения.

PPS. Если есть ещё информация, которую я могу предоставить, — дайте мне знать.

★★★★★

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

А пинги проходят с клиента до сайта и обратно? И вообще лучше делать

 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 

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

А пинги проходят с клиента до сайта и обратно?

Да, проходят.

И вообще лучше делать

Так тоже пробовал, не помогает.

theNamelessOne ★★★★★
() автор топика

Поставьте Softether VPN Server- там все гораздо проще настраивается.

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

А что на клиентской машине с маршрутами? И

Соединение клиент (домашняя машина) с VPS'кой устанавливает, доменные имена пингуются

какие доменные имена пингуются?

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

А что на клиентской машине с маршрутами?

Destination Gateway Genmask Flags Metric Ref Use Iface
default         10.8.0.5        0.0.0.0         UG    0      0        0 tun0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
<SERVER_IP>     192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0

какие доменные имена пингуются?

Все. Т. е., гугл, яндекс, лор, например.

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

А что с iptables на серере? помимо тех правил что ты написал есть там еще что? Политика по умолчанию какая? Если пинги проходят, значит роуты в порядке, пробелма может быть только с фаерволом/портами.

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

помимо тех правил что ты написал есть там еще что?

Нет.

Политика по умолчанию какая?

ACCEPT

пробелма может быть только с фаерволом/портами.

Может быть дело в маршрутизаторе?

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от theNamelessOne
<SERVER_IP>     192.168.1.1     255.255.255.255 UGH   0      0        0 eth0

А этот маршрут откуда? Клиентская машина, по идее, про [SERVER_IP] вообще не должна знать. Покажите-ка traceroute ya.ru, например.

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

Вот эта строчка меня смутила сразу, а потом я посмотрел в руководство, на которое вы сослались, а там:

iptables -A FORWARD -d 10.8.0.0/24 -m state -state  ESTABLISHED,RELATED -j ACCEPT

Попробуйте сделать так.

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

А этот маршрут откуда?

Возникает при подключении (VPN), почему — не знаю.

Покажите-ка traceroute ya.ru, например.

traceroute to ya.ru (93.158.134.3), 60 hops max, 60 byte packets
 1  10.8.0.1 (10.8.0.1)  256.873 ms  256.852 ms  256.834 ms
 2  162.252.242.254 (162.252.242.254)  257.067 ms  257.057 ms  257.040 ms
 3  162.219.1.145 (162.219.1.145)  257.576 ms  257.933 ms  258.200 ms
 4  pc-13.coreswitch1.kit.rackanddata.com (98.143.96.40)  257.197 ms  257.188 ms  257.168 ms
 5  host-208-79-60-217.static.295.ca (208.79.60.217)  257.772 ms  258.037 ms  258.018 ms
 6  host-208-79-60-224.static.295.ca (208.79.60.224)  261.733 ms  263.489 ms  263.459 ms
 7  vl-14.tor0151-crs1.ne.fibernetics.ca (74.205.221.2)  260.619 ms  261.113 ms  261.430 ms
 8  vl-14.tor0151-asr9a.ne.fibernetics.ca (74.205.221.50)  262.612 ms  262.612 ms  262.754 ms
 9  te4-5.ccr01.yyz03.atlas.cogentco.com (38.122.70.209)  262.056 ms * *
10  te7-5.mag01.yyz02.atlas.cogentco.com (154.54.45.113)  395.086 ms te7-5.mag02.yyz02.atlas.cogentco.com (154.54.45.117)  305.120 ms te7-5.mag01.yyz02.atlas.cogentco.com (154.54.45.113)  395.039 ms
11  te0-7-0-12.ccr22.yyz02.atlas.cogentco.com (154.54.40.165)  261.785 ms  261.800 ms  261.911 ms
12  be2081.mpd21.ord01.atlas.cogentco.com (154.54.42.9)  277.192 ms be2080.ccr22.ord01.atlas.cogentco.com (154.54.42.5)  277.934 ms be2079.ccr21.ord01.atlas.cogentco.com (154.54.27.181)  276.143 ms
13  be2157.ccr22.mci01.atlas.cogentco.com (154.54.6.117)  289.854 ms  288.139 ms be2158.mpd21.mci01.atlas.cogentco.com (154.54.7.129)  288.767 ms
14  be2010.ccr22.dfw01.atlas.cogentco.com (154.54.46.218)  300.761 ms * be2064.ccr21.dfw01.atlas.cogentco.com (154.54.5.218)  300.649 ms
15  be2144.ccr21.iah01.atlas.cogentco.com (154.54.25.105)  306.611 ms be2145.mpd21.iah01.atlas.cogentco.com (154.54.25.217)  306.544 ms be2147.mpd22.iah01.atlas.cogentco.com (154.54.27.17)  306.526 ms
16  be2068.mpd22.lax01.atlas.cogentco.com (154.54.7.158)  338.575 ms be2065.ccr21.lax01.atlas.cogentco.com (154.54.5.66)  339.757 ms be2066.ccr22.lax01.atlas.cogentco.com (154.54.7.54)  339.681 ms
17  te4-3.ccr01.las02.atlas.cogentco.com (154.54.24.50)  348.149 ms  347.073 ms  345.634 ms
18  te4-2.ccr01.las03.atlas.cogentco.com (154.54.80.122)  346.220 ms te4-1.ccr01.las03.atlas.cogentco.com (154.54.80.118)  345.901 ms *
19  * * *
20  * * *
# [skipped]
60  * * *

Во втором IP (162.252.242.254) первые три октета совпадают с IP сервера.

Вот эта строчка меня смутила сразу, а потом я посмотрел в руководство, на которое вы сослались, а там:

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

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