Добрый день, коллеги! Что-то запутался совсем с 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 tunca /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 secretdh /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 120comp-lzo
user nobody
group nogrouppersist-key
persist-tunstatus /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 0mute 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 и обратно пакеты не ходят. Брандмауэры отключил везде для достоверности.
1) нигде не увидел iroute. возможно его не хватает.
2) Не указано, какой хост указан шлюзом на хостах сети 192.168.0.0/24
3) Откройте для себя tcpdump.
> 1) нигде не увидел iroute. возможно его не хватает.
> 2) Не указано, какой хост указан шлюзом на хостах сети 192.168.0.0/24
> 3) Откройте для себя tcpdump.1) cat /etc/openvpn/ccd/client
iroute 192.168.1.0 255.255.255.02) шлюзом для сети 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?
> 3) что именно проследить через tcpdump?куда идут пакеты, а куда не идут. Т.е., где теряются.
Вкуривать в таблицы маршрутизации и отрисовывать (за вас) Вашу схему сети мне лень.
может быть где-то ip_forward забыли включить?
>> 3) что именно проследить через tcpdump?
> куда идут пакеты, а куда не идут. Т.е., где теряются.
> Вкуривать в таблицы маршрутизации и отрисовывать (за вас) Вашу схему сети мне
> лень.
> может быть где-то ip_forward забыли включить?ip_forward точно включен, потому что VPN-сервер является также и шлюзом сети 192.168.0.0/24 (впрочем, как и клиент - тоже шлюз сети 192.168.1.0/24). Стало быть, ничего на машинах в этих сетях прописывать дополнительно не нужно. И я не понимаю, что еще, собственно, нужно? Разве не должно заработать все автоматически?
> 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 - нету.
> Конфигурация такая: сеть,
> в которой запущен 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.0route 192.168.0.0 255.255.255.0 где?
> ;client-to-clientразве не должно быть раскомментировано?
>[оверквотинг удален]
>> И сеть самой 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-клиентами, а он у меня и так один. Мне нужно, чтобы сети могли пакетами обмениваться...
покажи еще что в этом файле /etc/openvpn/ccd,
но думаю что вся проблема в том что не указано
route 192.168.0.0 255.255.255.0
> покажи еще что в этом файле /etc/openvpn/ccd,
> но думаю что вся проблема в том что не указано
> route 192.168.0.0 255.255.255.0cat /etc/openvpn/ccd/client
iroute 192.168.1.0 255.255.255.0только ведь ccd - это каталог... А внутри него - файл client с вот таким содержимым. Или ccd - файл?
> только ведь 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 залезть, если в конфиге это не разрешено. добавьте в еще один маршрут эту зону
параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нет
> параметр push "route 192.168.0.0" старается толкать трафик через маршрут которого нетхм... а как тогда прописать корректно?
>> параметр 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 будет актуален
>>> параметр 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, то можно четко понять, куда не идут пакеты, а потом уже быстро разобраться, почему они туда не идут, а не рассчитывать в голове всю схему и настройки в куче точек.
>>>> параметр 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
>>>>> параметр 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 по каждой из этих сетей, правильно понял?
>>> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
>>> потом уже быстро разобраться, почему они туда не идут, а не
>>> рассчитывать в голове всю схему и настройки в куче точек.
>> дельный совет +1
> Еще уточню - route для двух сетей прописать, и два push по
> каждой из этих сетей, правильно понял?мой ответ на этот вопрос: не правильно.
>>>> Если воспользоваться tcpdump, то можно четко понять, куда не идут пакеты, а
>>>> потом уже быстро разобраться, почему они туда не идут, а не
>>>> рассчитывать в голове всю схему и настройки в куче точек.
>>> дельный совет +1
>> Еще уточню - route для двух сетей прописать, и два push по
>> каждой из этих сетей, правильно понял?
> мой ответ на этот вопрос: не правильно.достаточно одной в push
Если произошли изменения в конфиге, то скиньте его еще раз
> Если произошли изменения в конфиге, то скиньте его еще разВ общем, проблему выяснил - оказалось, что на железке (ASUS RT-AC66U) уже был поднят коннект по PPPoE, а сеть у провайдера совпадала с сетью за VPN-сервером... Пришлось мне менять с 192.168.0.0/24 на 192.168.10.0/24 Но и на этом не закончилось - обратил внимание, что после установления коннекта по OpenVPN рабочие станции обмениваются пакетами буквально несколько минут, после чего (если не постоянно слать ping туда и обратно) связь пропадает. То есть пинг не идет, tracert тоже уходит в никуда. Переподключаешься - снова работает пару минут и глохнет... Это что такое может быть?