Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

VPN

Автор kot, 28 июня 2012, 23:11:36

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kot

VPN
Первые шаги в сабже, поэтому прошу помощи и если можно, по подробней.

г.Уфа - Есть слака 13.37 -  сервер , он же шлюз в интернет.
eth0 - 22.22.22.22 (наружу)
eth1 - 192.168.1.1 (локалка)
на нем надо поднять OpenVPN сервер.

г.Чита - Есть слака 13.37 - удаленный работник  сидит в инете через ADSL роутер Sagemcom F@ST 2804.
надо у этого работника поднять OpenVPN клиента и поднять тоннель между сервером и клиентом.
Ну, чтоб почту читать, базами локальными пользоваться и в дальнейшем телефонией.

Даже и не знаю с чего начать?
Вроде OpenVPN и так на слаке 13.37 стоит уже, а чего дальше? :-\

Поможите, а то надо позарез!

bormant

Подобающая случаю документация:
man openvpn
/usr/doc/openvpn-*/  тут же примеры конфигов на разные типовые случаи жизни
http://openvpn.net/index.php/open-source/documentation/howto.html
http://openvpn.net/index.php/open-source/documentation/examples.html

Graf

Для начала можно попробовать sslexplorer оно, правда, давно уже не поддерживается, но на первое время пойдет.
Под кеды есть хороший клиент VPN - kvpnc тут же есть и под гном и для слаки-64.
Если недельку подождешь, выложу статью про vpn ;)

Graf

Ну, вообщем, выложил статейку как я сие делал под слаку-12.0
Думаю, с тех пор мало что изменилось, попробуй - отпишись потом.

kot

#4
замучался вконец :(
VPN не получается никак.
вот что на серваке:

# cat /etc/openvpn.conf

cd /etc/openvpn
local 22.22.22.22
proto udp
port 1194
comp-lzo
verb 3
log-append /var/log/openvpn.log
daemon
dev tap0
persist-tun
persist-key
mode server
tls-server
ifconfig-pool 192.168.111.2 192.168.111.52
ifconfig 192.168.111.1 255.255.255.0 192.168.1.1
client-to-client
cipher DES-EDE3-CBC
ca /etc/openvpn/keys/ca.crt
dh /etc/openvpn/keys/dh1024.pem
cert /etc/openvpn/keys/serv.crt
key /etc/openvpn/keys/serv.key
tls-auth /etc/openvpn/keys/ta.key 0
user nobody
group nobody
keepalive 10 600



# cat /var/openvpn.log

Thu Jul 12 14:58:28 2012 OpenVPN 2.0.9 i486-slackware-linux [SSL] [LZO] [EPOLL] built on Jun 11 2007
Thu Jul 12 14:58:28 2012 Diffie-Hellman initialized with 1024 bit key
Thu Jul 12 14:58:28 2012 Control Channel Authentication: using '/etc/openvpn/keys/ta.key' as a OpenVPN static key file
Thu Jul 12 14:58:28 2012 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 12 14:58:28 2012 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 12 14:58:28 2012 TLS-Auth MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Thu Jul 12 14:58:28 2012 TUN/TAP device tap0 opened
Thu Jul 12 14:58:28 2012 /sbin/ifconfig tap0 192.168.111.1 netmask 255.255.255.0 mtu 1500 broadcast 192.168.111.255
Thu Jul 12 14:58:28 2012 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Thu Jul 12 14:58:28 2012 GID set to nobody
Thu Jul 12 14:58:28 2012 UID set to nobody
Thu Jul 12 14:58:28 2012 UDPv4 link local (bound): 22.22.22.22:1194
Thu Jul 12 14:58:28 2012 UDPv4 link remote: [undef]
Thu Jul 12 14:58:28 2012 MULTI: multi_init called, r=256 v=256
Thu Jul 12 14:58:28 2012 IFCONFIG POOL: base=192.168.111.2 size=51
Thu Jul 12 14:58:28 2012 Initialization Sequence Completed



# ifconfig
eth0      Link encap:Ethernet  HWaddr 01:04:25:DD:6D:76
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          ...
          ...
eth1      Link encap:Ethernet  HWaddr 01:04:25:DD:6D:77
          inet addr:22.22.22.22  Bcast:22.22.22.63  Mask:255.255.255.248
          ...
          ...
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          ...
          ...
tap0      Link encap:Ethernet  HWaddr 92:FD:DC:79:04:D4
          inet addr:192.168.111.1  Bcast:192.168.111.255  Mask:255.255.255.0
          ...
          ...

т.е. получается всё как бы поднялось и работает, но вот с клиентом беда...


# cat /etc/openvpn/openvpn.conf

client                                                                                                                             
dev tap                                                                                                                           
proto udp                                                                                                                         
remote 22.22.22.22 1194                                                                                                           
resolv-retry infinite                                                                                                             
nobind                                                                                                                             
persist-key                                                                                                                       
persist-tun                                                                                                                       
ca /etc/openvpn/keys/ca.crt                                                                                                       
cert /etc/openvpn/keys/client.crt                                                                                             
key /etc/openvpn/keys/client.key                                                                                               
tls-auth /etc/openvpn/keys/ta.key 1                                                                                               
cipher DES-EDE3-CBC                                                                                                               
comp-lzo                                                                                                                           
verb 3                                                                                                                             
mute 5                                                                                                                             
ping 10                                                                                                                           
mtu-test                                                                                                                           
tun-mtu 1500                                                                                                                       
tun-mtu-extra 32                                                                                                                   
mssfix 1450                                                                                                                       
pull                                                                                                                               
route-method exe                                                                                                                   
explicit-exit-notify 10                                                                                                           
show-net-up         


импртирую конфиг в KVpnc и пытаюсь конектиться :

debug: Connect try requested, profile: _etc_openvpn_openvpn, type: OpenVPN
debug: openvpn: /usr/sbin/openvpn
debug: Loading of module "tun" was successful.
debug: Default interface: "eth0".
debug: IP address of default interface: "192.168.1.44".
debug: Default route backup process started.
info: Trying to connect to server "22.22.22.22" with ...
debug: Setting DNS_UPDATE "NO".
debug: Openvpn Version: 2.1.4
debug: [openvpn] Options error: No client-side authentication method is specified. You must use either --cert/--key, --pkcs12, or --auth-user-pass
debug: [openvpn] Use --help for more information.
debug: [openvpn]
debug: Starting Openvpn management handler...
debug: OpenvpnManagementHandler: start
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)...
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)... host found
debug: OpenvpnManagementHandler Management greeting timer started.
error: OpenvpnManagementHandler: Connection refused
error: OpenvpnManagementHandler: Got no greeting within 3 seconds from management interface, retrying.
debug: OpenvpnManagementHandler: Socket to the OpenVPN manage port (2222) closed.
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)...
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)... host found
debug: OpenvpnManagementHandler Management greeting timer started.
error: OpenvpnManagementHandler: Connection refused



# ifconfig

eth0      Link encap:Ethernet  HWaddr 01:11:B9:39:8F:AF 
          inet addr:192.168.1.44  Bcast:192.168.1.255  Mask:255.255.255.0
          ...
          ...
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          ...
          ...


помогите, плиз, где чего порпавить, а то я запутался чет :(

bormant

#5
debug: [openvpn] Options error: No client-side authentication method is specified. You must use either --cert/--key, --pkcs12, or --auth-user-pass

man openvpn
Example 3: A tunnel with fill TLS-based security

kot

вроде, тоннель поднялся.

debug: Connect try requested, profile: _etc_openvpn_openvpn_2, type: OpenVPN
debug: openvpn: /usr/sbin/openvpn
debug: Support for TUN/TAP found (compiled into kernel or kernel module already loaded).
debug: No default interface found, using "lo".
debug: No IP for default interface found, using "127.0.0.1".
debug: Default route backup process started.
info: Trying to connect to server "22.22.22.22" with ...
debug: Setting DNS_UPDATE "NO".
debug: Openvpn Version: 2.1.4
debug: Starting Openvpn management handler...
debug: [openvpn] Thu Jul 12 19:26:59 2012 OpenVPN 2.1.4 i486-slackware-linux-gnu [SSL] [LZO2] [EPOLL] built on Mar 29 2011
debug: [openvpn] Thu Jul 12 19:26:59 2012 WARNING: --ping should normally be used with --ping-restart or --ping-exit
debug: [openvpn] Thu Jul 12 19:26:59 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
debug: [openvpn] Thu Jul 12 19:26:59 2012 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
debug: [openvpn] Thu Jul 12 19:26:59 2012 WARNING: file '/etc/openvpn/keys/client.key' is group or others accessible
debug: [openvpn] Thu Jul 12 19:26:59 2012 WARNING: file '/etc/openvpn/keys/ta.key' is group or others accessible
debug: [openvpn] Thu Jul 12 19:26:59 2012 Control Channel Authentication: using '/etc/openvpn/keys/ta.key' as a OpenVPN static key file
debug: [openvpn] Thu Jul 12 19:26:59 2012 LZO compression initialized
debug: [openvpn] Thu Jul 12 19:26:59 2012 UDPv4 link local: [undef]
debug: [openvpn] Thu Jul 12 19:26:59 2012 UDPv4 link remote: 22.22.22.22:1194
debug: [openvpn]
debug: OpenvpnManagementHandler: start
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)...
debug: OpenvpnManagementHandler: Connecting to the OpenVPN manage port (2222)... host found
debug: OpenvpnManagementHandler Management greeting timer started.
debug: OpenvpnManagementHandler: Connected to the OpenVPN manage port (2222).
debug: OpenvpnManagementHandler raw: >INFO:OpenVPN Management Interface Version 1 -- type 'help' for more info
debug: OpenvpnManagementHandler: Got greeting from management interface.
debug: [openvpn] Thu Jul 12 19:26:59 2012 [serv.dom] Peer Connection Initiated with 22.22.22.22:1194
debug: [openvpn]
debug: [openvpn] Thu Jul 12 19:27:01 2012 TUN/TAP device tap0 opened
debug: Tunnel device: tap0
debug: [openvpn] Thu Jul 12 19:27:01 2012 /usr/sbin/ip addr add dev tap0 192.168.111.2/24 broadcast 192.168.111.255
debug: [openvpn] Thu Jul 12 19:27:01 2012 /root/.kde/share/apps/kvpnc/openvpn._etc_openvpn_openvpn_2.up tap0 1500 1574 192.168.111.2 255.255.255.0 init
debug: [openvpn]
debug: Tunnel interface IP:
debug: [openvpn] Thu Jul 12 19:27:01 2012 /usr/sbin/ip link set dev tap0 up mtu 1500
debug: [openvpn]
debug: [openvpn] Thu Jul 12 19:27:01 2012 NOTE: unable to redirect default gateway -- VPN gateway parameter (--route-gateway or --ifconfig) is missing
debug: [openvpn] Thu Jul 12 19:27:01 2012 Initialization Sequence Completed
success: Connection established.
success:
debug: [openvpn] Using tap0 as tunnel device.
debug: setFirewallAfterConnectScript: /root/.kde/share/apps/kvpnc/firewall_after_connect_script._etc_openvpn_openvpn_2
debug: Insert rule for fixing path MTU discovery problem
debug: "SetFirewallAfterConnectScript" started.
debug: "SetFirewallAfterConnectScript" finished.
debug: Use gateway address (22.22.22.22) for connection status check.
debug: "ping_check.sh" started.
debug: [openvpn]
debug: Ping to 22.22.22.22 within 10 checks every 20s was ok.
debug: Ping to 22.22.22.22 within 10 checks every 20s was ok.


# ifconfig
eth0      Link encap:Ethernet  HWaddr 01:11:B9:39:8F:AF 
          inet addr:192.168.1.44  Bcast:192.168.1.255  Mask:255.255.255.0
          ...
          ...
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
         ...
         ...
tap0      Link encap:Ethernet  HWaddr DD:7A:66:4E:D9:8A 
          inet addr:192.168.111.2  Bcast:192.168.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:3010 (2.9 Kb)  TX bytes:7202 (7.0 Kb)


вот только теперь не пойму а как юзать, например шару на серваке в локалке?
допустим \\192.168.1.50\shara  пинга до него нет...

Graf


kot

 с клиента?
если с сервера, то чуток по позже.

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.111.0   0.0.0.0         255.255.255.0   U     0      0        0 tap0

Graf

Цитата: kot от 13 июля 2012, 16:24:21
с клиента?
Да, все правильно, с клиента..

Но у тебя интересная ситуация получается:
adsl роутер выдал клиенту адрес из под сети 192.168.1.0/24 и локальная сеть в организации у тебя в этой же сети.
Более того, судя по выводу route -n,  и adsl роутер имеет такой же IP, что  сервер VPN в локалке, т.е. 192.168.1.1

Особо голова сейчас не варит, но как вариант:
1. поменять IP adsl роутера, скажем, на 192.168.2.1 и заодно настроить на нем dhcp, чтоб отдавались IP адреса из под сетки 192.168.2.0/24
2. дописать на сервере в  /etc/openvpn/openvpn.conf строчку

Цитировать
.............
client-to-client                                                                                                                   
push "route 192.168.1.0 255.255.255.0 192.168.111.1"   
cipher DES-EDE3-CBC
..............
3. рестартануть openvpn на сервере, потом на клиенте.

можно не трогая сервак,  скомандовать на клиенте

# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.111.1

должно заработать.

kot

Ураааааа!!! Заработало! :)
Graf, bormant - огромное спасибо !!!!
поменял IP на роутере и конфиг для сервера взял целиком со статьи, изменив адреса и всё. :)

вот только вопрос безопасности мучает.
а если кто файлами сертификатов завладеет или сотрудник уволится, как быть?
если долго объяснять ткните в русскоязычную доку плиз.

kot

Опять столкнулся с трудностью :(
у сотрудника стоит аналоговый телефон, для работы с VoIP ему купили VoIP шлюз
Hanlong Unicorn 3001
моя задача настроить все это дело через OpenVPN, но как?
VPN-то у меня на компе поднимается, а она с компом может работать как мост и как шлюз.
назначение адреса из тоннеля или локали организации результатов не дает.. :(
понимаю, что пробел у меня в знаниях по сетевым маршрутам и всяким тоннелям, потому и прошу у вас помощи :)

Graf

Цитата: kot от 16 июля 2012, 13:46:10
вот только вопрос безопасности мучает.
а если кто файлами сертификатов завладеет или сотрудник уволится, как быть?
если долго объяснять ткните в русскоязычную доку плиз.
смотри в сторону revoke-full , правда, на буржуйском.

Graf

Цитата: kot от 03 августа 2012, 20:59:36
Опять столкнулся с трудностью :(
у сотрудника стоит аналоговый телефон, для работы с VoIP ему купили VoIP шлюз
Hanlong Unicorn 3001
моя задача настроить все это дело через OpenVPN, но как?
VPN-то у меня на компе поднимается, а она с компом может работать как мост и как шлюз.
назначение адреса из тоннеля или локали организации результатов не дает.. :(
понимаю, что пробел у меня в знаниях по сетевым маршрутам и всяким тоннелям, потому и прошу у вас помощи :)
Ссылка не рабочая.
Посмотрел в другом месте на это оборудование, тут два варианта:

1. железка поддерживает STUN, значит попробовать поднять на сервере stun-сервер и соединяться через него;
2. воткнуть в комп еще одну сетевуху и дать ей IP скажем, 192.168.3.1,  на WAN железки повесит IP, скажем, 192.168.3.123 и соединить их пачкордом.
далее:
пытаясь быть телепатом, думаю что ты пытаешься соединиться с АТС в локалке через VPN.
И учитывая, что ты сменил IP роутера, то 192.168.1.0/24 - сеть организации.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A FORWARD -d 192.168.3.0/24 -j ACCEPT
# iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
# iptables -A FORWARD -d 192.168.111.0/24 -j ACCEPT
# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o tap0 -j SNAT --to-source 192.168.111.2


В принципе, 1 вариант можно и не рассматривать, так как тоннель у тебя уже поднят через tap0, имхо.

ЦитироватьVPN-то у меня на компе поднимается,
Чет ты заговариваешься, "у тебя" или "у сотрудника" всетаки ? ;)

kot

спасибо, заработало, но в одном направлении.
исходящие куда угодно, а вот входящий, ни кто не дозвонится :(

Цитата: Graf от 08 августа 2012, 19:38:40
ЦитироватьVPN-то у меня на компе поднимается,
Чет ты заговариваешься, "у тебя" или "у сотрудника" всетаки ? ;)
ну, я же сначала на себе все пробую, когда 100% заработает, тогда сотруднику поставлю  :)