The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Маршрутизация без указания шлюза"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Маршрутизация без указания шлюза"  +/
Сообщение от mikhail_z (ok) on 27-Июн-12, 13:06 
Есть две физически разделённые сети: Сеть1 192.168.1.0/24 и Сеть2 192.168.21.0/24. В каждой сети есть интернет шлюз на базе Linux: Шлюз1 192.168.1.254 и Шлюз2 192.168.21.254.

Эти две сети соединяются по VPN (используется OPenVPN), где на Шлюзе1 поднят VPN-сервер (адрес 192.168.13.1), а на Шлюзе2, соответственно, клиент (адрес 192.168.13.2).

При активном VPN соединении таблицы маршрутизации выглядят следующим образом (не имеющие отношения к проблеме строки удалил, как и адрес шлюза интернет-провайдера):

Сервер1 (br0 - интерфейс локальной сети, tun4 - интерфейс VPN туннеля, vlan105 - интерфейс WAN):
# ip route
192.168.13.2 dev tun4  proto kernel  scope link  src 192.168.13.1
192.168.21.0/24 via 192.168.13.2 dev tun4
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.254
127.0.0.0/8 via 127.0.0.1 dev lo
default via <inet gw> dev vlan105  metric 11

Сервер2 (eth0 - интерфейс локальной сети, tun4 - интерфейс VPN туннеля, eth1 - интерфейс WAN):
# ip route
192.168.13.1 dev tun4  proto kernel  scope link  src 192.168.13.2
192.168.21.0/24 dev eth0  proto kernel  scope link  src 192.168.21.254
192.168.1.0/24 via 192.168.13.1 dev tun4
127.0.0.0/8 via 127.0.0.1 dev lo
default via <inet gw> dev eth1  metric 4

Разрешение на доступ к ресурсам клиентов Сети1 к ресурсам Сети2 и наоборот устанавливается через iptables.

НО! Появилось в Сети2 устройство, в котором в сетевых настройках нельзя указать адрес шлюза, только IP и маску (DHCP не предусмотрен). В Сети2 это устройство доступно (через сопроводительный спецсофт) по сети, пингуется.

Из Сети1 это устройство не доступно и не пингуется.

Как организовать доступ к этому устройству из Сети1?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Маршрутизация без указания шлюза"  +/
Сообщение от PavelR (ok) on 27-Июн-12, 13:58 
> Из Сети1 это устройство не доступно и не пингуется.
> Как организовать доступ к этому устройству из Сети1?

SNAT-ить траффик из сети1 к устройству.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Маршрутизация без указания шлюза"  +/
Сообщение от LSTemp (ok) on 28-Июн-12, 02:24 
>> Из Сети1 это устройство не доступно и не пингуется.
>> Как организовать доступ к этому устройству из Сети1?
> SNAT-ить траффик из сети1 к устройству.

ммм... спорно...

очевидно, что другие хосты/сервисы из сети 1 в сети 2 доступны и следовательно надо заострить внимание на том, как посылать ответы от нового девайса из сети 2 в сеть 1 (если шлюз на нем указать не возможно).

вторая очевидная вещь (хотя как сказать), что девайс в сети 2 скорее всего предназначен только для работы по ЛС (ибо шлюза нет).

в итоге задача сводится ИМХО к тому (в лучшем случае - если только шлюзованием ответов от коробки обойдется) к маршрутизации пакетов (по источнику) от девайса из сети 2 в сеть 1. но скорей всего бриджевать придется.

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


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Маршрутизация без указания шлюза"  +/
Сообщение от PavelR (ok) on 28-Июн-12, 07:39 

> в итоге задача сводится ИМХО [skip] к маршрутизации пакетов (по источнику)
> от девайса из сети 2 в сеть 1.

Всё верно, только запросы на девайс должны приходить с адреса из сети 2

пакет из сети 1 в сеть 2 (к девайсу). Идет на его айпишник, оно маршрутизируется, и таким образом может достигнуть девайса. (адреса в пакете: сеть1->сеть2). Поскольку девайс не умеет маршрутизировать на дефгейтвей, то ответа от него не получим.

Включаем нат.

пакет из сети 1 в сеть 2 (к девайсу). Идет на его айпишник, оно маршрутизируется, на рутере ему делают снат на айпишник из сети2. Пакет прилетает на девайс от имени адреса рутера (может быть дополнительным адресом, это по вкусу), т.е. с адреса из сети2. Девайс умеет слать такие ответы, так что ответный пакет прилетит на рутер, там его транслятор адресов подхватит, поменяет адрес назначения (это ответный пакет!)  и пакет замаршрутизируется в сеть 1.

Типа связь будет.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Маршрутизация без указания шлюза"  +/
Сообщение от LSTemp (ok) on 29-Июн-12, 21:18 
>[оверквотинг удален]
> от него не получим.
> Включаем нат.
> пакет из сети 1 в сеть 2 (к девайсу). Идет на его
> айпишник, оно маршрутизируется, на рутере ему делают снат на айпишник из
> сети2. Пакет прилетает на девайс от имени адреса рутера (может быть
> дополнительным адресом, это по вкусу), т.е. с адреса из сети2. Девайс
> умеет слать такие ответы, так что ответный пакет прилетит на рутер,
> там его транслятор адресов подхватит, поменяет адрес назначения (это ответный пакет!)
>  и пакет замаршрутизируется в сеть 1.
> Типа связь будет.

Вы правы.

Я почему-то изначально подумал о SNAT на шлюзе 1-й сети после Вашего ответа.
Тогда бы пакет конечно просто со шлюза 2-й сети в первую просто не вернулся. При SNAT-е на шлюзе 2-й сети действительно все должно быть нормально. Времни было мало для детального анализа ситуаци, поэтому просто в словах обрисовал задачу, как я ее увидел сразу после прочтения -  надеялся, что поможет.

PS
Спасибо за пояснения Вашего ответа.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Маршрутизация без указания шлюза"  +/
Сообщение от mikhail_z (ok) on 28-Июн-12, 16:48 
>> Из Сети1 это устройство не доступно и не пингуется.
>> Как организовать доступ к этому устройству из Сети1?
> SNAT-ить траффик из сети1 к устройству.

Спасибо, друг!

Всё заработало, когда на Шлюзе2 прописал правило в iptables:
-t nat -А POSTROUTING -s 192.168.1.0/255.255.255.0 -d <ip устройства> -j SNAT --to-source 192.168.21.254

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру