Jump to content

Recommended Posts

Posted (edited)

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

 

Ситуация:

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

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

 

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 на одного прова, а другую - на другого, то юзер будет виден в Мире и УаИксе под разными ИПами, тоесть также, как и было у нас ДО АС и БГП (((

 

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

Edited by Elisium
Posted

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

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

Posted (edited)

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

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

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

 

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

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

Edited by Elisium
Posted (edited)

можно еще так написать, если у вас всего 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

Edited by [GP]Villi

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.