URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95462
[ Назад ]

Исходное сообщение
"2 сети не видят друг друга (OpenVPN)"

Отправлено garett , 24-Фев-14 12:32 
Добрый день, коллеги! Что-то запутался совсем с VPN - настроил конфиги, а две сетки друг друга все равно не видят. Конфигурация такая: сеть, в которой запущен OpenVPN - 192.168.0.0/24. Сетка с VPN-клиентом - 192.168.1.0/24. И сеть самой VPN - 192.168.2.0/24 Делал так:
----OpenVPN server----
port 1194
proto udp
dev tun

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key # This file should be kept secret

dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 192.168.2.0 255.255.255.0
ifconfig-pool-persist /var/log/ipp.txt
push "route 192.168.0.0 255.255.255.0"

client-config-dir /etc/openvpn/ccd
route 192.168.1.0 255.255.255.0

;client-to-client
keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status /var/log/openvpn-status.log

log-append /var/log/openvpn.log
verb 0

mute 20
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
---------------------------
------OpenVPN client----------
client
dev tun
proto udp
remote real-IP 1194
nobind
persist-key
persist-tun
;script-security 3
ca ca.crt
cert client.crt
key client.key
log client.log
verb 5
comp-lzo
-----------
VPN-сервер поднят на Debian, клиентом служит железка ASUS RT-AC66U. Ключи туда скопировал, канал поднимается. Но пинговать я могу сеть за клиентом только с OpenVPN-сервера. Из сети 192.168.0.0/24 в 192.168.1.0/24 и обратно пакеты не ходят. Брандмауэры отключил везде для достоверности.


Содержание

Сообщения в этом обсуждении
"2 сети не видят друг друга (OpenVPN)"
Отправлено PavelR , 24-Фев-14 13:32 
1) нигде не увидел iroute. возможно его не хватает.
2) Не указано, какой хост указан шлюзом на хостах сети 192.168.0.0/24
3) Откройте для себя tcpdump.

"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 24-Фев-14 13:44 
> 1) нигде не увидел iroute. возможно его не хватает.
> 2) Не указано, какой хост указан шлюзом на хостах сети 192.168.0.0/24
> 3) Откройте для себя tcpdump.

1) cat /etc/openvpn/ccd/client
iroute 192.168.1.0 255.255.255.0

2) шлюзом для сети 192.168.0.0/24 является 192.168.0.15 (на нем поднят OpenVPN-сервер):
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:89:29:c8
          inet addr:192.168.0.15  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe89:29c8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1606164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1560946 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1474443244 (1.3 GiB)  TX bytes:1122291761 (1.0 GiB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:89:29:d2
          inet addr:real_IP  Bcast:real  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe89:29d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3212584 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1864177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1527026681 (1.4 GiB)  TX bytes:1505447210 (1.4 GiB)

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:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1364 (1.3 KiB)  TX bytes:1364 (1.3 KiB)

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.2.1  P-t-P:192.168.2.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:120 (120.0 B)  TX bytes:120 (120.0 B)

3) что именно проследить через tcpdump?


"2 сети не видят друг друга (OpenVPN)"
Отправлено PavelR , 24-Фев-14 17:57 

> 3) что именно проследить через tcpdump?

куда идут пакеты, а куда не идут. Т.е., где теряются.

Вкуривать в таблицы маршрутизации и отрисовывать (за вас) Вашу схему сети мне лень.


может быть где-то ip_forward забыли включить?



"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 25-Фев-14 10:15 
>> 3) что именно проследить через tcpdump?
> куда идут пакеты, а куда не идут. Т.е., где теряются.
> Вкуривать в таблицы маршрутизации и отрисовывать (за вас) Вашу схему сети мне
> лень.
> может быть где-то ip_forward забыли включить?

ip_forward точно включен, потому что VPN-сервер является также и шлюзом сети 192.168.0.0/24 (впрочем, как и клиент - тоже шлюз сети 192.168.1.0/24). Стало быть, ничего на машинах в этих сетях прописывать дополнительно не нужно. И я не понимаю, что еще, собственно, нужно? Разве не должно заработать все автоматически?


"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 24-Фев-14 14:02 
> 1) нигде не увидел iroute. возможно его не хватает.
> 2) Не указано, какой хост указан шлюзом на хостах сети 192.168.0.0/24
> 3) Откройте для себя tcpdump.

Вывод таблиц маршрутизации:
- на компе 192.168.1.73 (сеть за VPN-клиентом):
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     192.168.1.21     192.168.1.73    261
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0      192.168.2.6     192.168.1.73      6
      192.168.1.0    255.255.255.0         On-link      192.168.1.73    261
     192.168.1.73  255.255.255.255         On-link      192.168.1.73    261
    192.168.1.255  255.255.255.255         On-link      192.168.1.73    261
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.1.73    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.1.73    261

- на компе 192.168.0.10 (сеть за VPN-сервером):
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.0.15     192.168.0.10    261
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link      192.168.0.10    261
     192.168.0.10  255.255.255.255         On-link      192.168.0.10    261
    192.168.0.255  255.255.255.255         On-link      192.168.0.10    261
      192.168.1.0    255.255.255.0      192.168.2.1     192.168.0.10      6
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.0.10    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.0.10    261

Соответственно, с 192.168.1.73 нет пинга до 192.168.0.10 и обратно.
Уточнение: шлюзом для сети 192.168.1.0/24 является 192.168.1.21, для сети 192.168.0.0/24 -> 192.168.0.15
с VPN-сервера есть пинг до 192.168.1.73, а с VPN-клиента до 192.168.0.10 - нету.


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 09:34 
> Конфигурация такая: сеть,
> в которой запущен OpenVPN - 192.168.0.0/24. Сетка с VPN-клиентом - 192.168.1.0/24.
> И сеть самой VPN - 192.168.2.0/24 Делал так:
> ----OpenVPN server----
> server 192.168.2.0 255.255.255.0
> ifconfig-pool-persist /var/log/ipp.txt
> push "route 192.168.0.0 255.255.255.0"
> client-config-dir /etc/openvpn/ccd
> route 192.168.1.0 255.255.255.0

route 192.168.0.0 255.255.255.0 где?
> ;client-to-client

разве не должно быть раскомментировано?


"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 25-Фев-14 10:16 
>[оверквотинг удален]
>> И сеть самой VPN - 192.168.2.0/24 Делал так:
>> ----OpenVPN server----
>> server 192.168.2.0 255.255.255.0
>> ifconfig-pool-persist /var/log/ipp.txt
>> push "route 192.168.0.0 255.255.255.0"
>> client-config-dir /etc/openvpn/ccd
>> route 192.168.1.0 255.255.255.0
>  route 192.168.0.0 255.255.255.0 где?
>> ;client-to-client
> разве не должно быть раскомментировано?

Пробовал и раскомментировать - результат тот же. Как я понимаю, эта опция влияет на обмен трафиком между VPN-клиентами, а он у меня и так один. Мне нужно, чтобы сети могли пакетами обмениваться...


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 11:03 
покажи еще что в этом файле /etc/openvpn/ccd,
но думаю что вся проблема в том что не указано
route 192.168.0.0 255.255.255.0

"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 25-Фев-14 12:32 
> покажи еще что в этом файле /etc/openvpn/ccd,
> но думаю что вся проблема в том что не указано
> route 192.168.0.0 255.255.255.0

cat /etc/openvpn/ccd/client
iroute 192.168.1.0 255.255.255.0

только ведь ccd - это каталог... А внутри него - файл client с вот таким содержимым. Или ccd - файл?


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 13:30 
> только ведь ccd - это каталог... А внутри него - файл client
> с вот таким содержимым. Или ccd - файл?

прошу прощения, хотел чтобы показали содержимое файлов в каталоге.

Так можно вечно обсуждать, скажу прямо, у вас клиент имеет адрес 192.168.1.XXX, сервер 192.168.0.XXX в настройках маршрутизации в зоне VPN (192.168.2.XXX) указано следующее
route 192.168.1.0 255.255.255.0. Так каким образом вы пытаетесь в зону 192.168.0.XXX залезть, если в конфиге это не разрешено. добавьте в еще один маршрут эту зону


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 13:34 
параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет

"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 25-Фев-14 13:46 
> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет

хм... а как тогда прописать корректно?


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 13:53 
>> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет
> хм... а как тогда прописать корректно?

в конфиге должны быть 2 сети
route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0
тогда параметр push будет актуален


"2 сети не видят друг друга (OpenVPN)"
Отправлено PavelR , 25-Фев-14 16:09 
>>> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет
>> хм... а как тогда прописать корректно?
> в конфиге должны быть 2 сети
> route 192.168.0.0 255.255.255.0
> route 192.168.1.0 255.255.255.0
> тогда параметр push будет актуален

Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а потом уже быстро разобраться, почему они туда не идут, а не рассчитывать в голове всю схему и настройки в куче точек.


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 16:19 
>>>> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет
>>> хм... а как тогда прописать корректно?
>> в конфиге должны быть 2 сети
>> route 192.168.0.0 255.255.255.0
>> route 192.168.1.0 255.255.255.0
>> тогда параметр push будет актуален
> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
> потом уже быстро разобраться, почему они туда не идут, а не
> рассчитывать в голове всю схему и настройки в куче точек.

дельный совет +1


"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 25-Фев-14 16:45 
>>>>> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет
>>>> хм... а как тогда прописать корректно?
>>> в конфиге должны быть 2 сети
>>> route 192.168.0.0 255.255.255.0
>>> route 192.168.1.0 255.255.255.0
>>> тогда параметр push будет актуален
>> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
>> потом уже быстро разобраться, почему они туда не идут, а не
>> рассчитывать в голове всю схему и настройки в куче точек.
> дельный совет +1

Еще уточню - route для двух сетей прописать, и два push по каждой из этих сетей, правильно понял?


"2 сети не видят друг друга (OpenVPN)"
Отправлено PavelR , 25-Фев-14 17:41 
>>> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
>>> потом уже быстро разобраться, почему они туда не идут, а не
>>> рассчитывать в голове всю схему и настройки в куче точек.
>> дельный совет +1
> Еще уточню - route для двух сетей прописать, и два push по
> каждой из этих сетей, правильно понял?

мой ответ на этот вопрос: не правильно.


"2 сети не видят друг друга (OpenVPN)"
Отправлено NEOfantom , 27-Фев-14 10:22 
>>>> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
>>>> потом уже быстро разобраться, почему они туда не идут, а не
>>>> рассчитывать в голове всю схему и настройки в куче точек.
>>> дельный совет +1
>> Еще уточню - route для двух сетей прописать, и два push по
>> каждой из этих сетей, правильно понял?
> мой ответ на этот вопрос: не правильно.

достаточно одной в push


"2 сети не видят друг друга (OpenVPN)"
Отправлено Alex , 25-Фев-14 13:36 
Если произошли изменения в конфиге, то скиньте его еще раз

"2 сети не видят друг друга (OpenVPN)"
Отправлено garett , 28-Фев-14 10:54 
> Если произошли изменения в конфиге, то скиньте его еще раз

В общем, проблему выяснил - оказалось, что на железке (ASUS RT-AC66U) уже был поднят коннект по PPPoE, а сеть у провайдера совпадала с сетью за VPN-сервером... Пришлось мне менять с 192.168.0.0/24 на 192.168.10.0/24 Но и на этом не закончилось - обратил внимание, что после установления коннекта по OpenVPN рабочие станции обмениваются пакетами буквально несколько минут, после чего (если не постоянно слать ping туда и обратно) связь пропадает. То есть пинг не идет, tracert тоже уходит в никуда. Переподключаешься - снова работает пару минут и глохнет... Это что такое может быть?