Elisium Posted October 8, 2009 Posted October 8, 2009 (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 October 8, 2009 by Elisium Вставить ник Quote
XeonVs Posted October 8, 2009 Posted October 8, 2009 можно, отначенный блок пойдет по роутингу. нетфлоу снимать чере ng_netflow на внутреннем интерфейсе. Вставить ник Quote
Elisium Posted October 8, 2009 Author Posted October 8, 2009 (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 October 8, 2009 by Elisium Вставить ник Quote
[GP]Villi Posted October 8, 2009 Posted October 8, 2009 (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 October 8, 2009 by [GP]Villi Вставить ник Quote
Elisium Posted October 8, 2009 Author Posted October 8, 2009 (edited) Всем спасибо )) Вопрос уже немного ранее решен )) Edited October 8, 2009 by Elisium Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.