The OpenNET Project / Index page

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



"FreeBSD+Quagga+NAT: помогите сообразить. "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT)
Изначальное сообщение [ Отслеживать ]

"FreeBSD+Quagga+NAT: помогите сообразить. "  +/
Сообщение от boykov (ok) on 18-Ноя-17, 18:58 
Коллеги, прошу вправления мозгов.

Есть пограничный маршрутизатор под
root@border:/usr/home/oper # uname -a
FreeBSD border.ххх.ru 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 02:10:02 UTC 2016     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

Под ним поднята квагга, на два интерфейса, igb0 и igb1 (у них адреса от провайдеров /30)
Все шустрит во внутренний re0 и далее во внутреннюю сеть по реальным адресам.

Задача. На том же маршрутизаторе организовать NAT серых адресов из внутренней сети в инет. Обычно пользуюсь ядерным, но и natd не является преградой (маленькая нагрузка).

ПРОБЛЕМА. nat привязывается к интерфейсу (???)
а у меня их, входящих, два, поделенных как б-п положит. то есть я не могу предположить куда уйдет исходящий и откуда прилетит входящий.

Отсюда вопросы:
- что делать?
- возможно ли правила nat отвязать от интерфейсов? (ибо нат по сути идет позже роутинга для исходящих и до роутинга для входящих)
- можно ли как то объединить мои внешние в один виртуальный, но так, чтобы квагга продолжала работать?

Простите, если сумбур. Перепробовал всякого, но, видно, в чем то лихо запутался.

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

Оглавление

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


1. "FreeBSD+Quagga+NAT: помогите сообразить. "  +/
Сообщение от eRIC (ok) on 18-Ноя-17, 21:02 
https://geektimes.ru/post/82656/ гляньте
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FreeBSD+Quagga+NAT: помогите сообразить. "  +/
Сообщение от boykov (ok) on 19-Ноя-17, 19:16 
> https://geektimes.ru/post/82656/ гляньте

не.  там вводные другие. у дядьки BGP на L3 коммутаторе.  В смысле с нета он принимает две сессии, как то их жует и отдает на брас лишь дефолты.

У меня же -- прям на рутер приходятЪ фульвью, на разные интерфейсы.
и вот есть свербинка в моей тыковке, что либо можно нат не привязывать к конкретному интерфейсу, либо сделать виртуальный ифейс, или вообще попытаться натить на адресе внутреннего интерфейса, благо он тоже белый.

все вот эти "на ipfw филтруем, а на pf натим" -- могобыть оно и работает, но уж очень костыльно выглядит.


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

3. "FreeBSD+Quagga+NAT: помогите сообразить. "  +/
Сообщение от MoHaX (ok) on 21-Ноя-17, 05:35 
>[оверквотинг удален]
> ПРОБЛЕМА. nat привязывается к интерфейсу (???)
> а у меня их, входящих, два, поделенных как б-п положит. то есть
> я не могу предположить куда уйдет исходящий и откуда прилетит входящий.
> Отсюда вопросы:
> - что делать?
> - возможно ли правила nat отвязать от интерфейсов? (ибо нат по сути
> идет позже роутинга для исходящих и до роутинга для входящих)
> - можно ли как то объединить мои внешние в один виртуальный, но
> так, чтобы квагга продолжала работать?
> Простите, если сумбур. Перепробовал всякого, но, видно, в чем то лихо запутался.

Правильно понял, что у вас своя автономка и блок адресов? Если да, то план такой:

1. выбираете под какой из ваших реальных адресов будете натить (адрес можно не прописывать на интерфейс маршрутизатора).
2. natd запускаете с флагом natd_flags="-a хх.хх.хх.хх", где хх.хх.хх.хх - выбранный вами адрес
3. в файрволе дивертите исходящий и входящий трафик через оба внешних интерфейса в natd
ipfw divert 8668 ip from 192.168.1.0/24 to any via igb0 out
ipfw divert 8668 ip from 192.168.1.0/24 to any via igb1 out
ipfw divert 8668 ip from any to xx.xx.xx.xx via igb0 in
ipfw divert 8668 ip from any to xx.xx.xx.xx via igb1 in

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

4. "FreeBSD+Quagga+NAT: помогите сообразить. "  +/
Сообщение от FiN (??) on 21-Ноя-17, 10:46 
> ПРОБЛЕМА. nat привязывается к интерфейсу (???)
> а у меня их, входящих, два, поделенных как б-п положит. то есть
> я не могу предположить куда уйдет исходящий и откуда прилетит входящий.

выделить для ната пул адресов повешать алиасом на lo0, а дальше все стандартно

ipfw add 500 nat tablearg ip from any to table\(2\) in recv ix0
ipfw add 500 nat tablearg ip from any to table\(2\) in recv ix1
ipfw add 500 nat tablearg ip from table\(1\) to any out recv ix3

ipfw nat 240 config ip xx.xx.xx.240 same_ports reset
ipfw table 1 add 172.16.0.0/24 240
ipfw table 1 add 172.16.30.0/24 240
ipfw table 2 add xx.xx.xx.240 240
и т.д.

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

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

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




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

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