Инструменты пользователя

Инструменты сайта


ru:software:freebsd:igmpproxy_on_netgraph

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:software:freebsd:igmpproxy_on_netgraph [2015/05/15 15:19]
root
ru:software:freebsd:igmpproxy_on_netgraph [2015/07/18 23:14]
root [История]
Строка 21: Строка 21:
 ===== Принцип работы ===== ===== Принцип работы =====
 ==== netgraph ==== ==== netgraph ====
-Его можно сравнить с LUA: он даёт широкие возможности по манипуляции с сетевыми пакетами,​ относительно прост в использовании и максимально быстр тк всё происходит в ядре. +Его можно сравнить с LUA: он даёт широкие возможности по манипуляции с сетевыми пакетами,​ относительно прост в использовании и максимально быстр тк всё происходит в ядре.\\ 
-У меня было много разных вариантов но в конце мне удалось свести количество нод к двум: **ng_ether** и **ng_bpf**. +У меня было много разных вариантов но в конце мне удалось свести количество нод к двум: **ng_ether** и **ng_bpf**.\\ 
-**ng_ether** — имеет несколько хуков: __lower__ — это вход/​выход сетевого адаптера,​ __upper__ — ввод/​выход в сетевой стёк OS. +**ng_ether** — имеет несколько хуков: __lower__ — это вход/​выход сетевого адаптера,​ __upper__ — ввод/​выход в сетевой стёк OS.\\ 
-**ng_bpf** — программируемая нода, общий смысл программ:​ один вход и два выхода:​ пакет соответствует заданному условии и для пакетов которые не соответствуют. В ноде есть собственный ассемблер для матчинга пакетов. Но можно написать условия для tcpdump и получить код для **ng_bpf**. +**ng_bpf** — программируемая нода, общий смысл программ:​ один вход и два выхода:​ пакет соответствует заданному условии и для пакетов которые не соответствуют. В ноде есть собственный ассемблер для матчинга пакетов. Но можно написать условия для tcpdump и получить код для **ng_bpf**.\\ 
-Не большая хитрость ноды в том, что программа устанавливается на входную ноду. Но ноды которые указаны как выходные тоже могут принимать пакеты и обрабатывать они их будут по тем программам которые ассоциированы с ними.+Не большая хитрость ноды в том, что программа устанавливается на входную ноду. Но ноды которые указаны как выходные тоже могут принимать пакеты и обрабатывать они их будут по тем программам которые ассоциированы с ними.\\
  
 ==== Передача пакетов ==== ==== Передача пакетов ====
Строка 89: Строка 89:
  
 ===== История ===== ===== История =====
-igmpproxy и mrouted у меня работать отказались:​ PF по умолчанию убивает все пакеты с IP опциями в заголовке (IGMP они нужны для работы) и поэтому добавлять ​специально ​правило:​+igmpproxy и mrouted у меня работать отказались:​ PF по умолчанию убивает все пакеты с IP опциями в заголовке (IGMP они нужны для работы) и поэтому ​нужно ​добавлять правило:​
 <​code>​pass quick proto igmp from any to 224.0.0.0/4 allow-opts</​code>​ <​code>​pass quick proto igmp from any to 224.0.0.0/4 allow-opts</​code>​
 а я этого не сделал.\\ а я этого не сделал.\\
ru/software/freebsd/igmpproxy_on_netgraph.txt · Последние изменения: 2015/07/18 23:14 — root