Jump to content
Калькуляторы

ytil

Пользователи
  • Content Count

    67
  • Joined

  • Last visited

About ytil

  • Rank
    Абитуриент

Recent Profile Visitors

537 profile views
  1. заработало, если 1 шлюз указать. pf.rules сейчас такой table <LAN1> {192.168.66.0/24} table <LAN2> {192.168.67.0/24} int_if = "em2" ext_if1 = "em0" ext_if2 = "em1" ext_gw1 = "1.1.1.1" ext_gw2 = "1.1.1.1" # default nat nat on $ext_if1 from <LAN1> to any -> 1.1.1.2 nat on $ext_if2 from <LAN2> to any -> 1.1.1.3 # default deny block in from any to any block out from any to any # manag access pass in from any to $ext_if1 pass in from any to $ext_if2 # pass all outgoing packets on internal interface pass out on $int_if from any to <LAN1> pass out on $int_if from any to <LAN2> # pass in quick any packets destined for the gateway itself pass in quick on $int_if from <LAN1> to $int_if pass in quick on $int_if from <LAN2> to $int_if # load balance outgoing tcp traffic from internal network. pass in on $int_if route-to ($ext_if1 $ext_gw1) proto tcp from <LAN1> to any flags S/SA modulate state pass in on $int_if route-to ($ext_if2 $ext_gw2) proto tcp from <LAN2> to any flags S/SA modulate state # load balance outgoing udp and icmp traffic from internal network pass in on $int_if route-to ($ext_if1 $ext_gw1) proto { udp, icmp } from <LAN1> to any keep state pass in on $int_if route-to ($ext_if2 $ext_gw2) proto { udp, icmp } from <LAN2> to any keep state # general "pass out" rules for external interfaces pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state pass out on $ext_if1 proto { udp, icmp } from any to any keep state pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state pass out on $ext_if2 proto { udp, icmp } from any to any keep state # route packets from any IPs on $ext_if1 to $ext_gw1 and the same for $ext_if2 and $ext_gw2 pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any Теперь вопрос, какой маршрутизатор производительнее будет, с pf или с setfib @st_re Спасибо, тоже попробую сделать, у меня с setfib не получалось, потому что net.add_addr_allfibs=0 не делал, мне не подходит что маршрутов кроме дефолта не будет во второй таблице. Но ежели setfib побыстрее работает, останусь на нем
  2. вот послали мы 192.168.0.0/24 на 10.10.1.2, а дальше что происходит? траффик же согласно таблице все равно будет уходить через 1 интерфейс, я так понял вы имеете ввиду конструкцию вида pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 но такая конструкция подразумевает 2 разных шлюза, чтобы через разные интерфейсы выпускать. В чем я ошибаюсь?
  3. я понимаю, с моей стороны как настраивать, у меня то 1 шлюз будет по умолчанию, а нужно 2? я к тому, что правайдер не может дать 2 по /30, а может только одну /29 дать
  4. ничего не показывает, маршрута по умолчанию в нем нет. Похоже конструкция неправильная или же freebsd это не может..
  5. к сожалению не работает через rc.conf не назначаются маршруты через # route add default 1.1.1.1 -interface em1 # route: bad address: em1
  6. defaultroute висит на em1 сейчас Прошу, скажите, как defaultroute навесить одновременно на 2 интерфейса? ядро собрано с поддержкой radix_mpath
  7. да, мне нужно чтобы просто отделы с нужных айпишников ходили, но проблема в том, что на втором интерфейсе у меня не НАТятся адреса почему-то это PF на маршрутизаторе isp1_if = "em1" isp2_if = "em2" int_if = "em3" table <lan1> {192.168.66.0/24} table <lan2> {192.168.67.0/24} set limit { states 10000000, frags 15000 } set skip on lo0 set skip on $int_if scrub in all fragment reassemble nat on $isp1_if from <lan1> to any -> ($isp1_if) nat on $isp2_if from <lan2> to any -> ($isp2_if) rc.conf hostname="bsd1" ifconfig_em1="inet 1.1.1.2/29" ifconfig_em2="inet 1.1.1.3/29" ifconfig_em3="inet 192.168.66.1/24" ifconfig_em3_alias0="inet 192.168.67.1/24" defaultrouter="1.1.1.1" gateway_enable="YES" что тут не так? почему не НАТится сеть 192.168.67.0/24?
  8. Провайдер дает 1.1.1.0/29 подсеть. В маршрутизатор от свитча провайдера идет 2 патчкорда, в em1 и em2. Задача часть локальных адресов выпускать в мир через 1.1.1.2, а часть через 1.1.1.3. Возможности организовать ЛАГ нет. Пробовал через setfib делать, но во второй таблице маршрутизации висит маршрут к default route, только через em1, и удалить его не получается. Подскажите как тут быть?
  9. да, бред немного написал, натирую я на локальный интерфейс. т.е. на 1.1.1.2, а шлюз у меня 1.1.1.1. Очепятка почему у меня должно быть 3 правила для ната? 2 других канала у меня натируются на других маршрутизаторах, а на этом я просто указываю к ним default route. Я просто не знаю, как без таблиц маршрутизации загонять трафик с какого-то пула, на нужный шлюз по умолчанию. Не знаю считается это, что каналы пересекаются или нет но маршрутизаторы для второго и третьего канала в одной ospf зоне и вставлены в один свитч. 1 канал мне приходит от Провадера Х, а 2 других канала принадлежат мне.
  10. Добрый день. Имеется маршрутизатор с FreeBSD на борту. Ядро собрано с поддержкой множественных таблиц маршрутизации. Задача состоит в том, чтобы одновременно работало 3 разных канала, для разных пулов адресов свои вот конфиг pf пояснения. с пула <ch1> мы натируем соединение к первому провайдеру и всё работает в первой таблице маршрутизации с пула <ch2> всё идет на шлюз по умолчанию 192.168.0.4 (от другого провайдера) и тоже все работает c пула <ch3> тоже всё идет на шлюз по умолчанию 10.100.201.1 (этот шлюз назначен на другом маршрутизаторе ежели 192.168.0.4). Но почему-то исходящий траффик идет через <ch2>, а входящий как надо. Поясните, что же тут не так, и как мне заставить всё это работать) /etc/pf.rules isp1_if = "em0" isp2_if = "bce0" isp3_if = "bce1" int_if = "em1" table <ch1> {172.16.14.0/24} table <ch2> {172.16.15.0/24} table <ch3> {172.16.16.0/24} set limit { states 10000000, frags 15000 } set skip on lo0 set skip on $int_if scrub in all fragment reassemble nat on $isp1_if from <ch1> to any -> 1.1.1.1 pass all pass in from <ch1> to any rtable 0 pass in from <ch2> to any rtable 1 pass in from <ch3> to any rtable 2 netstat -rn | grep default default 1.1.1.1 UGS em0 setfib 1 netstat -rn | grep default default 192.168.0.4 UGS bce0 setfib 2 netstat -rn | grep default default 10.201.1.1 UGS bce1
  11. @Saab95 Осталось разобраться как во freebsd сделать несколько default route :)
  12. Балансировка же по соединениям будет, а не по пакетам? А какие могут быть действия инженера, если он заметит перегруз одного из каналов? перезагрузить процесс оспф? как-то слишком радикально))
  13. Здорово, мне это как раз и нужно, не хватало фантазии как это сделать. А по какому алгоритму балансируются соединения в ospf, если несколько маршрутов к одному источнику с одинаковым весом?