LINUX.ORG.RU
ФорумAdmin

Openvpn и eth


0

1

Было у нас железо с конольной убунтой и usb модемом. Это железо коннектилось к впн серваку через openvpn и все работало идеально. Сейчас мы переходим на другой вид связи через yota и вместо интерфейса ppp у нас сейчас eth. И вдруг отказывается работать openvpn. Т е поднимается tun0 но сервер по данному адресу не пингуется, хотя на внешний ип пингуется нормально. В каком направлении рыть? Запускаю через скрипт в init.d (openvpn restart)

Перемещено tazhate из general

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

Ну так вот, я вынужден тебя огорчить - нифига подобного. Телепаты в отпуске.

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

для того и спросил куда копать, какие данные выкладывать. настройки сервера

port 1194
proto udp
dev tun
tls-server
server 192.168.0.0 255.255.0.0
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
client-config-dir /etc/openvpn/ccd
push "redirect-gateway local def1"
push "dhcp-option DNS 8.8.8.8"
duplicate-cn
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserver.crt
key /etc/openvpn/keys/vpnserver.key
dh /etc/openvpn/keys/dh1024.pem
verb 0
learn-address /sbin/generate.sh

клиент

client
dev tun
proto udp
remote [serv_ip] 1194
resolv-retry infinite
nobind
;user nobody
;group nogroup
persist-key
persist-tun

ca   ca.crt
cert start.crt
key  start.key

ns-cert-type server
verb 3
;lzo no

под [serv_ip] подразумевается внешний ип сервера который прекрасно виден

netstat -r клиентской машины

Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.1     0.0.0.0         255.255.255.255 UH        0 0          0 tun0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth2
0.0.0.0         192.168.0.1     128.0.0.0       UG        0 0          0 tun0
128.0.0.0       192.168.0.1     128.0.0.0       UG        0 0          0 tun0
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth2

ifconfig клиентской машины

eth0      Link encap:Ethernet  HWaddr 10:78:d2:8f:13:8a  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:41 Base address:0xe000 

eth2      Link encap:Ethernet  HWaddr 00:09:3b:f0:1a:40  
          inet addr:10.0.0.10  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::209:3bff:fef0:1a40/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5332 (5.3 KB)  TX bytes:6694 (6.6 KB)

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:89 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:8124 (8.1 KB)  TX bytes:8124 (8.1 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:192.168.1.58  P-t-P:192.168.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1189504 errors:0 dropped:1186180 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:1781483943 (1.7 GB)

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

к слову ifconfig сервера

eth0      Link encap:Ethernet  HWaddr 70:71:BC:09:01:25  
          inet addr:[serv-ip]  Bcast:[serv.bcast_ip]  Mask:255.255.255.224
          inet6 addr:[ip6servaddr]/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56182075 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3660576 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3756640121 (3.4 GiB)  TX bytes:515140165 (491.2 MiB)
          Interrupt:29 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:7062 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7062 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1090634 (1.0 MiB)  TX bytes:1090634 (1.0 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:192.168.0.1  P-t-P:192.168.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:126851 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127783 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:10654975 (10.1 MiB)  TX bytes:10733432 (10.2 MiB)
Nortsx ()
Ответ на: комментарий от Nortsx

Что Вы пытаесь сделать - пытаешься получить интернет через OpenVPN?

route add -host [ip.of.ovpn.server] dev eth2 gw 10.0.0.1

И собственно всё, после этого всё должно заработать :-) А вообще, просто ужасно. В смысле, таблица маршрутизации у вас просто ужасна

192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0

Это собственно tun. Поднимается после того как OpenVPN согласовал всё с сервером

10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2

Это провайдерский линк.

А вот эти строки создают проблему:

0.0.0.0 192.168.0.1 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 192.168.0.1 128.0.0.0 UG 0 0 0 tun0

И последняя строка после поднятия OpenVPN уже не работает (две вышестоящие её перекрывают, и до нее дело просто не доходит):

0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth2

Почему оно у вас не работает - пакет «куда-то» влетает в одну из строк OpenVPN'овских маршрутов. Он капсулируется и пытается отправиться по UDP на реальный IP OpenVPN-сервера. Но - опять попадает на строку маршрута OpenVPN (или возможно режется файрволом). И цикл повторяется снова и снова. Собственно команда route и должна решить вашу проблему.

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

Таблица маршрутизации выстроена автоматически. Интернет мне получать не надо, мне нужно соединить девайс с сервером для обмена командами. Интернет я получаю через eth2 с адресом 10.0.0.10(йотовский лте модем). А суть вопроса проста - почему сервер не пингуется? Вроде же они все согласовали и tun0 поднят. пинг я делаю на впн адрес сервера т е на 192.168.0.1 по идее пакет должен влетать в tun0 и потом отправляться на сервер. Я где то неправ?

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

Понял свою ошибку, поправил. Спасибо большое за помощь!

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

Угу. После поднятия vpn и замены йотовского default gw на vpn-ский, [serv_ip] тоже становится «доступен» через tun0.
1. Шлём пакет. Он заворачивается в tun.
2. Для отправки пакета на сервер (см. табл. маршрутизации) заворачиваем его в tun.
3. goto 1.
В результате и получается

RX bytes:0 (0.0 B) TX bytes:1781483943 (1.7 GB)

Чтобы этого не получалось, нужно добавить маршрут до [serv_ip]/32 через йотовский gw. А вот почему перестала срабатывать redirect-gateway def1, которая и должна была это сделать - фиг его знает.

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