Differences

This shows you the differences between two versions of the page.

ru:inbox:mesh.olsr [2012/11/27 03:53]
atmega644 created
ru:inbox:mesh.olsr [2013/09/06 12:50] (current)
silenceforest
Line 2: Line 2:
[[wp>OLSR]] и [[http://www.olsr.org/]] [[wp>OLSR]] и [[http://www.olsr.org/]]
-Сети с ячеистой топологией (mesh-сети) обладают самоорганизацией и автонастройкой на основе сведений об изменении топологии сети. For example, the properly configured OLSR mesh will automatically arrange itself in cases where one node fails, or when a new route emerges, or when a low traffic route becomes available or disappears.  The concept of a mesh network is not new; the Internet itself is a huge mesh network.  So what's new?  Well, mesh networks with wireless technology on OpenWrt simply rocks! ;)+Сети с ячеистой топологией (mesh-сети) обладают самоорганизацией и автонастройкой на основе сведений об изменении топологии сети.
-OLSR - это один из нескольких протоколов маршрутизации, предназначенный для создания  [[http://ru.wikipedia.org/wiki/MANET|Mobile Adhoc Networks (MANET)]], или, проще говоря, беспроводные децентрализованные самоорганизующиеся сети.  [[http://www.olsr.org|The OLSR code developed by Andreas Tønnesen]] is the best suited for our case as packages have been created for OpenWrt.+Для примера, правильно настроенная OLSR сеть автоматически конфигурируется в случаях когда одна нода повреждается или появляется новый маршрут, или в случае появления или пропажи более быстрого маршрута.
-Эта страница содержит информацию, о том как создать mesh-сеть путём настройки OpenWrt и olsrd (процесс демона OLSR).  Если ваша цель - быстро запустить OLSR-сеть, возможно вам захочется взглянуть на прошивку которая была создана специально для этих целей.  Примером такой прошивки является[[http://firmware.freifunk.net|Freifunk project]].  Если вы настроены на запуск OLSR в OpenWrt без помощи готовых прошивок, продолжайте чтение))+Эта концепцияя mesh сетей не нова - Интернет сам представляет из себя огромную mesh сеть. Что-же нового? Ну, Wi-Fi mesh сети построенные на OpenWRT - это просто круто ;) 
 + 
 +OLSR - это один из нескольких протоколов маршрутизации, предназначенный для создания  [[http://ru.wikipedia.org/wiki/MANET|Mobile Adhoc Networks (MANET)]], или, проще говоря, беспроводные децентрализованные самоорганизующиеся сети.  [[http://www.olsr.org|OLSR код разработанный Andreas Tønnesen]] это лучшее решение для нашей сборки созданной для OpenWRT. 
 + 
 +Эта страница содержит информацию, о том как создать mesh-сеть путём настройки OpenWrt и olsrd (процесс демона OLSR).  Если ваша цель - быстро запустить OLSR-сеть, возможно вам захочется взглянуть на прошивку которая была создана специально для этих целей.  Примером такой прошивки является[[http://firmware.freifunk.net|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. 
 + 
 +<code> 
 + 
 +      WAN                                                WAN 
 +      |                                                  | 
 +OpenWrt + OLSR Node 1 ---- wireless link ---- OpenWrt + OLSR Node 2 
 +      |                                                  | 
 +      LAN                                                LAN 
 +      |                                                  | 
 +  Workstation A                                      Workstation B 
 + 
 +</code> 
 + 
 +На всех узлах (в нашем случае используется [[toh/linksys/wrt54gl]]) должен быть установлен OLSR. В общем, OLSR должен быть установлен на любом узле который учавствует в создании маршрутизации между заданными OLSR подсетями. 
 + 
 +OLSR узлы должны быть сконфигурированы на прослушивание всех WiFi интерфейсах на роутере. Включение на проводных интерфейсах не обязательно, в некоторых случаях это может помешать работе других служб, например DHCP. 
 + 
 +Если проводные интерфейсы на роутере имеют подесть отличающуюся от WiFi то можно настроить OLSR для передачи //host и network association// (HNA) сообщений другим роутерам. В зависимости от использования IPv4 или IPv6 вы можете настроить опции Hna4 или Hna6 в файле ''/?/olsrd.conf'' 
 + 
 +{{page>meta:infobox:outdated&noheader&nofooter&noeditbtn}} 
 + 
 + 
 +===== HOW TO ===== 
 +  - Разделите WiFi и LAN интерфейсы в файле ''[[doc:uci:network|/etc/config/network]]'', по умолчанию они соеденены в мост. 
 +  - Настройте WNICs для работы в режиме //adhoc//. Файл ''[[doc:uci:wireless|/etc/config/wireless]]'' должен выглядеть так:<code> 
 +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 
 +</code> 
 +  - Установите olsrd<code> 
 +  opkg update 
 +  opkg install olsrd 
 +</code> 
 +  - Измените ''/etc/olsrd.conf'' и поменяйте "Interface "XXX" на WiFi интерфейс вашего роутера. Пример<code> 
 +# 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" 
 +
 + PlParam "port" "1979" 
 + PlParam "Net" "0.0.0.0 0.0.0.0" 
 +
 +</code> 
 +  - Файрвол - разрешите роутеру форвардинг пакетов между интерфейсами:<code> 
 +#!/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 
 +</code> 
 +  - Запустите olsrd<code> 
 +/etc/init.d/olsrd start 
 +/etc/init.d/olsrd enable 
 +</code> 
 + 
 +Перезагрузите роутер пропингуйте интерфейсы на разных устройствах. Выпейте любимый напиток для ощущения праздника! 
 + 
 +===== После начальной конфигурации ===== 
 +Вы можете попробовать некоторые плагины которые легко настраиваются и могут показать простые статус вашей сети. В своей сети я запустил ''olsrd-mod-httpinfo'' который запускает простой http сервер показывающий статус mesh сети. 
 + 
 +===== Ссылки ===== 
 +  * [[http://www.olsr.org|Master's thesis of primary developer of olsrd]] - Cледует читать перед установкой OLSR если вы не до конца понимаете фундаментальные осного его работы. 
 +  * [[http://nbd.name/openwrt|Manual for Kamikaze by one of the developers]] - Отличный справочник по настройке сетевых интерфейсов и других частей OpenWrt. 
 + 
 +{{tag>mesh}}

Back to top

ru/inbox/mesh.olsr.1353984832.txt.bz2 · Last modified: 2012/11/27 03:53 by atmega644