LINUX.ORG.RU
решено ФорумAdmin

Всё та же маршрутизация OpenVPN


0

1

Добрый день подскажите проблема не новая, поискал в архивах, начало как у всех, но найти выход не получается:

3 компьютера

1) локал 192.168.0.0/24 - клиент впн - XP - внешний динамический адрес

2) локал 192.168.1.0/24 - сервер впн - Ubuntu - внешний адрес динамический dyndns

3) локал 192.168.10.0/24 - клиент впн - XP - внешний динамический адрес

Поднимается vpn по таким настройкам и пингуется нормально, но не вижу компьютеры в локальной сети, уже менял разные настройки - vpn работает только в этом

Server OpenVPN

port 1194

proto tcp

dev tun

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

server 10.8.0.0 255.255.255.0

push «route 192.168.1.0 255.255.255.0»

client-config-dir /etc/openvpn/ccd

route 192.168.0.0 255.255.255.0

route 192.168.1.0 255.255.255.0

route 192.168.10.0 255.255.255.0

ifconfig-pool-persist ipp.txt

client-to-client

keepalive 10 120

comp-lzo

persist-key

persist-tun

status openvpn-status.log

verb 3

Client OpenVPN

client

dev tun

proto tcp

remote verd.dnsias.org 1194

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert client.crt

key client.key

ns-cert-type server

comp-lzo

verb 3

/etc/openvpn/ccd/client client1 client2 - вот с этими настройками я путаюсь помогите разобраться, как правильно расписать чтобы локальная сеть за OpenVPN виделась и клиенты видели сети. Спасибо

Если нужно, что-бы были видны машинки за виндой, из первой сети в нулевой или десятой, нужно службу на винде поднять «Удаленного доступа и маршутизации» (как-то так), форвард разрешает. Ну и если машинка с ВПН не является дефолтовым гейтом (шлюзом) для других в своей сети, то лучше подобавлять маршруты в соседние сети через ВПН на каждой машине.

lvi ★★★★
()

>но не вижу компьютеры в локальной сети

Если это про «сетевое окружение», то, наверное, на Ubuntu нужна samba с wins.

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

Я видел эти настройки в инструкциях - только не пойму в каком клиенте что писать например client - у него локалка 192.168.0.0/24

/etc/openvpn/ccd/client

iroute 192.168.0.0 255.255.255.0 - указать и всё? а чтобы он видел другие сети ничего прописывать не надо?

служба «Удаленный доступ и маршрутизация» на XP включены.

....то лучше подобавлять маршруты в соседние сети через ВПН на каждой машине... не поясните предложение?

Мне кажется дело не в ОС, а в том что я что-то не додописываю в конфиге server

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

А если на убунту стоит самба - в локальной сети я же вижу компьютеры с ОС ХР, а влияет как то рабочая группа на впн - если они разные?

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

>iroute 192.168.0.0 255.255.255.0 - указать и всё? Именно так, это маршруты для сервера.

Дальше с маршрутами, давай постепенно. Сервер с Ubuntu, является гейтом поумолчанию для машин сети 192.168.1.0, если да, то все компьютеры сети 192.168.1.0 должны пинговаться с XP на которых установлен клиент VPN.

Если, неважно с какой стороны, есть машина с ВПН и есть отдельно роутер, который прописан шлюзом на всех остальных компьютерах сети, то тут 2 варианта, либо добавить статические маршруты в сторонние сети через машину с ВПН НА РОУТЕР, здесь пакеты будут ходить туда и обратно по разным маршрутам. Либо добавить эти-же маршруты на каждую машину в сети. Типа, для машин в сети 192.168.0.0:

net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1(адрес машины, на которой стоит ВПН) net 192.168.10.0 netmask 255.255.255.0 gw 192.168.0.1(адрес машины, на которой стоит ВПН)

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

>А если на убунту стоит самба - в локальной сети я же вижу компьютеры с ОС ХР, а влияет как то рабочая группа на впн - если они разные?

Влияет, что они в разных сетях, обозреватель Винды работает в одной сети.

Но для начала они должны пинговаться между собой.

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

>А если на убунту стоит самба

Самба и ВПН на одной машине? Могут быть проблемы с авторизацией, дело в том, что она будет отвечать в соседние сети не от 192.168.1.ХХХ, а от 10.8.0.ХХХ

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

Спасибо большое за то что уделяете время моей проблеме, но я что-то всё дальше запутываюсь (я просто по образованию экономист и многое не до понимаю) Поправьте меня: у меня схема такая - 3 офиса в городе и в каждой сети по одному клиенту впн и сервер, я так понял в /etc/openvpn/ccd/client прописываем iroute 192.168.0.0 255.255.255.0 - потому что он находится в сети 192.168.0.0/24 правильно, если client1 - в сети 192.168.1.0/24 то /etc/openvpn/ccd/client1 - iroute 192.168.1.0 255.255.255.0?

....Сервер с Ubuntu, является гейтом поумолчанию для машин сети 192.168.1.0, если да, то все компьютеры сети 192.168.1.0 должны пинговаться с XP на которых установлен клиент VPN..... Мне кажется вы имеете ввиду что в одной сети (например 192.168.1.0) находятся и сервер и клиенты? Мой сервер ВПН (Ubuntu) это это просто рабочая станция - он ни за что не отвечает.

......Если, неважно с какой стороны, есть машина с ВПН и есть отдельно роутер, который прописан шлюзом на всех остальных компьютерах сети, то тут 2 варианта, либо добавить статические маршруты в сторонние сети через машину с ВПН НА РОУТЕР, здесь пакеты будут ходить туда и обратно по разным маршрутам. Либо добавить эти-же маршруты на каждую машину в сети. Типа, для машин в сети 192.168.0.0:

net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1(адрес машины, на которой стоит ВПН) net 192.168.10.0 netmask 255.255.255.0 gw 192.168.0.1(адрес машины, на которой стоит ВПН)........ У меня модем просто раздаёт IP адреса, он же и основной шлюз - всё автоматом, а дальше я не осилил из того что вы написали (в 3 офисах одинаковая схема)

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

Тогда получается мне нужно изменить рабочие группы в 3 офисах на одну единую?

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

Может вам логи показать - я вас запутал наверно? Мой OpenVPN поднимается нормально во всех трёх офисах, но я как раз могу только пинговать сеть 10.8.0.0 хоть с Ubuntu, хоть с XP

Мне давали ссылку почитать - она похожа на мою проблему, но настройки немного другие сервера http://www.ylsoftware.com/news/393 - вот тут как раз есть про ccd...

Далее создаём файлы /etc/openvpn/ccd/office-1 и /etc/openvpn/ccd/office-2. Содержание первого:

# приcваиваем ip-адрес ifconfig-push 192.168.10.101 255.255.255.0

# роутинг на сети центрального офиса push «route 192.168.1.0 255.255.255.0 192.168.10.1» push «route 192.168.2.0 255.255.255.0 192.168.10.1»

# роутинг на сеть второго офиса push «route 192.168.4.0 255.255.255.0 192.168.10.102»

Содержание второго:

# присваиваем ip-адрес ifconfig-push 192.168.10.102 255.255.255.0

# роутинг на сети центрального офиса push «route 192.168.1.0 255.255.255.0 192.168.10.1» push «route 192.168.2.0 255.255.255.0 192.168.10.1»

# роутинг на сеть первого офиса push «route 192.168.3.0 255.255.255.0 192.168.10.101»

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

У вас что, компьютеры с XP ещё и маршрутизацией занимаются? Сначала добейтесь, чтобы всё пинговалось, шары открывались по ip-адресу, а потом уже говорите про сетевое окружение. На XP тоже есть firewall и таблица маршрутизации и можно дампить пакеты, чтобы понять, почему не ходят пинги.

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

Ну как вам объяснить в 1 офисе своя локалка (192.168.0.0/24), там всё нормально все друг друга видят, всё общие папки открываюся - ос ХР, 2 офис имеет локалку (192.168.10.0/24) ос ХР и Ubuntu, тоже самое всё в порядке, 3 офис (192.168.1.0/24) ос Ubuntu - аналогично.В каждом офисе по модему - которые раздают ip и всё.

Поднял openvpn, сервер решил на ubuntu разместить (192.168.1.0/24) - запускаю сервер, затем teamviewer подключаюсь к 2 офисам и запускаю там по клиенту - в итоге 3 адреса (10.8.0.2 - сервер, 10.8.0.4 - клиент(офис1), 10.8.0.8 - клиент(офис2). Пингую каждый, вижу адреса 10.8.0.0/24, но не вижу локальные адреса, пытаюсь модемы просто пингануть и то не получается, ну вроде как мог объяснил

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

Я не пойму - я же тут всё описываю вроде по простому, а вы про пинги и шары - да всё нормально же в локалной сети в каждом офисе, мне же нужно чтобы после включения впн - например компьютер из сети Офиса1 например 192.168.1.65 видел сервер из другого Офиса2 с адресом 192.168.0.203

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

>пытаюсь модемы просто пингануть и то не получается

До модемов еще не скоро, для начала нужно добиться, чтобы эти 3 машины пинговались между собой не только по адресам 10.8.0.Х, но и по своим локальным 192.168.Х.Х. Как только этого добьемся, настройку VPN можно считать законченой.

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

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

Вот как раз мне бы этого и добиться - закончить настройку VPN )))

Адреса статические получаются- я их зарезервировал по мак адресам в настройках LAN модема - теперь модемы постоянно выдаёт им одни и те же

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

Первоначальный конфиг вроде нормальный, в ccd директории сервера нужно 2 файла, для клиентов. Имена файлов должны соответствовать именам клиентов, прописанных в сертивикатах. Имена посмотреть можно в файле ipp.txt, или в логе. В каждом файле по одной строчке, как в первых постах.

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

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

Что-бы мы не писали в конфигах VPN, это касается только этих 3-х машин. Остальные, в том числе и модемы, понятия не имеют как им добраться до соседних сетей.

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

>например компьютер из сети Офиса1 например 192.168.1.65 видел сервер из другого Офиса2 с адресом 192.168.0.203

1) локал 192.168.0.0/24 - клиент впн - XP - внешний динамический адрес

2) локал 192.168.1.0/24 - сервер впн - Ubuntu - внешний адрес динамический dyndns

Дак кто сервер, а кто клиент? Хотя это не важно, я уже написал, вы после подключения смотрите таблицы маршрутизации на клиенте и сервере. Там хотя бы будет понятно, или это клиент/сервер не создают маршруты, или пинги не ходят из-за firewall'а.

пытаюсь модемы просто пингануть и то не получается

По какому адресу вы пытетесь пинговать модемы? По 192.168.x.x что-ли?

P.S. На этом форме есть кнопка «Предпросмотр» и режим отправки сообщений в выпадающем меню под формой отправки. Для отправки логов, конфигов, таблиц маршрутизации и т.д. используйте «User line breaks» и расставляйте переносы или LORCODE и оформляйте тегом [code] [\code] (см. Wiki).

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

На самом деле ТС много чего добился, поднял OpenVPN на динамическом внешнем адресе, маршруты осталось чуть подстроить. Сам не пользовал dyndns, не знаю как быстро он начнет отдавать новый IP после разрыва/восстановления связи с провайдером. Если это не так часто происходит, да и статическим можно со временем разжиться, всего то один нужен, на стороне сервера.

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

dyndns.org 60 секунд.

Добился он много. Но конечная цель мне не понятна. Должен ли один OpenVPN клиент видеть 192.168.x.x сеть другого клиента или только сеть 192.168.x.x в которой OpenVPN-сервер?

Вобще, ИМХО, лучше бы в каждой сети поставить нормальный шлюз, который бы и делал тунель до сервера/других сетей и WINS. Тогда хотя бы не нужно было настраивать хрюнделя.

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

Не могли бы вы объяснить что обозначают эти строки в моём конфиге сервера OpenVPN, за что они отвечают?

push «route 192.168.1.0 255.255.255.0»

route 192.168.0.0 255.255.255.0

route 192.168.1.0 255.255.255.0

route 192.168.10.0 255.255.255.0

Может тут что-то не то? В директории лежат 2 файла client и client1, в каждом файле прописано по одной строке в сlient - это iroute 192.168.0.0 255.255.255.0 и в client1 - это iroute 192.168.10.0 255.255.255.0 - верно?

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

3 компьютера постоянно включены, вот как раз я пингую только по 10.8.0.0/24 когда создаю запускаю сервер openvpn

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

Эти 3 машины не могут по локалке между собой пинговатся - они находятся же в разных локалках, только когда VPN поднимается я могу между собой пинговатся по сети 10.8.0.0/24 Вот я хочу этого и добится чтобы каждая локалка видела другую и компьютеры в ней

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

Firewall я на всякий случай поотключал в модемах, а больше ничего такого не установлена на компьютерах.

Смотрите после того как запустил OpenVPN сервер, который например имеет в локальной сети адрес 192.168.1.33 (впн даёт ему адрес 10.8.0.2), клиент имеет адрес в локалке 192.168.0.150 (впн даёт ему адрес 10.8.0.6) и клиент1 имеет адрес 192.168.10.85 (впн даёт ему адрес 10.8.0.10) все эти компьютеры находятся в разных точках города и имеют свои локалки - вот, теперь что нужно мне прописать чтобы я мог например просто с помощью rdesktop подключится к серверу 1с указав адрес rdesktop 192.168.0.203 находясь в сети 192.168.1.0/24 - я уж не знаю как правильно пояснить мысль

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

Видите ли статический адрес стоит денег очень дорого - мы же в Казахстане - у нас у всех динамика почти и статику только для ТОО делают

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

Это я все понял, для начала пробуем с каждого клиента пинговать 192.168.1.33 (сервер), и с сервера каждого клиента 192.168.0.150, 192.168.10.85, этого я хочу. Потом допишем, чтобы клиенты между собой пинговались, а уже потом будем решать что с остальными компьютерами делать.

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

Сейчас как раз колдую с этими строка в конфиге сервера

push «route 192.168.1.0 255.255.255.0»

client-config-dir /etc/openvpn/ccd

route 192.168.0.0 255.255.255.0

route 192.168.1.0 255.255.255.0

route 192.168.10.0 255.255.255.0

И получается такое - что если они не закомментированы я у меня не работает интернет, свою же собственную сеть он не видит, я даже модем не могу свой же пингануть, как только комментирую - перезапускаю сервер - появляется и впн и сеть 192.168.1.0/24 я вижу - мне кажется в эти строках что-то не то

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

Может с вами можно связаться как то по другому, а то уже столько написали ) Делаю так перезапускаю сервер - включается впн - пингую с клиентов - сервер (ping 192.168.1.33) ничего не происходит - пакеты не идут, с сервера пингую 192.168.0.150, 192.168.10.85 - тоже самое тишина - я убрал эти строки

push «route 192.168.1.0 255.255.255.0»

client-config-dir /etc/openvpn/ccd

route 192.168.0.0 255.255.255.0

route 192.168.1.0 255.255.255.0

route 192.168.10.0 255.255.255.0

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

>push «route 192.168.1.0 255.255.255.0»

route 192.168.0.0 255.255.255.0

route 192.168.1.0 255.255.255.0

route 192.168.10.0 255.255.255.0

Первая, добавляет маршрут, на машине клиентов. Остальные на машине с сервером, третья не нужна, поскольку он и так в этой сети. 2 и 4 нужны, но для мультиклиентского сервера (как у вас) их мало, нужны еще строчки iroute в клиентских файлах.

клиенты с сервером, должны пинговаться по 192.168-им адресам.

Дальше кривизна, поскольку машины, на которых стоят ВПНы, не являются роуторами (шлюзами) в своих сетях. Правильнее отказаться от этой затеи и поднять ВПН на модемах, наверняка они это умеют, а если еще и одинаковые, то проблем не должно быть.

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

>Эти 3 машины не могут по локалке между собой пинговатся - они находятся же в разных локалках

Так для этого мы и поднимаем ВПН, прописываем в него маршруты, чтобы они могли это делать.

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

Спасибо на примерах сразу понятней стало, значит получается нужно что-то другое искать, просто например hamachi и teamviewer vpn они нормально работают, но я не хотел зависить от них, получается мой вариант один - vpn на модемах? Придётся новую информацию искать..., модемы разные (марки и производители)

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

А ещё вопрос я же правильно делаю в ccd client1 и client - прописываю им строки iroute 192.168.х.х 255.255.255.0 в тех сетях которых они находятся?

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

Можно и на ОпенВПН, просто в вашем случае, одних настроек ВПН мало, нужно еще прописывать маршруты на модемах, или остальных компьютерах в сети. Одно дело соединить 2, 3 компьютера, другое дело сети целиком.

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

>А ещё вопрос я же правильно делаю в ccd client1 и client - прописываю им строки iroute 192.168.х.х 255.255.255.0

Да.

Если из перечисленных выше строчек, оставить только одну

push «route 192.168.1.0 255.255.255.0»

то клиенты должны пнговать сервер (ping 192.168.1.33), сервер не сможет пинговать клиентов.

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

ну вот вроде начал понимать )) с маршрутами на модемах я правда не сталкивался, а пример не приведёте в каких настройках модема это делается, чтобы мне знать с чего копать? Владимир, а если например я на сервере 1с поставлю openvpn client и мне не нужна вся сеть 192.168.0.0/24, а только 192.168.0.203 - то вот всех приведённых настроек должно хватить, без настройки маршрутов в модеме?

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

>мне не нужна вся сеть 192.168.0.0/24, а только 192.168.0.203

В сети 192.168.0.0/24 вроде ничего не надо, но надо в других сетях, чтоб машинки которые работают с 1С могли достучаться до сервера. Либо на каждой этой машине прописать маршрут в сеть 192.168.0.0/24, либо попробовать на модеме (static route, обычно это называется).

То же и в сети 192.168.0.0/24, не обязательно ставить ВПН на сервер 1С, достаточно на сервере 1С добавить маршруты в соседние сети через машину с ВПН.

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

>Вот нашёл кое-что вы это имели ввиду http://zyxel.ru/kb/1436

Для вашего случая это логичнее, люди соединяют не только модемы между собой, но и модем с *nux, Виндой в ВПН.

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

Владимир, получилось - пинги проходят, пингует 192.168.1.33 где сервер, и другие другие клиенты, какой следующий шаг, как писали убрал строку route 192.168.1.0 255.255.255.0

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

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

push «route 192.168.10.0 255.255.255.0»

push «route push „route 192.168.0.0 255.255.255.0“ .0 255.255.255.0»

По одной строчки попробовать добавить в клиентские ccd файлы, первую - первому клиенту, второю - второму (client3 чтоли), короче перекресно, у какого клиента сеть 192.168.0.0 - тому маршрут для сети 192.168.10.0, и наоборот.

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

А дальше модемы, нашли как добавить в него статические маршруты?

Каждому модему добавить 3 маршрута, на соседние сети и на сеть 10.8.0.0, в качестве гейта указать IP машины с ВПН.

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

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

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

Да, оно. Пишем, сеть, маску, IP машины с ВПН в качестве гетвея, вверху галочку Active не забыть поставить. По 3 строчки добавить в каждый модем.

Да все друг друга пингуют по локальным адресам,

маршруты на клиентских машинах должны добавиться (route print можно посмотреть на винде). Дело в том, что хоть мы с этих машинок и пингуем 192.168.Х.Х, пинги идут не с 192.168, а с 10.8 - адресов, поэтому работало и без этих маршрутов, но когда мы захотим, чтобы любая машина в одной сети видела любую в другой, то эти маршруты необхдимы.

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