LinuxForum.Fans
Тема

Шлюз. Пересечение подсетей.

Автор: drozel 13 сообщений 3722 просмотров
#379816

Используется OpenVPN (хотя, в данном случае, не критично, какая у шлюза реализация) для подключения к серверу домашней локалке с IP 192.168.0.0/24. IP интерфейса шлюза на сервере 10.8.0.1.
Таким образом, клиенты, подключенные к локалке через OpenVPN получают адреса 10.8.0.1/24.
Теперь предположим, что нам надо получить доступ к другим машинам локалки: самое простое решение - прописать маршрут в 192.168.0.0/24 через шлюз, но что, если клиент VPN также сидит в локалке и его подсеть совпадает с 192.168.0.0/24?

Есть ли возможность хитро настроить iptables, чтоб обойти эту проблему? Или единственное решение - только минимизация вероятности такого пересечения путем выбора адресов локалки?

#379825

В данном случае врятли поможет iptables.

#379827
"drozel" написал:
но что, если клиент VPN также сидит в локалке и его подсеть совпадает с 192.168.0.0/24?
использовать 172.16.0.0 или 192.168.1.0
"drozel" написал:
Есть ли возможность хитро настроить iptables
iptables потребуется только для NAT'а, что-бы переделывать пакеты на внешний IP/VPN.

"drozel" написал:
192.168.0.0/24?

эта запись означает, что из 32х битов IP для сети используются 24:

192.168.0==C0A800₁₆=1100.0000.1010.1000.0000.0000₂

причём для локальных сетей(класса C) выделено 16 бит 1100.0000.1010.1000₂. Таким образом вы можете поднять у себя 254 локальных сети класса C, в каждой из которых будет 254 системы (0 традиционно используется для самой сети, а 255 для широковещательного запроса)

#379828

"Kettler" написал:
В данном случае врятли поможет iptables.
хороший ответ. Фцитатнег.
вы бы хоть ссылку на мануал дали.
#379911
"drBatty" написал:
причём для локальных сетей(класса C) выделено 16 бит 1100.0000.1010.1000₂. Таким образом вы можете поднять у себя 254 локальных сети класса C,

Это все ясно, назначит IP подсети вроде 192.168.144.0/24 - первое решение, однако меня интересовал вопрос, можно ли выйти из ситуации, не меняя адресов сетей?

#379922

drozel, я не знаю. Никогда не задумывался.

#379959

drBatty написал:
[quote="Kettler"]В данном случае врятли поможет iptables.
хороший ответ. Фцитатнег.
вы бы хоть ссылку на мануал дали.[/quote]
Помогли? С полки пирожок вручить?
По выше изложеному человек понял что ему надо сделать, и я ответил на его вопрос.
А что не расказали что такое arp таблица? И ещё если уменьшить маску то можно выйти из положения?
#379960
drozel написал:
[quote="drBatty"]причём для локальных сетей(класса C) выделено 16 бит 1100.0000.1010.1000₂. Таким образом вы можете поднять у себя 254 локальных сети класса C,

Это все ясно, назначит IP подсети вроде 192.168.144.0/24 - первое решение, однако меня интересовал вопрос, можно ли выйти из ситуации, не меняя адресов сетей?[/quote]
Поменять маску

#379970
"Kettler" написал:
По выше изложеному человек понял что ему надо сделать, и я ответил на его вопрос.
он изначально и спрашивал "что делать с iptables?". А вы ответили: "надо что-то делать с iptables!".
"Kettler" написал:
А что не расказали что такое arp таблица?
а что всё я, да я?

"Kettler" написал:
И ещё если уменьшить маску то можно выйти из положения?
не знаю.
ТС просит

"drozel" написал:
не меняя адресов сетей?

потому "уменьшить маску" вроде как не подходит. Маска и так достаточно большая, и содержит 8 ненужных бит, которые можно менять. Но ТС почему-то их менять не хочет. А если бит будет не 8, а 9, то захочет?

#383481
"drBatty" написал:
потому "уменьшить маску" вроде как не подходит. Маска и так достаточно большая, и содержит 8 ненужных бит, которые можно менять. Но ТС почему-то их менять не хочет. А если бит будет не 8, а 9, то захочет?

Суть вопроса была в том, чтобы не менять маску и IP, эти выходы ясны и очевидны.

Просто есть готовая локалка со стандартными 192.168.0.0/24, который ой как не хочется перенастраивать (придется менять плейлисты IPTV, обновлять IP всех устройств, выданных по DHCP и тд.)
А пересечения есть и будут, ибо эти адреса используются повсюду и при подключении к VPN из подсети вне дома, с IP 192.168.0.0/24 доступ имеем либо к своей сети, либо к этой. Так еще и интернет завалить можно, если со шлюзом пересечешься.

Я думал, есть хитрое решение с iptables.

#384082
"drozel" написал:
А пересечения есть и будут, ибо эти адреса используются повсюду и при подключении к VPN из подсети вне дома, с IP 192.168.0.0/24 доступ имеем либо к своей сети, либо к этой. Так еще и интернет завалить можно, если со шлюзом пересечешься.

Я думал, есть хитрое решение с iptables.

если честно, я даже не представляю, чего вы хотите. Вы сами на создавали себе проблем, свалив всё в одну кучу. Думаете, ваша помойка сама по себе разгребётся? Каким-то "волшебным ключиком"?

Если устройств заведомо меньше 256, скажем 16, то используйте маску /28, это даст вам 16 групп по 16 адресов в каждой (точнее по 14 адресов, если всё делать по феншую).

#384178

Если две сети с одинаковой адресацией без промежуточных устройств надо подружить на одном роутере.... в идеальном виде это невозможно. Есть два выхода из данной ситуации:

1. У одной из сетей адресацию сменить. Это очевидно =).
2. (Вдруг первый вариант ну совсем не устраивает) Объединить две сети мостом - проблема будет в том, что адреса машин могут совпадать и эти совпадения надо будет устранять. В этой объединенной сети должен быть только один роутер и только один dhcp-сервер.


Пока писал придумал еще 3-й способ =). Он очень трудоемкий, но реализации поддается =). Можно завести адрес на локальную петлю (lo1), а интерфейсы в разные сети поднять без ip-адресов. После этого можно будет для каждого отдельного хоста задавать маршрут через нужный интерфейс.


Варианты 2 и 3 извращенские и лучше всего все же использовать 1-й.

#384717

Ясно, всем спасибо.
Поясню еще раз, мне нужно было подтверждение, что так называемый "первый вариант" - единственный адекватный и я не упустил какой-то хитрости.

Войдите или зарегистрируйтесь, чтобы ответить.