View previous topic :: View next topic |
Author |
Message |
abaddon83 Guru
Joined: 17 Jan 2004 Posts: 494
|
Posted: Thu May 19, 2005 9:44 pm Post subject: [HOW-TO] rendere la propria macchina un router IGP RIP |
|
|
Ciao a tutti, questo è un piccolo how to su come impostare un proprio router linux in modo che gestisca la tabella di routing automaticamente, guardando la guida del programma che useremo l'argomento è vasto e complicato, questo how-to tratta le cose basilari, se vorrete poi migliorarlo ed ampliarlo tanto meglio
-SCOPO E CENNI TEORICI
Implementare l'algoritmo di routing RIP su una macchina linux. Il Rip è un protocollo Distance Vector, ovvero costituisce l'informazione sulla raggiungibilità di un certo nodo basandosi sulla sua distanza. A distanza infinita il nodo è iraggiungibile e si cerca sempre di usare il next hop che utilizza una distanza minore scambiandosi tra i vari nodi i propri DV scartando quelli piu' dispendiosi e aggiornando quelli piu' convenienti (qua i puristi mi castrano per questa definizione di rip e distance vector... portate pazienza dai )
COSA CI SERVE
Dunque per implementare il rip occorre il seguente pacchetto con le sue relative dipendenze:
-quagga
SCHEMA RETE DEL HOWTO
lan1-|
lan2-|-----router/firewall_(router1)----VPN----router/server_casalingo_(router2)-----MIO_PC_(PC)---<internet>
lan3-|
lan4-|
router1: (ip/netmask)
-eth0 192.168.2.253/24
-eth1 192.168.1.253/24
-eth2 192.168.3.253/24
-eth4 192.168.4.253/24
-tap0 10.3.0.1/24
router2:
-eth0 192.168.0.60/24
-tap0 10.3.0.5/24
PC:
-eth0 192.168.0.33/24
-tap0 10.3.0.5/24
ho dovuto mettere il RIP pure sul mio pc perchè come default gw ho il router di casa, mentre per accedere alla rete dove lavoricchio ho dovuto alzare una VPN per scavalcare il router telecom blindato... (W telecom che m'ha fatto imparare a fare una VPN.... -_-') se invece voi siete piu' fortunati non occorre il RIP sul PC perchè tanto se il pc non trova le route giuste manda tutto al default GW che nel vostro caso sarà la macchina che vi fa accedere ad internet e nello stesso tempo vi aggancia alle altre vostre lan.
INSTALLAZIONE/CONFIGURAZIONE
Ora che abbiamo definito tutto quello che ci serviva possiamo iniziare l'installazione:
1)emergiamo il nostro bel programmino su tutte le nostre macchine
Code: |
#emerge -pv quagga
(Se tutto ok)
#emerge quagga |
il porgramma gestisce oltre al rip anche molti altri protocolli di routing, io pero' mi son fermato al RIP
2)configurazione demone su Router1:
Code: |
#nano /etc/quagga/zebra.conf
(in nano /etc/quagga/sample/zebra.conf.sample c'è il file d'esempio)
|
e sistemiamo il file in questo modo:
Code: | ! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname router1
password router1
enable password zebra
!
! Interface's description.
!
!interface lo
! description test of desc.
!
interface eth0
ip address 192.168.2.253/24
description interfaccia eth0
link-detect
multicast
!
interface eth1
ip address 192.168.1.253/24
description interfaccia eth1
link-detect
multicast
!
interface eth2
ip address 192.168.3.253/24
description interfaccia eth2
link-detect
multicast
!
interface eth3
ip address 192.168.4.253/24
description interfaccia eth3
link-detect
multicast
interface tap0
ip address 10.3.0.1/24
description interfaccia VPN
link-detect
multicast
!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!
log file /var/log/zebra.log
|
a sto punto salviamo e creiamo il file di log
Code: | #touch /var/log/zebra.log |
ora ci manca da sistemare il file di conf del demone del Rip quindi:
Code: |
#nano /etc/quagga/ripd.conf
(in nano /etc/quagga/sample/ripd.conf.sample c'è il file d'esempio)
|
e lo sistemiamo come segue:
Code: |
! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname router1
password router1
!
! debug rip events
! debug rip packet
!
router rip
network 192.168.1.0/24
network eth1
router rip
network 192.168.2.0/24
network eth0
router rip
network 192.168.3.0/24
network eth2
router rip
network 192.168.4.0/24
network eth3
router rip
network 10.3.0.0/24
network tap0
! route 10.0.0.0/8
! distribute-list private-only in eth0
!
redistribute kernel
access-list private permit any
!access-list private-only permit 10.0.0.0/8
!access-list private-only deny any
!
log file /var/log/ripd.log
!
!log stdout
|
usciamo salvando e creiamo il file di log:
Code: | #touch /var/log/ripd.log |
La prima macchina è sistemata
ATTENZIONE!!!
il ripd utilizza la porta 520 udp per mandare e ricevere i DV, quindi se avete un firewall dovere aprirla su tutte le macchine!!
3)Configurazione Router2
essendo la stessa identica cosa fatta per l'uni riporto solo i file di configurazione:
zebra.conf:
Code: |
! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname router2
password router2
enable password zebra
!
! Interface's description.
!
!interface lo
! description test of desc.
!
interface eth0
ip address 192.168.0.60/24
description interfaccia eth0
link-detect
multicast
interface tap0
ip address 10.3.0.5/24
description interfaccia vpn
link-detect
multicast
!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!
log file /var/log/zebra.log
|
ripd.conf
Code: |
! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname router2
password router2
!
! debug rip events
! debug rip packet
!
router rip
network 192.168.0.0/24
network eth0
router rip
network 10.3.0.0/24
network tap0
! route 10.0.0.0/8
! distribute-list private-only in eth0
!
redistribute kernel
access-list private permit any
!access-list private-only permit 10.0.0.0/8
!access-list private-only deny any
!
log file /var/log/ripd.log
!
!log stdout
|
4) e ora è il turno del PC, stessa cosa di prima, riporto solo i file di configurazione:
zebra.conf
Code: | ! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname PC
password PC
enable password zebra
!
! Interface's description.
!
!interface lo
! description test of desc.
!
interface eth0
ip address 192.168.0.33/24
description intefaccia baloo
link-detect
multicast
!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!
log file /var/log/zebra.log
|
ripd.conf
Code: | ! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname PC
password PC
!
! debug rip events
! debug rip packet
!
router rip
network 192.168.0.0/24
network eth0
!distribute-list in eth0
!
redistribute kernel
access-list private permit any
!access-list private-only permit 10.0.0.0/8
!access-list allow any
!
log file /var/log/ripd.log
!
!log stdout
|
5)Perfetto ora le macchine sono tutte belle configurate, controllate per bene d'avere aperto la porta udp 520 e se tutto va bene lanciando su tutte le macchine il comando:
Code: | #/etc/init.d/ripd start |
le tabelle di routing dovrebbero generarsi sotto i vostri occhi, la rete in esame è semplice ma soprattutto ad albero, ovvero è già un cammino minimo, se pero' voi avete la fortuna d'avere reti più evolute dovreste vedere gli hop cambiare man mano che passa il tempo fino a stabilizzarsi una volta trovati i cammini minimi
LINK PER APPROFONDIMENTI
Sito del software: http://quagga.net/
Spero possa essere utile
Ciao _________________ Abaddon's House
Jabber account: abaddon@jabber.linux.it |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31268 Location: here
|
Posted: Thu May 19, 2005 11:15 pm Post subject: |
|
|
Aggiunto ai post utilissimi sezione howto _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
abaddon83 Guru
Joined: 17 Jan 2004 Posts: 494
|
Posted: Fri May 20, 2005 6:34 am Post subject: |
|
|
thx _________________ Abaddon's House
Jabber account: abaddon@jabber.linux.it |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|