Summer Course at Mekelle Institute of Technology. July, 2015. Linux Routers and Community Networks Llorenç Cerdà-Alabern http://personals.ac.upc.edu/llorenc llorenc@ac.upc.edu Universitat Politènica de Catalunya, Barcelona, Spain Revision: 0e36644 (2015-07-09) Llorenç Cerdà-Alabern Linux Routers and Community Networks 1 / 191
Summer Course at Mekelle Institute of Technology. Linux Routers and Community Networks Lab 4: Community Networks Description Parts Community Networks I Introduction qMp II Lab 1: Basic Network Configuration Lab set up III Lab 2: RIP and OSPF IV Lab 3: Firewall configuration V Lab 4: Community Networks VI Lab 5: Network Management Llorenç Cerdà-Alabern Linux Routers and Community Networks 132 / 191
Summer Course at Mekelle Institute of Technology. Linux Routers and Community Networks Lab 4: Community Part V Networks Description Community Lab 4: Community Networks Networks qMp Lab set up Outline Description Community Networks qMp Lab set up Llorenç Cerdà-Alabern Linux Routers and Community Networks 133 / 191
Lab 4: Community Networks Description Lab 4: Community Networks Description Community Networks Objectives qMp • Introduce Community Networks. Lab set up • Introduce Wireless Mesh Networks: qMp. • Configure a qMp network to be deployed at MIT. Llorenç Cerdà-Alabern Linux Routers and Community Networks 134 / 191
Summer Course at Mekelle Institute of Technology. Linux Routers and Community Networks Lab 4: Community Part V Networks Description Community Lab 4: Community Networks Networks qMp Lab set up Outline Description Community Networks qMp Lab set up Llorenç Cerdà-Alabern Linux Routers and Community Networks 135 / 191
Lab 4: Community Networks Community Networks Lab 4: Community Networks Community Networks Description • Networks deployed and maintained by their own users. Community Networks • Each user is owner of a part of the total infrastructure which qMp builds the network. Lab set up • These networks are normally open and free. • Most of them use WiFi technology because it is the easiest and cheapest way to deploy an outdoor network. • A relevant example is Guifi.net. • Caveat: National Government Regulations! Change very much in different countries. Llorenç Cerdà-Alabern Linux Routers and Community Networks 136 / 191
Lab 4: Community Networks Community Networks Lab 4: Community Networks What is guifi.net? • Community Network. http://guifi.net/en Description • Started in 2004 in a rural area Community Networks (Osona) in Catalonia, Spain. qMp • Hybrid (wired/wireless) links Lab set up manually set up, most network use traditional OSPF & BGP routing protocols. • Some communities inside guifi.net have started using routing mesh protocols. • Services: Internet, P2P , Voice, NTP ... • Sustained growth: at the time of writing 28,741 working nodes. Llorenç Cerdà-Alabern Linux Routers and Community Networks 137 / 191
Lab 4: Community Networks Community Networks Lab 4: Community Networks Keys of success of guifi.net Description • Web page with doc. and soft. Community Networks • Distribution of IP addresses. qMp • Confederation of networks. Lab set up • Mailing lists, events (guifi-labs, annual meeting (SAX)... • Legal aspects: • Wireless Commons License. • Foundation and Telco Operator. Llorenç Cerdà-Alabern Linux Routers and Community Networks 138 / 191
Lab 4: Community Networks Community Networks Lab 4: Community How to connect to guifi.net? Networks 1 Register to guifi.net and 3 Install the antenna. Description get IPv4 addresses Community Networks qMp Lab set up 2 Take measurements on the roof (scanning): Llorenç Cerdà-Alabern Linux Routers and Community Networks 139 / 191
Lab 4: Community Networks Community Networks Lab 4: What is a mesh network, and a mesh routing protocol? Community Networks Description Community Networks qMp Lab set up • Mesh network: have some sort of infrastructure with and use some self-forming, self-healing routing protocol. • Mesh routing protocol: Discover mesh nodes, adapts to links that can automatically set up and down and set up routes. • Traditional routing protocols: RIP , OSPF , BGP , ... • Mesh routing protocols: Ad hoc On-Demand Distance Vector (AODV), Optimized Link State Routing protocol (OLSR), Dynamic Source Routing (DSR), Better Approach To Mobile Adhoc Networking (BATMAN), BMX6, ... Llorenç Cerdà-Alabern Linux Routers and Community Networks 140 / 191
Lab 4: Community Networks Community Networks Lab 4: Community Networks Ad-Hoc Mode Description Community Networks qMp Lab set up Infrastructure BSS Independent BSS, IBSS (infrastructure mode). (ad-hoc mode). • Mesh network wireless nodes are configured in ad-hoc mode: • BSSID: All stations share a common BSSID. In qMp this is 02:CA:FF:EE:BA:BE . • Beacons: A random delay rotates the responsibility for sending beacons among the stations. Llorenç Cerdà-Alabern Linux Routers and Community Networks 141 / 191
Summer Course at Mekelle Institute of Technology. Linux Routers and Community Networks Lab 4: Community Part V Networks Description Community Lab 4: Community Networks Networks qMp Lab set up Outline Description Community Networks qMp Lab set up Llorenç Cerdà-Alabern Linux Routers and Community Networks 142 / 191
Lab 4: Community Networks qMp Lab 4: Community Networks What is qMp? • Quick Mesh Project http://dsg.ac.upc.edu/qmpsu Description (qMp) is an Community OpenWrt Networks distribution is being qMp developed using Lab set up BMX6 as mesh routing protocol. • Native IPv6. • It is used in some guifi.net zones, e.g. in Guifisants, in the quarter of Sants in Barcelona, Spain. Llorenç Cerdà-Alabern Linux Routers and Community Networks 143 / 191
Lab 4: Community Networks qMp Lab 4: Community BMX6 features Networks • Open-source mesh routing protocol. Description • Originated from a branch of the mesh routing protocol called Community BATMAN. Networks qMp • Designed to optimize the communication between neighbor Lab set up nodes for minimal overhead. • It uses UDP messages (port 6240) to discover other nodes and disseminate node and routing information. • Proactive protocol: nodes maintain routes to all destination nodes running BMX6 proactively. • Distance-vector: nodes don’t have a global topology information, but choose next hop to each destination based on aggregated information, similarly to RIP and BGP . Llorenç Cerdà-Alabern Linux Routers and Community Networks 144 / 191
Lab 4: Community Networks qMp Lab 4: BMX6 daemon Community Networks • /usr/sbin/bmx6 automatically started by qMp. • Furthermore, qMp starts the crontab job Description /etc/qmp/bmx6health.sh to to check that the BMX6 daemon. Community • The BMX6 can be requested from the CLI: Networks qMp ~# bmx6 -c status version compat name primaryIp tun6Address tun4Address Lab set up BMX6-0.1-alpha 16 GSgV-rb-fc89 fd66:66:66:7:4e5e:cff:fee9:fc8a 2012:0:0:fc89::1/64 10.1.24.97/27 ~# bmx6 -c originators name blocked primaryIp routes viaIp BCN-GS-CanBruixa20-NSM5-e48b 0 fd66:66:66:f8:227:22ff:feb9:e48b 1 fe80::227:22ff:fe9b:65ab ... ~# bmx6 -c tunnels name net min max hyst rating minBw tunName tunRoute remoteName cloud 10.0.0.0/8 24 128 20 100 960 bmxC4tmain 10.139.95.254/32 GSmVictoria-RK8da9 ... ~# bmx6 -c interfaces devName state type rateMin rateMax llocalIp globalIp eth1.1 UP ethernet 1000M 1000M fe80::4e5e:cff:fee9:fc8a/64 fd66:66:66:7:4e5e:cff:fee9:fc8a/64 eth1.2 UP ethernet 1000M 1000M fe80::4e5e:cff:fee9:fc8a/64 fd66:66:66:6:4e5e:cff:fee9:fc8a/64 ~# bmx6 -c links name llocalIp viaDev rxRate txRate bestTxLink routes wantsOgms UPCc6-65ab fe80::227:22ff:fe9b:65ab eth1.1 100 93 1 13 1 ... ~# bmx6 -c parameters bmx6_config.so plugin ... Llorenç Cerdà-Alabern Linux Routers and Community Networks 145 / 191
Summer Course at Mekelle Institute of Technology. Linux Routers and Community Networks Lab 4: Community Part V Networks Description Community Lab 4: Community Networks Networks qMp Lab set up Outline Description Community Networks qMp Lab set up Llorenç Cerdà-Alabern Linux Routers and Community Networks 146 / 191
Lab 4: Community Networks Lab set up G5 G6 Lab 4: PC3 Community R5 R6 PC2 PC2 Networks PC1 Description G4 G7 PC3 PC3 Community R4 R7 PC2 PC2 Networks Objectives: PC1 PC1 qMp • We want to set up Lab set up G3 G8 this network. PC3 PC3 R3 R8 PC2 PC2 • Using qMp. PC1 PC1 • Following the G2 G9 PC3 PC3 guidelines in the R2 R9 PC2 PC2 next slides. PC1 CH124 CH132 PC1 G1 G10 PC3 PC3 R1 R10 PC2 PC2 PC1 PC1 CH1 CH100 CH6 .1 Internet 200.0.0.0/24 Llorenç Cerdà-Alabern Linux Routers and Community Networks 147 / 191
Lab 4: Community Networks Lab set up Lab 4: Community Create a node in Guifi.net Networks • Register in https://guifi.net • Create a node: Create content -> guifi.net node Description • Add a device to the node (you need to provide the MAC address). Community Networks • We will use the addresses obtained from Guifi.net. qMp Lab set up Llorenç Cerdà-Alabern Linux Routers and Community Networks 148 / 191
Recommend
More recommend