Здравствуйте.
Совсем не понимаю как подобное моржно реализовать, но есть подозрение, что это всё таки возможно.BGP сессии подняты. Мои два провайдера анонсируют мою AS в Мир. У меня есть подсеть PI адресов, предположим, 184.114.112.0/24. Я могу присвоить компьютеру в локальной сети IP из этой подсети и компьютер получит доступ в Мир скажем, через 184.114.112.1/24, и будет виден из Мира. А это потенциальная проблема.
Я не хочу выпускать свои офисные компьютеры в Мир напрямую, я хочу как и раньше скрыть их за НАТ'ом. То есть присвоить компьютерам в локальной сети адреса вида 192.168.0.х при этом чтобы иметь возможность некоторым другим компьютерам или фирмам по соседству выдавать Мировые IP из моей подсети 184.114.112.0/24
Но в таком случае уж больно заковыристая система получается в которой я никак не могу разобраться. Т.е. чтобы мой почтовый сервак, файлопомойка, терминальные сервер, пользователи и т.д. имели IP типа 192.168.0.1-254 и все выходили в Мир через, скажем, 184.114.112.12. Но, никак не придумаю как это устроить. Готовых конфигов не надо, я и сам допетрю, знать бы в каком направлении двигаться. Можете пнуть в правильном направлении?PS. Мануалы Микротика читал, там есть описания всех его фичей, а мне бы знать какие именно надо использовать и как это будет работать.
PPS. Использую два роутера у меня получилась описанная мною схема. Но хотелось бы чтоб один роутер и Мировые IP раздавал (предположим потенциальным клиентам или серверам, которые не страшно в мир высунуть напрямую) и как мой собственный роутер работал, скрывая мою подсеть (192.168.0.0) за NAT'ом с гейтвеем 184.114.112.12
Что было сделано.
- Само собой подняты BGP сессии до каждого пира провайдера. Состояние каждого соединения= established
- Поднят на роутере локальный интерфейс с IP 192.168.0.1/16
- Поднят на том же локальном интерфейсе IP 184.114.112.1/24 (Через него могут выходить в Мир машины с IP из моей подсети 184.114.112.0/24)что делать дальше ума не приложу. На одном из форумов рекомендовали использовать для этих целей второй роутер, но это как то не красиво получается. Неужели нет другого способа?
> Готовых конфигов не надо, я и сам допетрю, знать бы
> в каком направлении двигаться. Можете пнуть в правильном направлении?
> Что было сделано.
> - Само собой подняты BGP сессии до каждого пира провайдера. Состояние каждого
> соединения= established
> - Поднят на роутере локальный интерфейс с IP 192.168.0.1/16
> - Поднят на том же локальном интерфейсе IP 184.114.112.1/24 (Через него могут
> выходить в Мир машины с IP из моей подсети 184.114.112.0/24)Используйте внутри Вашей сети адресацию из диапазона 192.168.0.0/16 или с меньшей, достаточной для вас маской, а PI-блок можете использовать для src/dst-nat'а на нужные вам хосты внутри вашего сегмента. Ключевое слово binat.
>[оверквотинг удален]
>> в каком направлении двигаться. Можете пнуть в правильном направлении?
>> Что было сделано.
>> - Само собой подняты BGP сессии до каждого пира провайдера. Состояние каждого
>> соединения= established
>> - Поднят на роутере локальный интерфейс с IP 192.168.0.1/16
>> - Поднят на том же локальном интерфейсе IP 184.114.112.1/24 (Через него могут
>> выходить в Мир машины с IP из моей подсети 184.114.112.0/24)
> Используйте внутри Вашей сети адресацию из диапазона 192.168.0.0/16 или с меньшей, достаточной
> для вас маской, а PI-блок можете использовать для src/dst-nat'а на нужные
> вам хосты внутри вашего сегмента. Ключевое слово binat.Спасибо за ответ.
Но ведь тогда машинам можно будет присваивать только локальные IP адреса. А нет ли возможности, чтобы и машины (каким это надо) получали Мировые IP адреса и в идеале не проходили через фильтры firewall'а. И моя сеть скрывалась за одним IP адресом (184.114.112.12) и проходила фильтрацию роутера?
Или возможно я не правильно понял смысл binat?
********************************
*Двунаправленное отображение может быть установлено использованием правила binat. Правило *binat устанавливает один к одному отображение между внутренним IP адресом и внешним. Это *может быть полезно, например, для предоставления веб сервера во внутренней сети со своим *личным внешним IP адресом. Соединения из Интернета на внешний адрес будут транслироваться *на внутренний адрес а соединения от веб сервера (такие как DNS запрос) будут *преобразовываться во внешний адрес. TCP и UDP порты никогда не изменяются с binat *правилом.
*Пример:
*
*web_serv_int = "192.168.1.100"
*web_serv_ext = "24.5.0.6"
*
*binat on tl0 from $web_serv_int to any -> $web_serv_ext
********************************
binat в данном случае лишь подсказка в какую сторону изучать вопрос, как собственно Вы и хотели.
По существу вопроса: можно сделать так как вы хотите, но как минимум Ваша внутренняя сеть и "реальная" сеть должны быть разделены по интерфейсам. Тогда правила фильтрации разделяете по in/out интерфейсам и получаете то что хотите.
>[оверквотинг удален]
> гейтвеем 184.114.112.12
> Что было сделано.
> - Само собой подняты BGP сессии до каждого пира провайдера. Состояние каждого
> соединения= established
> - Поднят на роутере локальный интерфейс с IP 192.168.0.1/16
> - Поднят на том же локальном интерфейсе IP 184.114.112.1/24 (Через него могут
> выходить в Мир машины с IP из моей подсети 184.114.112.0/24)
> что делать дальше ума не приложу. На одном из форумов рекомендовали использовать
> для этих целей второй роутер, но это как то не красиво
> получается. Неужели нет другого способа?Сделать 2 VLAN, один для public-подсети, другой для private, чтобы на канальном уровне разделить трафик и запретить использовать публичные адреса в частном VLAN-е.
После этого сделать SNAT для частных подсетей через публичный адрес или пул публичных адресов, а хосты с публичным IP из PA-блока выпускать наружу обычным роутингом.
Большое всем спасибо за помощь. Так и поступил. Освоил binat. Теперь PI роутится а локальная подсеть выходит в МИР через NAT.add action=src-nat chain=srcnat disabled=no src-address="Local_subnet/16" \
to-addresses="WORLD_IP"Был минус. При том, что всё работало, мой WORLD_IP не пинговался по причине отсутствия такового на интерфейсе. Выход- просто его создать и будет что пинговать :)
Полезными так же оказались два маленьких правила не дающих НАТить адреса при посещении других локальных подсетей (у нас на них OpenVPN висит например)
add action=accept chain=srcnat comment="don't NAT local-to-local req!" \
disabled=no dst-address=192.168.0.0/16 src-address="Local_subnet/16"
add action=accept chain=srcnat comment="don't NAT local-to-local req!" \
disabled=no dst-address="Local_subnet/16" src-address="Local_subnet/16"всё было проще чем я предполагал.
Тему можно закрыть.