Используется 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, чтоб обойти эту проблему? Или единственное решение - только минимизация вероятности такого пересечения путем выбора адресов локалки?
Шлюз. Пересечение подсетей.
В данном случае врятли поможет iptables.
использовать 172.16.0.0 или 192.168.1.0но что, если клиент VPN также сидит в локалке и его подсеть совпадает с 192.168.0.0/24?
iptables потребуется только для NAT'а, что-бы переделывать пакеты на внешний IP/VPN.Есть ли возможность хитро настроить iptables
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 для широковещательного запроса)
хороший ответ. Фцитатнег.В данном случае врятли поможет iptables.
вы бы хоть ссылку на мануал дали.
причём для локальных сетей(класса C) выделено 16 бит 1100.0000.1010.1000₂. Таким образом вы можете поднять у себя 254 локальных сети класса C,
Это все ясно, назначит IP подсети вроде 192.168.144.0/24 - первое решение, однако меня интересовал вопрос, можно ли выйти из ситуации, не меняя адресов сетей?
drozel, я не знаю. Никогда не задумывался.
хороший ответ. Фцитатнег.[quote="Kettler"]В данном случае врятли поможет iptables.
вы бы хоть ссылку на мануал дали.[/quote]
Помогли? С полки пирожок вручить?
По выше изложеному человек понял что ему надо сделать, и я ответил на его вопрос.
А что не расказали что такое arp таблица? И ещё если уменьшить маску то можно выйти из положения?
[quote="drBatty"]причём для локальных сетей(класса C) выделено 16 бит 1100.0000.1010.1000₂. Таким образом вы можете поднять у себя 254 локальных сети класса C,
Это все ясно, назначит IP подсети вроде 192.168.144.0/24 - первое решение, однако меня интересовал вопрос, можно ли выйти из ситуации, не меняя адресов сетей?[/quote]
Поменять маску
он изначально и спрашивал "что делать с iptables?". А вы ответили: "надо что-то делать с iptables!".По выше изложеному человек понял что ему надо сделать, и я ответил на его вопрос.
а что всё я, да я?А что не расказали что такое arp таблица?
не знаю.И ещё если уменьшить маску то можно выйти из положения?
ТС просит
не меняя адресов сетей?
потому "уменьшить маску" вроде как не подходит. Маска и так достаточно большая, и содержит 8 ненужных бит, которые можно менять. Но ТС почему-то их менять не хочет. А если бит будет не 8, а 9, то захочет?
потому "уменьшить маску" вроде как не подходит. Маска и так достаточно большая, и содержит 8 ненужных бит, которые можно менять. Но ТС почему-то их менять не хочет. А если бит будет не 8, а 9, то захочет?
Суть вопроса была в том, чтобы не менять маску и IP, эти выходы ясны и очевидны.
Просто есть готовая локалка со стандартными 192.168.0.0/24, который ой как не хочется перенастраивать (придется менять плейлисты IPTV, обновлять IP всех устройств, выданных по DHCP и тд.)
А пересечения есть и будут, ибо эти адреса используются повсюду и при подключении к VPN из подсети вне дома, с IP 192.168.0.0/24 доступ имеем либо к своей сети, либо к этой. Так еще и интернет завалить можно, если со шлюзом пересечешься.
Я думал, есть хитрое решение с iptables.
А пересечения есть и будут, ибо эти адреса используются повсюду и при подключении к VPN из подсети вне дома, с IP 192.168.0.0/24 доступ имеем либо к своей сети, либо к этой. Так еще и интернет завалить можно, если со шлюзом пересечешься.
Я думал, есть хитрое решение с iptables.
если честно, я даже не представляю, чего вы хотите. Вы сами на создавали себе проблем, свалив всё в одну кучу. Думаете, ваша помойка сама по себе разгребётся? Каким-то "волшебным ключиком"?
Если устройств заведомо меньше 256, скажем 16, то используйте маску /28, это даст вам 16 групп по 16 адресов в каждой (точнее по 14 адресов, если всё делать по феншую).
Если две сети с одинаковой адресацией без промежуточных устройств надо подружить на одном роутере.... в идеальном виде это невозможно. Есть два выхода из данной ситуации:
1. У одной из сетей адресацию сменить. Это очевидно =).
2. (Вдруг первый вариант ну совсем не устраивает) Объединить две сети мостом - проблема будет в том, что адреса машин могут совпадать и эти совпадения надо будет устранять. В этой объединенной сети должен быть только один роутер и только один dhcp-сервер.
Пока писал придумал еще 3-й способ =). Он очень трудоемкий, но реализации поддается =). Можно завести адрес на локальную петлю (lo1), а интерфейсы в разные сети поднять без ip-адресов. После этого можно будет для каждого отдельного хоста задавать маршрут через нужный интерфейс.
Варианты 2 и 3 извращенские и лучше всего все же использовать 1-й.
Ясно, всем спасибо.
Поясню еще раз, мне нужно было подтверждение, что так называемый "первый вариант" - единственный адекватный и я не упустил какой-то хитрости.