Добрый день, у меня стала задача, осуществить подключение двух локальных сетей по VPN, были выбраны для этой задачи два роутера ASUS RT-N18U, в характеристиках которых сказано, что они способны на решение этой задачи.
Сразу уточню, что к роутерам подключены не обычные ПК, а промышленные контроллеры, работающие под ОС Windows 7 Embedded Compact.
Итак исходные данные: Роутер №1 подключен к сети интернет с внешним статическим (публичным) IP (например: 192.168.245.2, шлюз 192.168.245.1, маска 255.255.255.0) Роутер №2 подключен к интернету по обычному 4G модему от Мегафона.
На Роутере №1 настроил Open VPN по рекомендациям технической поддержки ASUS, затем экспортировал файл настроек client.ovpn и на Роутере №2 его активировал, после чего подключение произошло и на этом радость закончилась).
При настройке OpenVPN для клиентов сети была выбрана сеть 192.168.2.0/24, маска 255.255.255.0. У клиентов подключенных к роутеру №1 сеть имеет адрес 192.168.0.0/24, маска 255.255.255.0, у роутера №2 192.168.1.0/24.
Вопрос вот в чем, как сделать так, чтобы клиенты подключенные к роутеру №1 (192.168.0.1 маска 255.255.255.0) видели в сетевом окружении клиентов роутера №2 (192.168.1.1, маска 255.255.255.0) и обратно. Ничего не получается, уже неделю пытаюсь
с этим самостоятельно разобраться, на каких форумах только не читал информацию об этом, и что только не перепробовал, ничего не выходит. Думаю, что нужно прописывать маршруты, но и это мне не удалось сделать, пробовал все возможные варианты, ничего не работает, логично, что делаю что-то не так. Сразу скажу, что я не специалист в этом направлении, поэтому хочу принести извинения за неверные изъяснения в этой области. Помогите мне пожалуйста, очень нужно это настроить. При необходимости могу выложить скриншоты настроек, и журналов на обоих роутерах. Пробовал строить маршруты - не строятся (командой tracert). Пинг проходит только от клиента к серверу, причем только до Роутера №1 с адресом 192.168.0.1, до клиентов подключенных к роутеру Пинг не проходит.
Брандмауэр отключен на обоих роутерах.
OpenVPN на двух роутерах ASUS RT-N18U (Как настроить сеть между клиентами подключенными по VP)
Модератор: SLEDopit
-
- Модератор
- Сообщения: 20909
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: OpenVPN на двух роутерах ASUS RT-N18U
«Сетевое окружение», точнее то, что под ним подразумевается в винде, — это специфичная для винды штука. Какого ответа Вы ждёте на этом форуме?
Значит надо настроить маршрутизацию.
Насчёт того, что «пинг не проходит до клиентов», могу предположить, что Вы допускаете распространённую ошибку. Вполне вероятно, что запрос до клиентов таки доходит, а вот ответ теряется, потому что клиент не знает маршрута до роутера № 2. Запускайте сниффер на клиенте и проверяйте.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 4
Re: OpenVPN на двух роутерах ASUS RT-N18U
Bizdelnick писал(а): ↑05.03.2016 14:36
«Сетевое окружение», точнее то, что под ним подразумевается в винде, — это специфичная для винды штука. Какого ответа Вы ждёте на этом форуме?
Значит надо настроить маршрутизацию.
Насчёт того, что «пинг не проходит до клиентов», могу предположить, что Вы допускаете распространённую ошибку. Вполне вероятно, что запрос до клиентов таки доходит, а вот ответ теряется, потому что клиент не знает маршрута до роутера № 2. Запускайте сниффер на клиенте и проверяйте.
Хотелось бы получить совет в каком направлении действовать и как прописать правильно маршруты.
Что за сниффер?
-
- Модератор
- Сообщения: 20909
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: OpenVPN на двух роутерах ASUS RT-N18U
Не знаю. Я же говорю: не стоит ждать ответов на вопросы про винду на этом форуме. Эта тема вообще здесь — офтопик.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 280
- ОС: OpenBSD
Re: OpenVPN на двух роутерах ASUS RT-N18U
потрудитесь потратить 15 минут и нарисовать схему сети со всеми обозначениями и тп.
например:
для понимания сути вам самому это не повредит, остальным же будет проще понять, чем читать простыню.
так же необходимо привести скриншоты настроек на обоих роутерах или текстовые конфиги, если таковые имеются.
например:
для понимания сути вам самому это не повредит, остальным же будет проще понять, чем читать простыню.
так же необходимо привести скриншоты настроек на обоих роутерах или текстовые конфиги, если таковые имеются.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 4
Re: OpenVPN на двух роутерах ASUS RT-N18U
nerve писал(а): ↑07.03.2016 15:16потрудитесь потратить 15 минут и нарисовать схему сети со всеми обозначениями и тп.
например:
для понимания сути вам самому это не повредит, остальным же будет проще понять, чем читать простыню.
так же необходимо привести скриншоты настроек на обоих роутерах или текстовые конфиги, если таковые имеются.
Прикладываю скриншоты настроек Сервера и Клиента, а так же схему, извиняюсь сразу, если что-то неверно изобразил)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Модератор
- Сообщения: 20909
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: OpenVPN на двух роутерах ASUS RT-N18U
Не вижу ничего про клиента. И непонятно, что за параметр самый нижний в настройках сервера (ных клиентов).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 311
- ОС: ubuntu
Re: OpenVPN на двух роутерах ASUS RT-N18U
покажите еще скрин вкладки "маршруты"
-
- Сообщения: 4
Re: OpenVPN на двух роутерах ASUS RT-N18U
Bizdelnick писал(а): ↑08.03.2016 02:20
Не вижу ничего про клиента. И непонятно, что за параметр самый нижний в настройках сервера (ных клиентов).
Самый нижний параметр "Разрешить только для указанных клиентов" - это для разрешения доступа для подключения к VPN серверу конкретных пользователей с
определенным IP адресом.
Что касается маршрутов, то я их прописывал, но потом все удалил, решил что они не нужны.
Точный IP моего роутера внешний 213.108.215.194, шлюз 213.108.215.193, маска 255.255.255.240
маршруты прописывал такие:
Сервер:
192.168.0.0 255.255.255.0 192.168.1.0
Клиент:
192.168.1.0 255.255.255.0 213.108.215.193
никакого эффекта.
-
- Сообщения: 280
- ОС: OpenBSD
Re: OpenVPN на двух роутерах ASUS RT-N18U
попробуем разобраться
1) клиент, он же роутер1, с динамическим интернет адресом, подключается на внешний адрес роутера2, где запущен сервер ОпенВПН.
2) для ОпенВПН была выбрана сеть 192.168.2.0/24. Это значит, что при подключении клиента, сервер выдает ему свободный адрес из выбранной сети и таким образом в рамках этой сети между клиентом и сервером осуществляется передача данных. И хотя в реальности процесс выдачи адресов и количеством задействованных адресов для подключения клиентов не соответствует описанию выше, но этим можно пренебречь.
3) после успешного установления соединения между клиентом и сервером можно проверить пингом связь в рамках сети 192.168.2.0/24. Для этого понадобится консоль, в которой командой ifconfig можно посмотреть активные сетевые интерфейсы и соответствующие им адреса. На клиенте эта команда должна выдать два адреса для интерфейса ОпенВПН, который обычно называется tun. Первый адрес - это адрес со стороны клиента, а второй - сторона сервера ОпенВПН. Пинганув оба адреса можно понять какой из них какой по задержке ответа, то есть пинг с бОльшей задержкой - это пинг стороны сервера внутри ВПН тоннеля.
4) теперь разберемся почему локальная сеть за клиентом, то есть за роутером1 не видит локальной сети за роутером2. Для начала стоит попробовать пинговать с клиента/роутера1 адреса в локальной сети за роутером2.
Пусть за роутером1 будет сеть 192.168.1.0/24, а за роутером2 192.168.3.0/24. То есть с роутера1 мы пингуем адреса вида 192.168.3.1-254. Для того чтобы роутер1 знал о маршруте в эту сеть, на сервере ОпенВПН должна быть соответствующая настройка вида
которая при подключении клиента добавляет на него маршрут в третью сеть через ВПН тоннель.
В вашем случае этого возможно не потребуется так как стоит галочка вида "Предоставить локальную сеть клиентам", что вероятно говорит о том, что маршрут в сеть за сервером ОпенВПН добавляется автоматически.
Так же стоит галочка "Непоср клиенты для перенаправления интернет трафика", что говорит о том, что на стороне клиента шлюзом по умолчанию становится сервер ВПН, что во многих случаях не есть хорошо.
Итак, если на клиенте есть маршрут в третью сеть или шлюзом по умолчанию стал сервер ВПН, то пинг к хосту в третью сеть должен пойти сначала по тоннелю, дойти до стороны сервера ВПН, там произойдет расшифрование пакета и уже незашифрованный пакет попадет в системную таблицу маршрутизации роутера2, который увидев, что пакет предназначается хосту в сети, подключенной к одному из его интерфейсов, выпустит этот пакет в локальную сеть, где тот найдет искомый хост. Далее искомый хост формирует обратный пакет, то есть с адреса вида 192.168.3.1-254 пакет пойдет на адрес вида 192.168.2.n, с которого пришел запрос. У искомого хоста роутер2 должен быть шлюзом по умолчанию, таким образом обратный пакет попадет сначала на роутер2, где в таблице маршрутизации есть сеть 2.0. Пакет инкапсулируется/шифруется, попадает в тоннель и возвращается клиенту.
5) что изменится, если пинг в третью сеть запустить с хоста в сети за роутером1? Пакет попадет на роутер1, попадет в тоннель, выйдет из него, попадет в третью сеть, хост ответит на него и теперь пакет должен вернуться на адрес вида 192.168.1.n. Проблема начнется на роутере2, куда пакет попадет с хоста в третьей сети, который мы пинговали. Там просто не будет маршрута в первую сеть. Можно попробовать добавить несуществующий маршрут, например
и тогда обратный пакет попадет в тоннель и вернется отправителю из первой сети.
6) проблему с маршрутом можно решить на роутере1 другим способом. На роутере2 ничего не прописывать, а сделать НАТ на tun интерфейсе клиента для входящих соединений с первой сети с адресом назначения в третью сеть. Можно ли это сделать на данном роутере - я не знаю. На практике такой "костыль" вполне себе успешно работает.
Удачи.
1) клиент, он же роутер1, с динамическим интернет адресом, подключается на внешний адрес роутера2, где запущен сервер ОпенВПН.
2) для ОпенВПН была выбрана сеть 192.168.2.0/24. Это значит, что при подключении клиента, сервер выдает ему свободный адрес из выбранной сети и таким образом в рамках этой сети между клиентом и сервером осуществляется передача данных. И хотя в реальности процесс выдачи адресов и количеством задействованных адресов для подключения клиентов не соответствует описанию выше, но этим можно пренебречь.
3) после успешного установления соединения между клиентом и сервером можно проверить пингом связь в рамках сети 192.168.2.0/24. Для этого понадобится консоль, в которой командой ifconfig можно посмотреть активные сетевые интерфейсы и соответствующие им адреса. На клиенте эта команда должна выдать два адреса для интерфейса ОпенВПН, который обычно называется tun. Первый адрес - это адрес со стороны клиента, а второй - сторона сервера ОпенВПН. Пинганув оба адреса можно понять какой из них какой по задержке ответа, то есть пинг с бОльшей задержкой - это пинг стороны сервера внутри ВПН тоннеля.
4) теперь разберемся почему локальная сеть за клиентом, то есть за роутером1 не видит локальной сети за роутером2. Для начала стоит попробовать пинговать с клиента/роутера1 адреса в локальной сети за роутером2.
Пусть за роутером1 будет сеть 192.168.1.0/24, а за роутером2 192.168.3.0/24. То есть с роутера1 мы пингуем адреса вида 192.168.3.1-254. Для того чтобы роутер1 знал о маршруте в эту сеть, на сервере ОпенВПН должна быть соответствующая настройка вида
Код: Выделить всё
push "route 192.168.3.0 255.255.255.0"
которая при подключении клиента добавляет на него маршрут в третью сеть через ВПН тоннель.
В вашем случае этого возможно не потребуется так как стоит галочка вида "Предоставить локальную сеть клиентам", что вероятно говорит о том, что маршрут в сеть за сервером ОпенВПН добавляется автоматически.
Так же стоит галочка "Непоср клиенты для перенаправления интернет трафика", что говорит о том, что на стороне клиента шлюзом по умолчанию становится сервер ВПН, что во многих случаях не есть хорошо.
Итак, если на клиенте есть маршрут в третью сеть или шлюзом по умолчанию стал сервер ВПН, то пинг к хосту в третью сеть должен пойти сначала по тоннелю, дойти до стороны сервера ВПН, там произойдет расшифрование пакета и уже незашифрованный пакет попадет в системную таблицу маршрутизации роутера2, который увидев, что пакет предназначается хосту в сети, подключенной к одному из его интерфейсов, выпустит этот пакет в локальную сеть, где тот найдет искомый хост. Далее искомый хост формирует обратный пакет, то есть с адреса вида 192.168.3.1-254 пакет пойдет на адрес вида 192.168.2.n, с которого пришел запрос. У искомого хоста роутер2 должен быть шлюзом по умолчанию, таким образом обратный пакет попадет сначала на роутер2, где в таблице маршрутизации есть сеть 2.0. Пакет инкапсулируется/шифруется, попадает в тоннель и возвращается клиенту.
5) что изменится, если пинг в третью сеть запустить с хоста в сети за роутером1? Пакет попадет на роутер1, попадет в тоннель, выйдет из него, попадет в третью сеть, хост ответит на него и теперь пакет должен вернуться на адрес вида 192.168.1.n. Проблема начнется на роутере2, куда пакет попадет с хоста в третьей сети, который мы пинговали. Там просто не будет маршрута в первую сеть. Можно попробовать добавить несуществующий маршрут, например
Код: Выделить всё
route add 192.168.1.0/24 [здесь указать адрес из той пары клиентских адресов, который мы обсуждали выше, а вот какой именно из них - хз, надо пробовать]
и тогда обратный пакет попадет в тоннель и вернется отправителю из первой сети.
6) проблему с маршрутом можно решить на роутере1 другим способом. На роутере2 ничего не прописывать, а сделать НАТ на tun интерфейсе клиента для входящих соединений с первой сети с адресом назначения в третью сеть. Можно ли это сделать на данном роутере - я не знаю. На практике такой "костыль" вполне себе успешно работает.
Удачи.