Перейти к содержимому
Калькуляторы

НАТ и БГП на одном сервере Как?

Доброго дня всем ...

 

Ситуация:

Есть работающий сервер, в него приходят два аплинка от разных провайдеров.

От каждого мы получили небольшой блок адресов и пускаем пользователей через нат на каждом интерфейсе, чето типа

 

int_if="em0"
ext_if="em1"
ua_if="bge1"
nat pass on $ext_if from 192.168.0.0/16 to any -> х.х.х.х/хх source-hash
nat pass on $ext_if from 10.0.0.0/8 to any -> $ext_if
nat pass on $ua_if from 192.168.0.0/16 to any -> у.у.у.у/уу source-hash
nat pass on $ua_if from 10.0.0.0/8 to any -> $ua_if

 

на ем0 висит ngtee, отдающий статистику Нетфлов.

 

И вот для прекращения всего этого безобразия прикупили АС и подняли БГП с обоими провайдерами.. Анонсируем обоим весь наш блок адресов. Один пров дает дефолт, второй - только префиксы УаИкс.

НО - реально, сейчас СВОИМ блоком адресов /24 НЕ пользуемся. Продолжаем работать с блоками верхних провов, так как они висят на нате на ОБОИХ интерфейсах.

 

Собственно задача - сделать на одной машине БГП, НАТ и сбор статистики нетфлов с нее, причем НЕотначеных адресов, само собой.

Как задействовать блок наших адресов, не разнося при этом биллинг и бгп на отдельные машины? С отдельными машинами я вижу так - на одной нетфлов и нат, на другой - бгп.

 

Если возможно на одной машине, то:

- можно ли натить на ОБА интерфеса ОДИН И ТОТ ЖЕ блок адресов, вроде как так -

 

int_if="em0"

ext_if="em1"

ua_if="bge1"

nat pass on $ext_if from 192.168.0.0/16 to any -> z.z.z.z/zz source-hash

nat pass on $ua_if from 192.168.0.0/16 to any -> z.z.z.z/zz source-hash

Будет ли это работать и не будет ли накладок ?

Если натить одну часть нашей подсети /24 на одного прова, а другую - на другого, то юзер будет виден в Мире и УаИксе под разными ИПами, тоесть также, как и было у нас ДО АС и БГП (((

 

Заранее спасибо за советы ...

Изменено пользователем Elisium

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно, отначенный блок пойдет по роутингу.

нетфлоу снимать чере ng_netflow на внутреннем интерфейсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заработало только вот так -

nt_if="em0"

ext_if="em1"

ua_if="bge1"

nat pass on {$ext_if,$ua_if} from 192.168.0.0/16 to any -> z.z.z.z/zz source-hash

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

 

Вопрос был реально для первоклассников (((

Просто стремно было центральный сервак дергать ((((

Изменено пользователем Elisium

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно еще так написать, если у вас всего 3 интерфейса

 

nat pass on ! $nt_if from 192.168.0.0/16 to any -> z.z.z.z/zz source-hash

 

или писать как и писали два правила только поменять алгоритм, на bitmask предположим.

 

т.е.

 

nat pass on $ext_if from 192.168.0.0/16 to any -> z.z.z.z/zz bitmask
nat pass on $ua_if from 192.168.0.0/16 to any -> z.z.z.z/zz bitmask

Изменено пользователем [GP]Villi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо ))

Вопрос уже немного ранее решен ))

Изменено пользователем Elisium

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.