LINUX.ORG.RU
решено ФорумAdmin

FreBSD PBR на pf проблемы со скоростью.


0

0

Суть такая имеем FreeBSD 7.2-RELEASE FreeBSD 7.2-RELEASE в ядро добавлено

device          pf
device          pflog
device          pfsync
options         ALTQ

сеть

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:30:48:FF:FF:FF
        inet 1.1.2.140 netmask 0xffffff00 broadcast 1.1.2.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:30:48:AA:AA:AA
        inet 1.1.1.30 netmask 0xffffff00 broadcast 1.1.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
шлюз по умолчанию 1.1.2.1

настройки pf

#Адреса 
gw4="1.1.1.30"
gw6="1.1.2.140"


#ik.ps
mgw4="1.1.1.1"
mgw6="1.1.2.1"

#сетевые
gw4_if="em1"
gw6_if="em0"

#ICMP
pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto icmp from any to $gw6 keep state
pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto icmp from $gw6 to any keep state
pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto icmp from any to $gw4 keep state
pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto icmp from $gw4 to any keep state
######
pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto {tcp,udp} from any to $gw6 keep state
pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto {tcp,udp} from $gw6 to any keep state
pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto {tcp,udp} from any to $gw4 keep state
pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto {tcp,udp} from $gw4 to any keep state
pass out on $gw6_if proto tcp from $gw6 to any flags S/SA modulate state
pass out on $gw6_if proto { udp, icmp } from $gw6 to any keep state
pass out on $gw4_if proto tcp from $gw4 to any flags S/SA modulate state
pass out on $gw4_if proto { udp, icmp } from $gw4 to any keep state

и получаем что скорость download с адресов ~5кб/с а upload как положено ~8Mb/s если я убираю из pf правила для 1.1.2.140 , то с этого адреса я получаю Нормальный download ~8Mb/s и upload ~8Mb/s, а 1.1.1.30 продолжает сосать на ~5кб/с

PBR на ipfw вообще не работает.....

В чем косяк и куда копать ? P.S BSD закапывать не буду, бо не мое, обновить до 8 тоже проблематично


Убери default_router вообще.

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

а fail я не поимею ? или решение о маршруте происходит после отработки pf ?

disel ()
Ответ на: комментарий от disel

Непонятно, чего ты хочешь добиться такими стрёмными правилами.

iZEN ★★★★★ ()

Свёртка твоих правил:

#Адреса  
gw4="1.1.1.30" 
gw6="1.1.2.140" 
 
 
#ik.ps 
mgw4="1.1.1.1" 
mgw6="1.1.2.1" 
 
#сетевые 
gw4_if="em1" 
gw6_if="em0"

#протоколы
allowed_proto="{ tcp, udp, icmp }"
 
#
pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto $allowed_proto from any to $gw6

pass in quick on $gw6_if reply-to ($gw6_if $mgw6) inet proto $allowed_proto from $gw6 to any

pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto $allowed_proto from any to $gw4

pass in quick on $gw4_if reply-to ($gw4_if $mgw4) inet proto $allowed_proto from $gw4 to any

###### 
pass out on { $gw4_if, $gw6_if } flags S/SA modulate state
Дальше думай сам.

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

% echo 'gateway_enable=«YES»' >> /etc/rc.conf && sync && reboot

Это сразу после пересборки ядра было

disel ()
Ответ на: комментарий от disel

Попробуй сделать: gateway_enable=«NO» или убрать его из /etc/rc.conf вообще. Я думаю, что этот параметр важен только для ipfw, а здесь он не используется, не так ли? Роутинг осуществляется только силами PF.

Есть ли третий интерфейс помимо em0 и em1?

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

нет , только два и lo0 меня просто смущает дойдут ли до pf пакеты при отсутствии маршрута по умолчанию ? некоторый опыт кошко/пингвино вода показывает что при отсутвии 0.0.0.0 все что не direct connected лупается на интерфейсе. Но завтра все же проверю.

disel ()
Ответ на: комментарий от disel

блядь, как же вы заебали.
во-первых. юзайте, епрст, штатный файрволл, он лучше во многих отношениях, а сложность его несколько... мифична.
во-вторых, ты, если используешь уже pf, будь добр ознакомиться со страницей мана, прежде чем писать такой феерический бред вместо правил.
и, наконец, третье. если тебе тебе нужно FreeBSD, так найми специалиста по FreeBSD, ты ведь не знаком с системой.
до смерти затрахали целебоально такие вот «админы .
выговорился, мерси.

BSD-ch ()
Ответ на: комментарий от BSD-ch

Правила как правила. взяты из wiki так что пиздеть не надо. PBR на ipfw не работает просто . нет отработки правил какого-то хуя. Причем до меня колупало еще 3 человека и в се в ахуе. А долбаебы вроде тебя всегда несли минимальную смысловую нагрузку.

P.S. BSD и подобные фанаты R.I.P Заебали умники

disel ()
Ответ на: комментарий от disel

А что нужно-то от PF. (Эти правила какие-то странные.)

iZEN ★★★★★ ()
Ответ на: комментарий от disel

1. да хоть из urandom
2. у меня работает, почему-то
3. и все трое впервые видели? пиздец аргумент.
4. «BSD RIP» - либо гнилой троллинг, либо демонстрация невежества и стремления обосрать непонятное. выбирай сам.
5. s/долбаеб/долбоеб

BSD-ch ()
Ответ на: комментарий от iZEN

есть два http сервиса, один забинден на 1.1.1.30 (em1, шлюз 1.1.1.1) второй на второй на 1.1.2.140 (em0, шлюз 1.1.2.140), и есть два канала. Надо чтобы каждый сервис работал по своему каналу. Поэтому трафик от 1.1.1.30 принудительно направляю на 1.1.1.1 через em1, а от 1.1.2.140 на 1.1.2.1 через em0. И все, никаких особых извратов.

disel ()
Ответ на: комментарий от BSD-ch

1. pf ты не знаешь, но хочешь покричать 2. на кошке и пингвине у меня тоже все работает, и ? 3. Все трое первый раз столкнулись с подобной хуйней, когда канал тупо терял скорость 4. Нет при таком подходе недоодминов вроде тебя, ее быстро закопают 5. Разница не принципиально, вербальный смысл ясен и так

disel ()
Ответ на: комментарий от disel

Может стоит настроить статический роутинг, а не перекладывать проблему на PF?

В /etc/rc.conf:

static_routes="net_em1 net_em0"
route_net_em1="-net 1.1.1.0/24 1.1.1.1"
route_net_em0="-net 1.1.2.0/24 1.1.2.140"

iZEN ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.