Jump to content

Recommended Posts

Posted (edited)

Уважаемые гуру, кто может подсказать, в чем я не правильно делаю, сколько не бьюсь не могу почему то настроить правильный shape при помощи ng_car?

 

uname -a

FreeBSD 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #5: amd64

 

В ядре следующие опции

 

options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=500
options         IPDIVERT
options         NETGRAPH
options         NETGRAPH_IPFW
options         NETGRAPH_NETFLOW
options         NETGRAPH_IFACE
options         NETGRAPH_BPF
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_KSOCKET
options         NETGRAPH_CAR
options         NETGRAPH_TEE
options         NETGRAPH_NAT
options         NETGRAPH_CISCO
options         DEVICE_POLLING
options         LIBALIAS

в rc.firewall следующие правила

${fwcmd} add 106 netgraph tablearg all from any to table\(10\) in via em0
${fwcmd} add 107 netgraph tablearg all from table\(11\) to any out via em0
${fwcmd} add 108 netgraph 61 all from not 10.0.0.0/8 to xx.xx.xx.xx in via em1
${fwcmd} add 109 netgraph 60 all from 10.0.0.0/8 to not 10.0.0.0/8 out via em1
${fwcmd} add 110 allow all from any to any

 

в table 10, 11 добавлен ip 10.0.0.1

table 10 add 10.0.0.1/32 100
table 11 add 10.0.0.1/32 200

параметр sysctl net.inet.ip.fw.one_pass равен 0

не шейпит хоть ты тресни)

 

ноды ng_car добавлял след. образом

скорость 256кбит/с

ngctl 
mkpeer ipfw: car 200 lower
name ipfw:200 car
connect car: ipfw: upper 100
msg car: setconf { downstream={ cbs=32768 ebs=32768 cir=262144 greenAction=1 yellowAction=1 redAction=2 mode=3 } upstream={ cbs=32768 ebs=32768 cir=262144 greenAction=1 yellowAction=1 redAction=2 mode=3 } }

Помогите плз. Может чего то не хватает?

 

Всем спасибо кто хоть как то учавствовал и пытался помочь. Тема закрыта.

Edited by ArminBah
Posted

ngctl show ipfw показывает

 

 ngctl show ipfw:
  Name: ipfw            Type: ipfw            ID: 00000001   Num hooks: 4
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  100             car             car          000000e0        upper
  200             car             car          000000e0        lower
  61              nat             nat          0000006c        in
  60              nat             nat          0000006c        out

 

по команде ngctl show 200 car следующее

ngctl: usage: show [-n] <path>

 

Щас попробую задать имя ноды без пробелов

 

 

 

это при задании имени ноды без пробелов

+ mkpeer ipfw: car 200 lower
+ name ipfw:200_car
ngctl: usage: name <path> <name>
+ name ipfw:200car
ngctl: usage: name <path> <name>

Posted

- странная нумерация нод ipfw - netgraph, ограничения будут асинхронными что ли? почему у тебя in ограничение одного адресса соответствует out ограничению воторого?

- перепроверь настройки updastream, downstream man ng_car

Posted
- странная нумерация нод ipfw - netgraph, ограничения будут асинхронными что ли? почему у тебя in ограничение одного адресса соответствует out ограничению воторого?

- перепроверь настройки updastream, downstream man ng_car

Сори t0ly, но пересмотрел весь man по ng_car и так и не понял как изменить PeerID. Я с ng_car и начинал, вот только там в примере описывается ограничение на сетевом интерфейсе, я по аналогии сделал. То что указано in и out это ng_nat, правда тоже не могу понять почему при создании ноды nat PeerID автоматически встает один и тот же.

 

А это не влияет на PeerID

msg car: setconf { downstream={ cbs=32768 ebs=32768 cir=262144 greenAction=1 yellowAction=1 redAction=2 mode=3 } upstream={ cbs=32768 ebs=32768 cir=262144 greenAction=1 yellowAction=1 redAction=2 mode=3 } }

Это же только ограничение скорости, просто на вход и на выход одинаковое.

 

Сори если не понял, я уже себя ощущаю в танке)

Posted

Вобщем, все получилось.

 

Проблема была не в создаваемых нодах, а в правилах которые я использовал в ipfw. Трафик тупо если и проходил по правилу 106 и 107 но не шол дальше по правилам. Не правильно были указаны in и out у соответствующих правил. Меня сейчас смущает только одно, почему при просмотре нод через ngcl show car: PeerID у них одинаковый.

Posted

Не хочется плодить темы, поэтому влезу прямо сюда.

 

Подскажите, люди добрые, как управлять режимами библиотеки libalias через контрольные сообщения к ноде ng_nat.

 

Скажем есть флаг NG_NAT_LOG (0x01), который включает логирование, и я в принципе даже понимаю как его прицепить к ноде:

ngctl msg nagNode: setmode 0x01

 

А каким образом его можно теперь снять?

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 и с Политикой конфиденциальности.