Перейти до

IPFW+NAT+BGP+UAIX


Рекомендованные сообщения

Доброго времени суток. Недавно начал пользоваться BGP, до этого UAIX  пробрасывал мимо шейпинга таблицей(выгружал список сетей из интернета) в IPFW. Сейчас у меня есть 3 vlan для направлений(World - vlan1, UAIX - vlan2, peering - vlan3). Хочу резать траффик только для World. Стоит Ubilling, шейпер его.
 
${fwcmd} nat 1 config log if ext0 reset same_ports
${fwcmd} add nat 1 ip from table\(5\) to not table\(1\) via vlan1
${fwcmd} add nat 1 ip from any to 123.123.123.123 via vlan1
${fwcmd} add nat 1 ip from table\(5\) to not table\(1\) via vlan2
${fwcmd} add nat 1 ip from any to 123.123.123.123 via vlan2
${fwcmd} add nat 1 ip from table\(5\) to not table\(1\) via vlan3
${fwcmd} add nat 1 ip from any to 123.123.123.123 via vlan3


table\(5\) - Локальные пользователи
ext0 - lo1:123.123.123.123
 
Есть ли варианты в IPFW реализовать это не таблицами, а через интерфейсы? Если у кого есть опыт - поделитесь пожалуйста.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Ну дык и шейпите себе только recv/xmit via "влан уходящий в мир" при помощи tablearg.

Что вам мешает?

Отсутствие опыта. 

 

Уже пытался делать так

 

${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) out xmit vlan1

${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any in recv vlan1

 

Только вот при такой записи просто фаерволл перестаёт пропускать пакеты.

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

 

Только вот при такой записи просто фаерволл перестаёт пропускать пакеты.

Он не перестает. Они скорее всего просто перестают принадлежать стандартной доступа.

 

Дефолтная политика для подсетей пользователей - deny. При net.inet.ip.fw.one_pass=1 наложение dummynet pipes работают как allow по дороге пошейпливая. Исходя из того, что у вас внезапно перестают ходить пакетики можно сделать вывод, что трафик от пользователей  попадает в  ipfw nat не долетая до шейпа. Проверяется очень просто при помощи ipfw show. Посмотрите что-ли в какую сторону у вас в эти правила не попадает трафик. Если в обе - утащите их выше nat-а, если в какую-то одну из сторон - утащите ее выше или ниже, чтобы быть уверенным, что src/dst будут адекватными с точки зрения текущего клиента относительно ваших интерфейсов.

В общем шейпить и алловить уже проначеный траффик.... эмммм... как-бы даст вполне предсказуемый эффект :)

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

 

 

Только вот при такой записи просто фаерволл перестаёт пропускать пакеты.

Он не перестает.

Дефолтная политика для подсетей пользователей - deny. При net.inet.ip.fw.one_pass=1 наложение dummynet pipes работают как allow по дороге пошейпливая. Исходя из того, что у вас внезапно перестают ходить пакетики можно сделать вывод, что трафик от пользователей  попадает в  ipfw nat не долетая до шейпа. Проверяется очень просто при помощи ipfw show. Посмотрите что-ли в какую сторону у вас в эти правила не попадает трафик. Если в обе - утащите их выше nat-а, если в какую-то одну из сторон - утащите ее выше или ниже, чтобы быть уверенным, что сорс/дест будут адекватными с точки зрения текущего клиента.

 

 

Извиняюсь, не корректно выразился

 

 

${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) 

${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any

В таком виде всё шейпится.

 

 

${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) out xmit vlan1

${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any in recv vlan1

В таком виде пакеты должны улетать только в мир(ну я бы так хотел) и по пути шейпится. Но этого не происходит. Если я добавляю ниже разрешающие правила(а они должны быть для остальных направлений) для прохождения пакетов из таблицы пользователей, то ясен пень что оно не шейпится и пакеты проходят.

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

 

${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) 

${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any

В таком виде всё шейпится.

Это заведомо х....й вариант влияющий на все интерфейсы и пролетающие сквозь ядро пакеты, которые может увидеть.

 

 

В таком виде пакеты должны улетать только в мир(ну я бы так хотел) и по пути шейпится. Но этого не происходит.

И в предыдущем посте я отписал, почему так происходит и как это обойти.

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

 

 

${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) 

${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any

В таком виде всё шейпится.

Это заведомо х....й вариант влияющий на все интерфейсы и пролетающие сквозь ядро пакеты, которые может увидеть.

 

 

В таком виде пакеты должны улетать только в мир(ну я бы так хотел) и по пути шейпится. Но этого не происходит.

И в предыдущем посте я отписал, почему так происходит и как это обойти.

 

Попробовал утянуть пайпы выше ната... пакеты не ходят. На сколько я понял, вы предлагаете сперва отшейпить пакеты, потом пихать их в нат. Верно ?

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

 

Попробовал утянуть пайпы выше ната... пакеты не ходят.

Значит так пробовали. Вам бог глаза зачем дал?

ipfw show в один глаз, tcpdump в другой - и вперед, смотреть по каким рулесам и на каких интерфейсах оно не пробегает.

 

 

На сколько я понял, вы предлагаете сперва отшейпить пакеты, потом пихать их в нат. Верно ?

Я не предлагаю. Я просто констатирую факт, что это единственное адекватное решение.

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

 

 

Попробовал утянуть пайпы выше ната... пакеты не ходят.

Значит так пробовали. Вам бог глаза зачем дал?

ipfw show в один глаз, tcpdump в другой - и вперед, смотреть по каким рулесам и на каких интерфейсах оно не пробегает.

 

 

На сколько я понял, вы предлагаете сперва отшейпить пакеты, потом пихать их в нат. Верно ?

Я не предлагаю. Я просто констатирую факт, что это единственное адекватное решение.

 

Спасибо)

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Подскажите всё же, как словить исходящий пакет ?

 

добавив правило перед натом я снял ограничение на входящи траффик... 

 

${FwCMD} add 2005 allow ip from any to table\(5\) out recv vlan2 (Всё чёто влетело через интерфейс UAIX)

 

Но вот как словить исходящий пакет - вообще не могу понять. ipfw show просто показывает 0 пакетов... Хотя бы логику поясните. Если клиентский ип стучится в шлюз на интерфейс lan0 ... то как фаерволлом словить его на vlan2 ? 

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

 

Подскажите всё же, как словить исходящий пакет ?

Сачком пробовали ловить?

 

 

добавив правило перед натом я снял ограничение на входящи траффик...

Еще раз перечитайте мой предыдущий пост.

Рисуя allow-ы где ни попадя, в обход типичного комбайна из tablearg/pipe via interface вы просто нивелируете всю логику авторизации и аутентификации ваших пользователей.

 

 

Хотя бы логику поясните

Поясняю: http://nuclight.livejournal.com/124348.html

 

 

то как шейпер узнать может что пакет отнатится

И не напрашивается очевидный вывод?

Задача шейпера ака dummynet... ВНЕЗАПНО шейпить а не "узнавать"  чего-то там.

Задача ната - тоже только натить никак не взаимодействуя с шейпером и тоже ничего не "угадывать". 

Где и в каком порядке, на каких интерфейсах будут происходить эти никак не взаимосвязанные процессы - зависит только от вас.

 

ЗЫ ах да - есть же еще такие крутые штуки как skipto, fwd и прочие на которых можно строить PBR практически любой упоротости.

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від Myr4ik
      Всем привет!
      Когда-то на просторах локала находил as-set со списком российских asn, но сейчас что-то не нахожу.
      Поделитесь, пожалуйста.
       
    • Від fet4
      Добрый день.
       
      Вышестоящий провайдер выдал IP пару /31 для BGP сессии. Сессию поднял на Bird, мой префикс маршрутизируется, все в порядке но вот маршрутизатор не может выйти в интернет так как использует в качестве адреса источника один ip из не маршрутизируемой пары. Как правильно выйти с данного положения ?
       
    • Від Sat_Odessa
      Помогите решить задачу:
      Есть 2 роутера с белыми адресами: TPLink и MikroTik. Необходима переодическая настройка (открытие/закрытие портов). С Mikrotik-oм никаких проблем нет, так как инструкций в интернете вагон и маленькая тележка. А вот с TPLink-ом загвоздка. Чтобы не открывать доступ к нему на весь мир, доступ веб-интерфейсу TPLink-а открыт только для адреса Mikrotik-а. Соответственно из локальной сети Mikrotik-а я могу попасть в настройки TPLink-а. Но иногда нужен удаленный доступ к TPLink-у из других мест.
       
      Можно ли как-то открыть на Mikrotik-е внешний порт, чтобы весь трафик из интернета на этот порт перенаправлялся на внешний IP-адрес TPLink-а? Чтобы для TPLink-а это выглядело так, как будто я подключаюсь к нему с IP-адреса Mikrotik-а.
    • Від PB24
      Приветствую. К сожалению, не сильно силен в правилах маршрутизации RIPE. Буду очень благодарен, если разъясните. 
      Сейчас есть AS и два блока /24 IPv4 в ''Локация 1''  и анонсируется на своем железном маршрутизаторе в ДЦ. 
      Есть необходимость запуска в другой локации ''Локация 2'' и запустить оборудование в ДЦ этой локации на одном из блоков /24. ДЦ поддерживает BYOIP .
      1) Как это выглядит в рабочем виде?
      2) Не нужно параллельно ставить еще один маршрутизатор для анонса в "Локация 2" ?
      3) Как это прописывается в аккаунте RIPE?
      4) Как настраивается на железном роутере в "Локация 1"
       
      Спасибо большое за ответы, особенно если они будут максимально информативными. 
    • Від avtoritetik
      Доброго часу.
      Колеги, хто як робить пріоритети в маршрутах аплінка? - Тільки не пропонуйте руками)
      Умовно: Сервер в США через УкрТелеком далі на 2 AS, а через Київстар ближче на 2 AS, але маршрут в УкрТелекома кращий, біжить довше, але железка вирішила що ідеально через УкрТелеком)
       
      Знайшов рішення NoctioN, але від запропонованої ціни вирішив що краще без нього жити.
       
      Коротко, за 4 Гбіт управління 1600 evro в місяць...
       
      Поділіться, будь ласка, хто що використовує, скільки коштує, що краще?!?!?!
×
×
  • Створити нове...