1

Используется 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, чтоб обойти эту проблему? Или единственное решение - только минимизация вероятности такого пересечения путем выбора адресов локалки?

2

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

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

3

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 для широковещательного запроса)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

4

Kettler пишет:

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

хороший ответ. Фцитатнег.
вы бы хоть ссылку на мануал дали.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

drBatty пишет:

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

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

6

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

drBatty пишет:
Kettler пишет:

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

хороший ответ. Фцитатнег.
вы бы хоть ссылку на мануал дали.

Помогли? С полки пирожок вручить?
По выше изложеному человек понял что ему надо сделать, и я ответил на его вопрос.
А что не расказали что такое arp таблица? И ещё если уменьшить маску то можно выйти из положения?

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

8

drozel пишет:
drBatty пишет:

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

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

Поменять маску

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

9

Kettler пишет:

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

он изначально и спрашивал "что делать с iptables?". А вы ответили: "надо что-то делать с iptables!".

Kettler пишет:

А что не расказали что такое arp таблица?

а что всё я, да я?

Kettler пишет:

И ещё если уменьшить маску то можно выйти из положения?

не знаю.
ТС просит

drozel пишет:

не меняя адресов сетей?

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

drBatty пишет:

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

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

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

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

11

drozel пишет:

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

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12

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

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


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


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

13

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