OLSR Mesh
Сети с ячеистой топологией (mesh-сети) обладают самоорганизацией и автонастройкой на основе сведений об изменении топологии сети.
Для примера, правильно настроенная OLSR сеть автоматически конфигурируется в случаях когда одна нода повреждается или появляется новый маршрут, или в случае появления или пропажи более быстрого маршрута.
Эта концепцияя mesh сетей не нова — Интернет сам представляет из себя огромную mesh сеть. Что-же нового? Ну, Wi-Fi mesh сети построенные на OpenWRT — это просто круто 😉
OLSR — это один из нескольких протоколов маршрутизации, предназначенный для создания Mobile Adhoc Networks (MANET), или, проще говоря, беспроводные децентрализованные самоорганизующиеся сети. OLSR код разработанный Andreas Tønnesen это лучшее решение для нашей сборки созданной для OpenWRT.
Эта страница содержит информацию, о том как создать mesh-сеть путём настройки OpenWrt и olsrd (процесс демона OLSR). Если ваша цель — быстро запустить OLSR-сеть, возможно вам захочется взглянуть на прошивку которая была создана специально для этих целей. Примером такой прошивки являетсяFreifunk project. Если вы хотите запустить OLSR в OpenWrt без помощи готовых прошивок, продолжайте чтение 🙂
olsrd 0.6.1-3 | ||
---|---|---|
Name | Size | Description |
olsrd | 108257 | OLSR (Optimized Link State Routing) daemon |
olsrd-mod-dyn-gw-plain | 2902 | Dynamic internet gateway plain plugin |
olsrd-mod-bmf | 12106 | Basic multicast forwarding plugin, dependece: kmod-tun |
olsrd-mod-httpinfo | 23831 | Small informative web server plugin |
olsrd-mod-quagga | 5848 | Quagga plugin |
olsrd-mod-dyn-gw | 4348 | Dynamic internet gateway plugin |
olsrd-mod-txtinfo | 6201 | Small informative web server plugin |
olsrd-mod-nameservice | 11511 | Lightweight hostname resolver plugin |
olsrd-mod-dot-draw | 4233 | Dot topology information plugin |
olsrd-mod-mdns | 5648 | Multicast DNS plugin |
olsrd-mod-watchdog | 2316 | Watchdog plugin |
olsrd-mod-arprefresh | 2703 | Kernel ARP cache refresh plugin |
olsrd-mod-p2pd | 8066 | Peer to Peer Discovery plugin |
olsrd-mod-secure | 9710 | Message signing plugin to secure routing domain |
Сеть
Есть бесчисленное количество вариантов конфигурации mesh сетей; ниже находится простой пример разрешающий роутинг подсетей 10.0.0.0/255.0.0.0 через OLSR mesh.
WAN WAN | | OpenWrt + OLSR Node 1 ---- wireless link ---- OpenWrt + OLSR Node 2 | | LAN LAN | | Workstation A Workstation B
На всех узлах (в нашем случае используется WRT54GL) должен быть установлен OLSR. В общем, OLSR должен быть установлен на любом узле который учавствует в создании маршрутизации между заданными OLSR подсетями.
OLSR узлы должны быть сконфигурированы на прослушивание всех WiFi интерфейсах на роутере. Включение на проводных интерфейсах не обязательно, в некоторых случаях это может помешать работе других служб, например DHCP .
Если проводные интерфейсы на роутере имеют подесть отличающуюся от WiFi то можно настроить OLSR для передачи host и network association (HNA) сообщений другим роутерам. В зависимости от использования IPv4 или IPv6 вы можете настроить опции Hna4 или Hna6 в файле /?/olsrd.conf
Outdated Information!
This article contains information that is outdated or no longer valid. You can edit this page to update it.
HOW TO
Разделите WiFi и LAN интерфейсы в файле /etc/config/network , по умолчанию они соеденены в мост.
Настройте WNICs для работы в режиме adhoc. Файл /etc/config/wireless должен выглядеть так:
config wifi-device wl0 option type broadcom option channel 11 # disable radio to prevent an open ap after reflashing: option disabled 0 config wifi-iface option device wl0 # option network lan option mode adhoc option ssid OLSR option hidden 0 option encryption none
Установите olsrd
opkg update opkg install olsrd
Измените /etc/olsrd.conf и поменяйте “Interface “XXX” на WiFi интерфейс вашего роутера. Пример
# olsr.org OLSR daemon config file # /etc/olsrd.conf # # Modified for sample OLSR network by Justin S. Leiteb # http://justin.phq.org/ Fri Jun 8 10:34:27 EDT 2007 # Many comments and commented line from conf file distributed # with olsrd omitted for brevity in wiki. DebugLevel 0 IpVersion 4 ClearScreen yes # On the second OLSR node (olsrd.conf not supplied for this node, since only one line is different), # which has a LAN interface on the 10.100.2.0/255.255.255.0 network, the Hna4 entry is: # 10.100.2.0 255.255.255.0. These Hna4 entries are what propagates information about how to route # to these subnets through the mesh. Hna4 < # My home LAN 10.100.1.0 255.255.255.0 >AllowNoInt yes UseHysteresis yes # Hysteresis parameters HystScaling 0.50 HystThrHigh 0.80 HystThrLow 0.30 LinkQualityLevel 0 Pollrate 0.05 NicChgsPollInt 3.0 Interface «wl0» < AutoDetectChanges yes ># Run http server with mesh information. Won’t work unless you’ve already installed # the olsrd_httpinfo plugin through ipkg. LoadPlugin «olsrd_httpinfo.so.0.1»
Файрвол — разрешите роутеру форвардинг пакетов между интерфейсами:
#!/bin/sh # Copyright (C) 2006 OpenWrt.org iptables -F input_rule iptables -F output_rule iptables -F forwarding_rule iptables -t nat -F prerouting_rule iptables -t nat -F postrouting_rule # The following chains are for traffic directed at the IP of the # WAN interface iptables -F input_wan iptables -F forwarding_wan iptables -t nat -F prerouting_wan # Does anyone have a command to get the name of the WIFI interface on Kamikaze so # that it doesn't have to be hard-coded here? This is a bit sloppy it seems. WIFI=wl0 iptables -A input_wan -p tcp --dport 22 -j ACCEPT # Allow connections to olsr info port. iptables -A input_wan -p tcp --dport 1979 -j ACCEPT # OLSR needs port 698 to transmit state messages. iptables -A input_rule -p udp --dport 698 -j ACCEPT # Debugging. do we have WIFI, LAN and WAN appropriately defined? # These values are passed to us from /etc/init.d/firewall, which # calls this script. # echo WIFI == $WIFI # echo LAN == $LAN # echo WAN == $WAN iptables -A forwarding_rule -i $WAN -o $WIFI -j ACCEPT iptables -A forwarding_rule -i $WIFI -o $WAN -j ACCEPT # For forwarding LAN & WIFI in nodes iptables -A forwarding_rule -i $LAN -o $WIFI -j ACCEPT # For WIFI clients to connect to nodes. iptables -A forwarding_rule -i $WIFI -o $WIFI -j ACCEPT # For connecting a wired lan client of node 1 to wired lan client of node 2 iptables -A forwarding_rule -i $LAN -o $LAN -j ACCEPT # WIFI needs to go to LAN ports, too! iptables -A forwarding_rule -i $WIFI -o $LAN -j ACCEPT
Запустите olsrd
/etc/init.d/olsrd start /etc/init.d/olsrd enable
Перезагрузите роутер пропингуйте интерфейсы на разных устройствах. Выпейте любимый напиток для ощущения праздника!
После начальной конфигурации
Вы можете попробовать некоторые плагины которые легко настраиваются и могут показать простые статус вашей сети. В своей сети я запустил olsrd-mod-httpinfo который запускает простой http сервер показывающий статус mesh сети.
Ссылки
Master’s thesis of primary developer of olsrd — Cледует читать перед установкой OLSR если вы не до конца понимаете фундаментальные осного его работы.
Manual for Kamikaze by one of the developers — Отличный справочник по настройке сетевых интерфейсов и других частей OpenWrt.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website. OK More information about cookies
- Last modified: 2019/08/26 13:06
- by vgaetera
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
Plugin:olsrd
The olsrd plugin reads information about meshed networks from the txtinfo plugin of the Optimized Link State Routing daemon (olsrd).
Contents
Synopsis
Host "127.0.0.1" Port "2006" CollectLinks "Detail" CollectRoutes "Summary" CollectTopology "Summary"
Example graph
Signal quality of a wireless network link between two mesh network routers.
Dependencies
See also
OLSRD
Copyright 1988-2018 AcronymFinder.com, All rights reserved.
Link to this page:
Flashcards & Bookmarks ?
Flashcards ?
My bookmarks ?
References in periodicals archive ?
[9] » olsrd project home page,» 2014, http://www.olsr.org/.
Acronyms browser ?
Full browser ?
More from Acronyms and Abbreviations
Free Tools
- Terms of Use
- Privacy policy
- Feedback
- Advertise with Us
Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.
Olsrd что такое
Provided by: olsrd_0.6.6.2-1ubuntu1_amd64
NAME
olsrd - Optimized Link State Routing protocol daemon
SYNOPSIS
olsrd [ -i interface1 [interface2 . ] ] [ -f configfile ] [ -d debuglevel ] [ -ipv6 ] [ -ipc ] [ -dispin ] [ -dispout ] [ -nofork ] [ -bcast broadcastaddress ] [ -delgw ] [ -hint HELLO interval ] [ -tcint TC interval ] [ -midint MID interval ] [ -hnaint HNA interval ] [ -T scheduler poll rate ] [ -hemu IP address ]
DESCRIPTION
OPTIONS
-i interface1 . interfaceN This option specifies on what network interfaces olsrd should run. These interfaces cannot be aliased interfaces such as eth0:1. -f configfile This option overrides the default configuration file path used by olsrd - /etc/olsrd.conf -d debuglevel This option specifies the amount of debug information olsrd should write to STDOUT. If set to 0 olsrd will run in the background. -ipv6 This option instructs olsrd to use the Internet Protocol version 6. The default is version 4. -ipc This option allows the GUI front-end created fro olsrd to connect to olsrd at runtime. -dispin This option, when set, causes olsrd to display all incoming packet data on STDOUT. When using IPv4 the data is displayed in decimal format, when using IPv6 the data is displayed in hexadecimal format. -dispout This option, when set, causes olsrd to display all outgoing packet data on STDOUT. When using IPv4 the data is displayed in decimal format, when using IPv6 the data is displayed in hexadecimal format. -nofork This option, when set, causes olsrd not to fork and run in the background if started with debuglevel 0. Useful for init scripts. -delgw If this option is set olsrd will remove any default routes set prior to adding an Internet route based on OLSR routing. -bcast broadcastaddress This option specifies what IPv4 broadcastaddress to use for OLSR control traffic. The only value that currently makes sense when setting broadcast address mannually is 255.255.255.255. The default action is to use the broadcastaddres that the network interface is preconfigured with(per interface). -hint seconds This value sets the interval on which HELLO messages should be generated. The value is a floating point number representing seconds. -tcint seconds This value sets the interval on which TC messages should be generated. The value is a floating point number representing seconds. -midint seconds This value sets the interval on which MID messages should be generated. The value is a floating point number representing seconds. -hnaint seconds This value sets the interval on which HNA messages should be generated. The value is a floating point number representing seconds. -T seconds This option sets the polling intervall of the scheduler. The default is 0.1 seconds. This option should only be considered if running with really low emission intervals. -hemu IP address Use this option to connect to the olsr_switch network simulation application. Here IP address will be the IP address that the process will set as its main address in the emulation mode. This address has no connection to the real IP- stack and can be chosen freely. FILES /etc/olsrd.conf
SEE ALSO
olsrd.conf(8). Dec 2005 olsrd(8)
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.