Enrutament en Xarxes d'estar per casa

  • warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (/srv/www/gilug.org/www/site.tree/) in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 802.
  • warning: fopen(): Filename cannot be empty in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 803.
  • El fitxer no s'ha pogut crear.

Si disposem de vàries xarxes i de vàries connexions a Internet, amb la finalitat de maximitzar l'aprofitament de l'ample de banda i de minimitzar el temps de resposta; establirem connexions entre elles i prepararem sistemes d'enrutament que distribuiran els paquets d'informació. Descriuré diferents maneres per configurar l'enrutament en xarxes d'una complexitat mínima, com les que es poden fer entre dues zones que es troben a poca distància l'una de l'altra.

Finalitat

Compartir experiències en la configuració de xarxes que disposen de vàries connexions a Internet, o que estan dividides en vàries zones.

Avui en dia el protocol IP sobre Ethernet s'ha imposat com a estàndard en les xarxes internes, i sobre ADSL o cable per les connexions amb els nostres proveïdors d'Internet. Aquest article tractarà de les connexions amb el protocol IP sobre Ethernet i les possibilitats d'enrutament que ens ofereix.

Segur que sobre això s'en podria escriure més d'una enciclopèdia, ara només pretenc donar algunes idees per els usuaris que vulguin aprofundir lleugerament en el tema.

Interconnexió de xarxes

La disposició física de les xarxes condiciona la manera en que podem connectar-les entre elles. Tenim en el mercat molts aparells que ens donen un rendiment acceptable a preus assequibles; (parlem dels aparells d'estar per casa, en empreses hem de fer servir estris amb grans possibilitats i de més qualitat que implica també preu), en diferents situacions escollirem els que s'adaptin millor.

Transport físic

Ethernet es pot portar físicament sobre varis conductes.

  • sobre cables directes que connecten un lloc de treball amb un concentrador o switch, o també un servidor amb un aparell enrutador, etc... Actualment les velocitats son de 10, 100 o 1000 Mbits/seg
  • amb tecnologia sense fils, anomenada Wifi, definida en els estandards 802.11a, 802.11b, 802.11g i altres variants personalitzades (MIMO, Turbo, etc) Les velocitats son de 10 o 54 Mbits/seg, i algunes variants consegueixen més de 100 Mbits/seg
  • sobre cables de corrent elèctrica, anomenada Powerline. Les velocitats son de 10 o de 200 Mbits/seg
  • hi ha altres aparells anomenats transceptors que converteixen el protocol Ethernet en altres protocols i que poden anar sobre fibra òptica o sobre fil paral·lel..., però no son de ús comú i dels seus preus ... no en parlem

Crear una xarxa única

Per una petita xarxa que estigui repartida en dues ubicacions diferents, amb menys de deu aparells; podem crear una xarxa única inter-connectant les dues ubicacions amb un cable directe o amb un enllaç Wifi o un enllaç PowerLine.

Quan ajuntem dues xarxes en una sola si tenim servidor DHCP, hem de fer un servidor DHCP principal i configurar els altres com secundaris o desactivar-los. Hem de posar IP's diferents per cada aparell que té IP estàtica, com per exemple els routers. Els aparells de la xarxa que autoconfiguren la IP per DHCP, ja la canviaran quan els engeguem.

Per exemple: Suposem que en cada ubicació disposem d'un enrutador a Internet, tots dos aparells estan configurats com servidors DHCP.

Dibuixem la xarxa 1 d'exemple:

-------------------       -------------------
| PC 1            |       | Impressora 1    |
| IP dinàmica     |       | IP estàtica     |
| 192.168.1.xx/24 |       | 192.168.1.20/24 |
-------------------       -------------------
  |                            |
  |                            |
  |eth                         |eth
  |100BaseTX                   |100BaseTX
  |                            |
----------------------------------------------------
| 192.168.1.1/24                                   |
|                                                  |
|     Zona 1     100BaseTX Switched                |
|     Router       Ethernet                        |
|     DHCP Server                                  |
----------------------------------------------------
  |
  |
  |3MbDSL/ATM
------------
| Internet |
------------

Aquesta seria la xarxa 2 d'exemple:

-------------------       -------------------
| PC 2            |       | Impressora 2    |
| IP estàtica     |       | IP estàtica     |
| 192.168.2.20/24 |       | 192.168.2.40/24 |
-------------------       -------------------
  |                            |
  |                            |
  |eth                         |eth
  |100BaseTX                   |100BaseTX
  |                            |
----------------------------------------------------
| 192.168.2.1/24                                   |
|                                                  |
|     Zona 2     100BaseTX Switched                |
|     Router       Ethernet                        |
|     DHCP Server                                  |
----------------------------------------------------
  |
  |
  |1MbDSL/ATM
------------
| Internet |
------------

Ajuntaríem les dues xarxes de la manera següent:

-------------------       -------------------                              -------------------       -------------------
| PC 1            |       | Impressora 1    |                              | PC 2            |       | Impressora 2    |
| IP dinàmica     |       | IP estàtica     |      Bridge Wifi,            | IP estàtica     |       | IP estàtica     |
| 192.168.1.xx/24 |       | 192.168.1.20/24 |        Cable o               | 192.168.1.30/24 |       | 192.168.1.40/24 |
-------------------       -------------------        PowerLine             -------------------       -------------------
  |                            |                |------------------|                |                            |
  |                            |                |                  |                |                            |
  |eth                         |eth             |                  |                |                            |
  |100BaseTX                   |100BaseTX       |                  |                |                            |
  |                            |                |                  |                |                            |
----------------------------------------------------             ----------------------------------------------------
| 192.168.1.1/24                                   |             | 192.168.1.2/24                                   |
|                                                  |             |                                                  |
|     Zona 1     100BaseTX Switched                |             |     Zona 2     100BaseTX Switched                |
|     Router       Ethernet                        |             |     Router       Ethernet                        |
|     DHCP Server                                  |             |     DHCP Server secundari o desactivat           |
----------------------------------------------------             ----------------------------------------------------
  |                                                                 |
  |                                                                 |
  |3MbDSL/ATM                                                       |1MbDSL/ATM
------------                                                     ------------
| Internet |                                                     | Internet |
------------                                                     ------------

Amb una mica de traça, i unes instruccions, nosaltres mateixos podem fer cables RJ45 llargs si comprem l'allargada corresponent de cable, els connectors i les alicates per premsar-los (grimp). Algunes botigues també fan cables a mida. P.D. La longitud màxima d'un cable Ethernet és de 70 o 80 metres, encara que els aparells més bons a vegades transmeten fins a 100 metres, i els més dolents a menys de 50.

El bridge Wifi es pot fer amb dos punts d'accés del tipus DLink DWL-2000AP; i és aconsellable posar-hi antenes direccionals com les biquad que es fan amb les caixes metàl·liques de CDs.

PowerLine necessita que a tots dos punts hi hagi les dues mateixes fases de la línia elèctrica, hem de comprovar-ho i podrem posar aparells com els NETGEAR Powerline HD Ethernet Adapter HDX101

les màquines han de tenir les regles d'enrutament.

route del default
route add default gateway 192.168.1.1

D'aquesta manera el router de la zona 1 donarà per DHCP la seva adreça IP com la ruta per defecte, el tràfec cap a Internet anirà al router 1. En els apartats corresponents a l'enrutament tractarem de distribuir els paquets d'informació en els dos routers.

Observarem que aquesta és una de les solucions més senzilles i assequibles. Actualment, gràcies als concentradors de xarxa anomenats switch que descobreixen les adreces a les que va dirigida la informació i només la envien al punt que correspon, es poden fer xarxes molt complexes sense degradar el rendiment global.

Xarxa amb vàries zones

Amb xarxes que tinguin més de dues zones o que hi hagi molts aparells, és aconsellable mantenir-les separades en grups d'IP diferents i posar routers Ethernet entre elles per tal de que només creuïn d'una xarxa a l'altra els paquets corresponents.

En aquests casos donaríem a cada xarxa un rang d'IPs diferent, i cada xarxa tindria el seu servidor DHCP.

-------------------       -------------------                              -------------------       -------------------
| PC 1            |       | Impressora 1    |                              | PC 2            |       | Impressora 2    |
| IP dinàmica     |       | IP estàtica     |   --------------------       | IP estàtica     |       | IP estàtica     |
| 192.168.1.xx/24 |       | 192.168.1.20/24 |   |    router        |       | 192.168.2.20/24 |       | 192.168.2.40/24 |
-------------------       -------------------   |    Ethernet      |       -------------------       -------------------
  |                            |                --------------------                |                            |
  |                            |                |                  |                |                            |
  |eth                         |eth       192.168.1.2/24      192.168.2.2/24        |                            |
  |100BaseTX                   |100BaseTX       |                  |                |                            |
  |                            |                |                  |                |                            |
----------------------------------------------------             ----------------------------------------------------
| 192.168.1.1/24                                   |             | 192.168.2.1/24                                   |
|                                                  |             |                                                  |
|     Zona 1     100BaseTX Switched                |             |     Zona 2     100BaseTX Switched                |
|     Router       Ethernet                        |             |     Router       Ethernet                        |
|     DHCP Server                                  |             |     DHCP Server                                  |
----------------------------------------------------             ----------------------------------------------------
  |                                                                 |
  |                                                                 |
  |3MbDSL/ATM                                                       |1MbDSL/ATM
------------                                                     ------------
| Internet |                                                     | Internet |
------------                                                     ------------

el router Ethernet també ha de disposar de tallafocs i prevenir que el protocol DHCP passi d'una xarxa a l'altra. Per exemple pot ser un Dlink DI-604  >  4-Port Broadband Router,

les màquines de la zona 1 han de tenir les regles d'enrutament.

route del default
route add default gateway 192.168.1.1
route add -net 192.168.2.0 netmask 255.255.255.0 gateway 192.168.1.2

les màquines de la zona 2 han de tenir les regles d'enrutament.

route del default
route add default gateway 192.168.2.1
route add -net 192.168.1.0 netmask 255.255.255.0 gateway 192.168.2.2

Ara podem compartir els dispositius, accedint als PC's, a les impressores, etc. Més endavant veurem opcions d'enrutament avançat per tal de compartir els routers Internet en aquestes xarxes.

Enrutament Estàtic

En els casos d'enrutament estàtic una de les màquines fa de servidor i reparteix la càrrega entre els routers. Una ruta estàtica no es modifica sola quan un enllaç s'atura voluntàriament o falla, l'operador ha de detectar el problema i actuar en conseqüència.

Farem servir el balanç de càrrega que fa el paquet iproute de GNU/Linux. Es tracta d'un algoritme aproximat que va distribuint les comunicacions a cada una de les connexions a Internet. Per a una comunicació concreta, la seva velocitat màxima estarà limitada per la velocitat nominal de la connexió a Internet per on vagi. Els beneficis d'aquesta configuració es veuen quan es produeixen múltiples connexions al mateix temps o es descarreguen pàgines amb moltes parts, que provenen de diferents servidors.

Una sola zona amb dos routers

Per exemple, amb la màquina PC2 que va amb el Sistema Operatiu GNU/Linux fem una configuració d'enrutament amb balanç de càrrega cap els dos routers,

Per la xarxa exemple anterior amb un sol grup d'adreces IP i dos routers, en el PC2 posem:

ip route delete default
ip route add default nexthop via 192.168.1.1 dev eth0 \
                     nexthop via 192.168.1.2 dev eth0

i a més fem que totes les màquines apuntin al PC2 com el punt d'enrutament.

route add default gateway 192.168.1.30

Dues zones amb dos routers

Per la xarxa anterior amb dos grups d'adreces IP i dos routers, només podem fer servir enrutament dinàmic amb protocols avançats com el BGP o OSPF.

balanç de càrrega, amb router

Un altre tipus de servidor és quan instal·lem GNU/Linux OpenWRT wireless freedom en un router de baix cost i el preparem per fer enrutament estàtic amb balanç de càrrega.

Com a exemple posarem un router amb OpenWrt a la zona 2 de la xarxa anterior.

-------------------       -------------------                              -------------------       -------------------
| PC 1            |       | Impressora 1    |                              | PC 2            |       | Impressora 2    |
| IP dinàmica     |       | IP estàtica     |      Bridge Wifi,            | IP estàtica     |       | IP estàtica     |
| 192.168.1.xx/24 |       | 192.168.1.20/24 |        Cable o               | 192.168.1.30/24 |       | 192.168.1.40/24 |
-------------------       -------------------        PowerLine             -------------------       -------------------
  |                            |                |------------------|                |                            |
  |                            |                |                  |                |                            |
  |eth                         |eth             |                  |                |                            |
  |100BaseTX                   |100BaseTX       |                  |                |                            |
  |                            |                |                  |                |                            |
----------------------------------------------------             ----------------------------------------------------
| 192.168.1.1/24                                   |             | 192.168.1.2/24                                   |
|                                                  |             |                                                  |
|     Zona 1     100BaseTX Switched                |             |     Zona 2     100BaseTX Switched                |
|     Router       Ethernet                        |             |     Router OpenWRT       Ethernet                |
|     DHCP Server                                  |             |     DHCP Server                                  |
|                                                  |             | 192.168.128.2/24                                 |
----------------------------------------------------             ----------------------------------------------------
  | eth0                                                            | eth0
  |                                                                 |
  |                                                              --------------------
  |                                                              | 192.168.128.1/24 |
  |                                                              | Modem            |
  |                                                              --------------------
  |                                                                 |
  |3MbDSL/ATM                                                       |1MbDSL/ATM
------------                                                     ------------
| Internet |                                                     | Internet |
------------                                                     ------------

com que es tracta de un Sistema Operatiu GNU/Linux es poden fer regles d'enrutament per balanç de càrrega. Podem entrar en el terminal d'aquest router i escriure les ordres en el fitxer /init.sh

ip route delete default
ip route add default nexthop via 192.168.128.1 dev eth0 \
                     nexthop via 192.168.1.1 dev eth1

i a més fem que totes les màquines apuntin al router 2 com el punt d'enrutament.

route add default gateway 192.168.1.2

Servidor/passarel·la amb vàries connexions a Internet

Per motius de seguretat i de centralitzar els serveis de la xarxa podem tenir un servidor que faci de passarel·la cap a Internet, aquest pot tenir vàries targes de xarxa, amb una de les targes connecta a la xarxa local i cada una de les altres a un router cap a Internet.

Per exemple, suposem la xarxa:

                             -------------------       -------------------
                             | PC 1            |       | Impressora 1    |
                             | IP dinàmica     |       | IP estàtica     |
                             | 192.168.3.xx/24 |       | 192.168.3.20/24 |
                             -------------------       -------------------
                                   |                            |
                                   |-----------------------------
                                        |eth0
                                        |100BaseTX
                                        |
                   ----------------------------------------------------
                   | 192.168.3.1/24                                   |
                   |                                                  |
                   |     Servidor GNU/Linux    100BaseTX Switched     |
                   |     Router/Gateway       Ethernet                |
                   |     DHCP Server                                  |
                   |  192.168.1.2/24                  192.168.2.2/24  |
                   ----------------------------------------------------
                        |                                        |
                        |                                        |
                        |eth1                                    |eth2
                        |100BaseTX                               |100BaseTX
                        |                                        |
--------------------------------------             ----------------------------------------
| 192.168.1.1/24                     |             | 192.168.2.1/24                       |
|                                    |             |                                      |
|     Router 1   100BaseTX Switched  |             |     Router 2   100BaseTX Switched    |
|                  Ethernet          |             |                  Ethernet            |
|     DHCP Server desactivat         |             |     DHCP Server desactivat           |
--------------------------------------             ----------------------------------------
                 |                                                  |
                 |                                                  |
                 |3MbDSL/ATM                                        |1MbDSL/ATM
           ------------                                         ------------
           | Internet |                                         | Internet |
           ------------                                         ------------

en el servidor GNU/Linux fem una configuració d'enrutament amb balanç de càrrega cap els dos routers, posem:

ip route delete default
ip route add default nexthop via 192.168.1.1 dev eth1 \
                     nexthop via 192.168.2.1 dev eth2

i a més configurem en aquest servidor un servei DHCP per la xarxa interna, i fem que les màquines apuntin a la seva IP per l'enrutament.

route add default gateway 192.168.3.1

si volem que els aparells de la xarxa interna comuniquin directament a Internet, haurem d'informar als routers de que es pot accedir a la xarxa interna passant per el servidor. Podem fer-ho activant el servei RIP en el servidor i en els routers o sinó posant les instruccions a cada router, per el router 1:

route add -net 192.168.3.0 netmask 255.255.255.0 gateway 192.168.1.2

al router 2:

route add -net 192.168.3.0 netmask 255.255.255.0 gateway 192.168.2.2

Enrutament Dinàmic

En poques paraules, es tracta de que una xarxa detecti cada punt d'enrutament disponible i configuri el millor camí per enviar la informació. A més la informació d'enrutament es reconfigura si s'afegeixen altres routers o s'en desconnecta algun.

Balanç de càrrega amb enrutament dinàmic

Els servidors que treballen per balanç de càrrega; el PC2 anterior, o també el router OpenWrt; podrien establir un enrutament amb detecció de passarel·la/veí mort (dead gateway/neighbor detect) que fa el kernel GNU/Linux. segons Routing for multiple uplinks/providers Tradueixo i elaboro el document anterior:

Generalitzem la configuració en la que hi ha dues connexions a Internet, que anomenem proveïdors que connecten una xarxa local (o una sola maquina) a l'ample món d'Internet.

IF0=eth0                    IF1=eth1       P1=192.168.1.2          ________
P0_NET=192.168.3.0/24    IP1=192.168.1.1    +------------+        /
                     P1_NET=192.168.1.0/24  |            |       |
                              +-------------+ Provider 1 +-------
          __                  |             |            |     /
      ___/  \_         +------+-------+     +------------+    |
    _/        \__      |     if1      |                      /
   /             \     |              |                      |
  | Local network -----+ Linux router |                      |     Internet
   \_           __/    |if0           |                      |
     \__     __/       |     if2      |                      \
        \___/          +------+-------+     +------------+    |
                              |             |            |     \
                              +-------------+ Provider 2 +-------
                            IF2=eth2        |            |       |
                        IP2=192.168.2.1     +------------+        \________
                     P2_NET=192.168.2.0/24  P2=192.168.2.2

Hi ha dues qüestions en aquesta configuració.

Establim algunes variables. Sigui $IF0 el nom de l'interfase intern (if0 en l'esquema anterior). Sigui $IF1 el nom del primer interfase (if1 en l'esquema anterior) i $IF2 el nom del segon interfase. Lllavors sigui $IP1 l'adreça IP associada amb $IF1 i $IP2 l'adreça IP associada amb $IF2. També, sigui $P1 l'adreça IP de la passarel·la cap al proveidor 1, i $P2 l'adreça IP de la passarel·la cap al proveidor 2. Finalment, sigui $P1_NET la xarxa IP on hi ha $P1, i $P2_NET la xarxa IP on hi ha $P2.

1- Dividir l'accés

Lo primer és com enrutar les respostes a paquets que venen d'un proveïdor en particular, i que tornin cap al mateix proveïdor.

IF0=eth0
P0_NET=192.168.3.0/24
IF1=eth1
P1_NET=192.168.1.0/24
IP1=192.168.1.1
P1=192.168.1.2
IF2=eth2
P2_NET=192.168.2.0/24 
IP2=192.168.2.1
P2=192.168.2.2

Hem de crear dues taules addicionals d'enrutament, diguem T1 i T2. Les afegim a /etc/iproute2/rt_tables.

# echo “100 T1” >> /etc/iproute2/rt_tables
# echo “200 T2” >> /etc/iproute2/rt_tables

Llavors establim enrutament en aquestes taules de la manera següent:

ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2

Rès d'espectacular, tant sols construïm una ruta a la passarel·la i construïm una ruta per defecte via aquesta passarel·la, com faria el mateix sistema operatiu, però posem les rutes en una taula separada per proveïdor. Observeu que en tenim prou amb la ruta de la xarxa, perquè aquesta diu com trobar qualsevol màquina en aquesta xarxa, lo que inclou la passarel·la, que hem posat abans ( $IP1, $IP2 ).

Seguidament preparem la taula d'enrutament principal “main”. Enrutem cada xarxa cap als veïns a directament amb la interfase que està connectat a aquest veí. Observeu els arguments `src', per estar-ne segurs de que escollim l'adreça IP de sortida correcta. Segurament el Sistema Operatiu ja ha establert aquest enrutament.

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

Llavors, la vostre preferència per la ruta defecte:

ip route delete default
ip route add default via $P1

Seguidament, establim les regles d'enrutament. Aquestes escullen amb quina taula d'enrutament hem d'enrutar. N'estarem segurs de que enrutem lo que vé d'un interfase si tenim l'adreça IP origen que correspon:

ip rule add from $IP1 table T1
ip rule add from $IP2 table T2

Aquest conjunt d'ordres assegura que el tràfec que vé d'un interfase es respon també amb aquest interfase.

a més establim les rutes per l'interface intern:

ip route add $P0_NET     dev $IF0 table T1
ip route add $P2_NET     dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo   table T1
ip route add $P0_NET     dev $IF0 table T2
ip route add $P1_NET     dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo   table T2

Ara, aquesta configuració és vàlida quan comuniquem amb Internet amb “IP masquerade”, com fem molts de nosaltres que tenim una sola IP amb els nostres proveïdors d'Internet.

2- Balanç de càrrega

La segona qüestió és com distribuir el tràfec sortint cap als dos proveïdors. Ara això no és difícil ja que abans hem establert l'accés dividit.

en comptes d'escollir un dels dos proveïdors com la ruta per defecte, establim la ruta per defecte com una ruta amb múltiples camins. Per defecte el kernel distribuirà l'enrutament entre els dos proveidors. Aixó es fa de la manera següent (a afegir a l'exemple de la secció anterior d'accés distribuït):

ip route delete default
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
            nexthop via $P2 dev $IF2 weight 1
ip route flush cache

Els paràmetres weight poden canviar-se per carregar més un proveïdor que l'altre, ( però no ens hi hem pas de trencar el cap, és una distribució aproximada de la càrrega).

Observeu que la distribució no serà perfecte, ja que es basa amb rutes, i les rutes estan en una memòria cau. Això significa que les rutes als llocs internet que usem més aniran cada vegada per el mateix proveïdor.

Hem de tenir en compte que aquest sistema d'enrutament dinàmic depèn de la detecció de passarel·la/veí mort (dead gateway/neighbor detect), que durant la història del kernel GNU/Linux ha estat plena d'arreglos. Veure Software, Patches and Docs

Protocols avançats d'enrutament

Els protocols d'enrutament dinàmic que s'autoconfiguren son bàsicament dos:

  • BGP, són routers que s'ajunten per grups, tenen una llista de xarxes en les que buscar altres routers del seu grup; quan troben un router adient, comparteixen entre ells la informació d'enrutament. (a grans trets, si estudiessim el protocol BGP veuriem que es poden crear gerarquies entre grups d'enrutament)
  • OSPF que està formada per un router central amb el que els secundaris comparteixen la informació.

en les petites xarxes el protocol més adequat és BGP, perquè no hi ha un router central, sinó que cada un d'ells actua independentment. Es pot aturar un dels routers, i els altres continuen treballant.

Els protocols avançats d'enrutament només es troben en màquines de gama mitjana/alta, però ara gràcies a GNU/Linux podem tenir-los amb el paquet quagga. Quagga Routing Suite és un desenvolupament Open Source derivat del projecte GNU Zebra, s'està convertint en el paquet d'enrutament preferit en les plataformes GNU/Linux.

OpenWRT

Tenim la possibilitat de posar servidors GNU/Linux en cada punt d'enrutament o també, gràcies al projecte OpenWRT wireless freedom podem posar GNU/Linux en routers de gama baixa i instal·lar-hi aplicacions d'enrutament avançat i altres utilitats.

Hi ha projectes com:

  • OpenWRT wireless freedom realment és un projecte de codi obert en el que hi ha moltes aportacions de programes i documentació. Té una bona documentació i fòrums per questions de configuració, compatibilitat, etc...
  • dd-wrt està basat en el treball del projecte Alchemy firmware de Sveasoft, que era un desenvolupament lliure. Dóna gratuïtament (demana la voluntat com un projecte de codi obert però a veure si compileu els fonts) una versió reduïda d'un altre paquet complert, que és de pagament obligatori. Té una bona documentació i fòrums per questions de configuració, compatibilitat, etc...
  • x-wrt fa un interface HTML com a complement per ajudar a la configuració de OpenWRT

Exemple avançat

Com a exemple d'enrutament avançat posem tres xarxes unides amb routers com les que hem fet abans.

-------------------                         -------------------                     -------------------
| PC 1            |                         | PC 2            |                     | Impressora 3    |
| IP dinàmica     |  --------------------   | IP estàtica     |  --------------     | IP estàtica     |
| 192.168.1.xx/24 |  |    router        |   | 192.168.2.20/24 |  |  router    |     | 192.168.3.40/24 |
-------------------  |    Ethernet      |   -------------------  | Ethernet   |     -------------------
  |                  --------------------          |             --------------              |
  |                   |              |             |                 |      |                |
  |eth         192.168.1.2/24    192.168.2.2/24    |       192.168.2.3/24  192.168.3.2/24    |
  |-------------------|              |-------------|-----------------|      |----------------|
  |                                                |                                         |
-------------------------          ----------------------                          ----------------------
| 192.168.1.1/24        |          | 192.168.2.1/24     |                          | 192.168.3.1/24     |
|                       |          |                    |                          |                    |
|     Zona 1            |          |     Zona 2         |                          |  Zona 3            |
|     Router OpenWRT    |          |     Router OpenWrt |                          |  Router OpenWrt    |
|     DHCP Server       |          |     DHCP Server    |                          |  DHCP Server       |
-------------------------          ----------------------                          ----------------------
  |                                          |                                             |
  |                                          |                                             |
------------                            ------------                                  ------------
| Modem    |                            | Modem    |                                  | Modem    |
------------                            ------------                                  ------------
  |                                           |                                            |
  |3MbDSL/ATM                                 |1MbDSL/ATM                                  |1MbDSL/ATM
------------                            ------------                                 ------------
| Internet |                            | Internet |                                 | Internet |
------------                            ------------                                 ------------

els routers Ethernet que ajunten les xarxes son els mateixos que abans Dlink DI-604  >  4-Port Broadband Router,

Degut a que aquests projectes no suporten routers que també portin mòdem ADSL/Cable, haurem de canviar cada un dels routers cap a Internet per un router i un mòdem DSL/ATM separat. El router ha de ser un dels models suportats a la llista TableOfHardware - OpenWRT. Podem escollir el que més s'adapti a les necessitats de connectivitat de la nostra configuració.

configuració de Quagga

Farem una configuració per el dimoni zebra de Quagga, editarem /etc/quagga/zebra.conf

hostname router1
! password per connectar amb Quagga Zebra telnet port 2601
password gilug
! activar-lo
enable password gilug
!
! interfases que farà servir
interface eth1
interface vlan0
interface vlan1
interface lo
!
! ruta nul·la per agrupar totes les xarxes en aquesta  192.168.1.0/24
ip route 192.168.1.0/24 Null0 255
!
line vty

La ruta nul·la fa que agrupem totes les subrutes dintre de la xarxa 192.168.1.0/24 i transmetem una única ruta en aquesta xarxa.

Farem una configuració per el dimoni bgpd de Quagga, editarem /etc/quagga/bgpd.conf

hostname router1
! password per connectar amb Quagga BGP telnet port 2605
password gilug
! activar-lo
enable password gilug
!
! AS BGP del router
router bgp 65001
! ID del router
bgp router-id 192.168.1.1
! adreces de la xarxa en que es troba aquest router
network 192.168.1.0/24
!
! router2
neighbor 192.168.2.1 remote-as 65002
neighbor 192.168.2.1 soft-reconfiguration inbound
neighbor 192.168.2.1 distribute-list gilugnet in
neighbor 192.168.2.1 distribute-list gilugnet out
! router3
neighbor 192.168.3.1 remote-as 65003
neighbor 192.168.3.1 soft-reconfiguration inbound
neighbor 192.168.3.1 distribute-list gilugnet in
neighbor 192.168.3.1 distribute-list gilugnet out
!
! ACLs per permetre comunicar rutes a altres xarxes internes
access-list gilugnet permit 192.168.0.0/16
access-list gilugnet deny any
!
line vty
exec-timeout 20160 0

Cada un dels veïns ha de tenir una configuració idèntica però simètrica,
TODO: bgp startup-debug

Conclusió

Per una xarxa d'estar per casa amb una sola zona i dues línies de connexió a Internet que estan molt aprop, podríem posar un servidor/passarel·la amb balanç de càrrega. Si les línies de connexió estan separades podríem ajuntar les dues xarxes en una sola i posar un servidor per fer la distribució de càrrega. I si volem fer un muntatge més avançat necessitarem enrutament dinàmic amb BGP o OSPF.

Referències