Einführung | Quagga ist eine Open-Source-Routing-Software-Suite, die Linux in einen Router verwandelt, der wichtige Routing-Protokolle wie RIP, OSPF, BGP und IS-IS unterstützt. Es bietet volle Unterstützung für IPv4 und IPv6 und unterstützt Routen-/Präfixfilterung. Quagga kann ein Lebensretter sein, falls Ihr Produktionsrouter jemals ausfällt und Sie keinen Ersatz haben, sondern auf einen Ersatz warten. Bei richtiger Konfiguration kann Quagga sogar als Produktionsrouter fungieren. |
In diesem Tutorial verbinden wir zwei Zweigstellennetzwerke unter der Annahme, dass zwischen ihnen eine Standleitungsverbindung besteht (z. B. 192.168.1.0/24 und 172.17.1.0/24).
Unser CentOS befindet sich an beiden Enden dieses privaten Links. Die beiden Hostnamen sind auf „site-A-RTR“ bzw. „site-B-RTR“ eingestellt. Nachfolgend finden Sie die Details der IP-Adressen
•Site-A: 192.168.1.0/24
•Site-B: 172.16.1.0/24
•Peer-to-Peer-Netzwerk zwischen zwei Linux-Routern: 10.10.10.0/30
Quagga umfasst mehrere Daemons, die zusammenarbeiten. In diesem Tutorial konzentrieren wir uns auf die Einrichtung der folgenden Daemons.
1.Zebra: Kern-Daemon, verantwortlich für die Kernel-Schnittstelle und das statische Routing.
2.Ospfd: IPv4 OSPF-Daemon.
Wir verwenden yum, um Quagga zu installieren.
# yum install quagga
In CentOS7 verhindert SELinux standardmäßig, dass Quagga Konfigurationsdateien nach /usr/sbin/zebra schreibt. Diese SELinux-Richtlinie beeinträchtigt den Installationsprozess, den wir als Nächstes vorstellen, daher müssen wir diese Richtlinie deaktivieren. Hierzu funktioniert entweder das Ausschalten von SELinux (hier nicht empfohlen) oder das Aktivieren von „zebrawriteconfig“ wie folgt. Wenn Sie CentOS 6 verwenden, überspringen Sie bitte diesen Schritt.
# setsebool -P zebra_write_config 1
Wenn diese Änderung nicht vorgenommen wird, wird beim Versuch, die Konfiguration in der Quagga-Befehlszeile zu speichern, der folgende Fehler angezeigt.
Can't open configuration file /etc/quagga/zebra.conf.OS1Uu5.
Nach der Installation von Quagga müssen wir die erforderlichen Peer-IP-Adressen konfigurieren und die OSPF-Einstellungen aktualisieren. Quagga verfügt über eine Befehlszeile namens vtysh. Die in vtysh verwendeten Quagga-Befehle ähneln denen großer Router-Hersteller wie Cisco und Juniper.
Schritt 1: Zebra konfigurierenWir erstellen zunächst die Zebra-Konfigurationsdatei und aktivieren den Zebra-Daemon.
# cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf # service zebra start # chkconfig zebra on
Vtysh-Befehlszeile starten:
#vtysh
Zuerst konfigurieren wir die Protokolldateien für Zebra. Geben Sie den folgenden Befehl ein, um in den globalen Konfigurationsmodus von vtysh zu gelangen:
site-A-RTR# configure terminal
Geben Sie den Speicherort der Protokolldatei an und verlassen Sie dann den Modus:
site-A-RTR(config)# log file /var/log/quagga/quagga.log site-A-RTR(config)# exit
Konfiguration dauerhaft speichern:
site-A-RTR# write
Als nächstes wollen wir die verfügbaren Schnittstellen identifizieren und deren IP-Adressen nach Bedarf konfigurieren.
site-A-RTR# show interface
Interface eth0 is up, line protocol detection is disabled . . . . . Interface eth1 is up, line protocol detection is disabled . . . . .
Eth0-Parameter konfigurieren:
site-A-RTR# configure terminal site-A-RTR(config)# interface eth0 site-A-RTR(config-if)# ip address 10.10.10.1/30 site-A-RTR(config-if)# description to-site-B site-A-RTR(config-if)# no shutdown
Fahren Sie mit der Konfiguration der eth1-Parameter fort:
site-A-RTR(config)# interface eth1 site-A-RTR(config-if)# ip address 192.168.1.1/24 site-A-RTR(config-if)# description to-site-A-LAN site-A-RTR(config-if)# no shutdown
Konfiguration jetzt überprüfen:
site-A-RTR(config-if)# do show interface
Interface eth0 is up, line protocol detection is disabled . . . . . inet 10.10.10.1/30 broadcast 10.10.10.3 . . . . . Interface eth1 is up, line protocol detection is disabled . . . . . inet 192.168.1.1/24 broadcast 192.168.1.255 . . . . .
site-A-RTR(config-if)# do show interface description
Interface Status Protocol Description eth0 up unknown to-site-B eth1 up unknown to-site-A-LAN
Konfiguration dauerhaft speichern:
site-A-RTR(config-if)# do write
Wiederholen Sie die obigen Schritte, um die IP-Adresse auf Standort B zu konfigurieren.
Wenn alles gut geht, sollten Sie in der Lage sein, die Peer-IP-Adresse 10.10.10.2 auf Standort B vom Server von Standort A aus anzupingen.
Hinweis: Sobald der Zebra-Daemon gestartet ist, werden alle in der vtysh-Befehlszeile vorgenommenen Änderungen sofort wirksam. Daher ist es nicht erforderlich, den Zebra-Daemon nach einer Änderung der Konfiguration neu zu starten.
Schritt 2: OSPF konfigurierenWir erstellen zunächst die OSPF-Konfigurationsdatei und starten den OSPF-Daemon:
# cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample /etc/quagga/ospfd.conf # service ospfd start # chkconfig ospfd on
Jetzt starten Sie die vtysh-Befehlszeile, um mit der OSPF-Konfiguration fortzufahren:
# vtysh
Routing-Konfigurationsmodus aufrufen:
site-A-RTR# configure terminal site-A-RTR(config)# router ospf
Optionale Konfigurationsrouten-ID:
site-A-RTR(config-router)# router-id 10.10.10.1
Netzwerk in OSPF hinzugefügt:
site-A-RTR(config-router)# network 10.10.10.0/30 area 0 site-A-RTR(config-router)# network 192.168.1.0/24 area 0
Konfiguration dauerhaft speichern:
site-A-RTR(config-router)# do write
Wiederholen Sie die OSPF-Konfiguration ähnlich wie oben auf Site-B:
site-B-RTR(config-router)# network 10.10.10.0/30 area 0 site-B-RTR(config-router)# network 172.16.1.0/24 area 0 site-B-RTR(config-router)# do write
Der OSPF-Nachbar sollte nun gestartet sein. Solange ospfd läuft, werden alle über vtysh vorgenommenen OSPF-bezogenen Konfigurationsänderungen sofort wirksam, ohne dass ospfd neu gestartet werden muss.
Überprüfen1. Ping-Test bestehen
Zunächst sollten Sie in der Lage sein, von Standort A aus dasselbe LAN-Subnetz wie Standort B anzupingen. Stellen Sie sicher, dass Ihre Firewall den Ping-Verkehr nicht blockiert.
[root@site-A-RTR ~]# ping 172.16.1.1 -c 2
2. Überprüfen Sie die Routing-Tabelle
Notwendige Routen sollten sowohl in der Kernel- als auch in der Quagga-Begründungstabelle erscheinen.
[root@site-A-RTR ~]# ip route
10.10.10.0/30 dev eth0 proto kernel scope link src 10.10.10.1 172.16.1.0/30 via 10.10.10.2 dev eth0 proto zebra metric 20 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1
[root@site-A-RTR ~]# vtysh site-A-RTR# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B - BGP, > - selected route, * - FIB route O>* 10.10.10.0/30 [110/10] is directly connected, eth0, 00:14:29 C>* 10.10.10.0/30 is directly connected, eth0 C>* 127.0.0.0/8 is directly connected, lo O>* 172.16.1.0/30 [110/20] via 10.10.10.2, eth0, 00:14:14 C>* 192.168.1.0/24 is directly connected, eth1
3. Überprüfen Sie OSPF-Nachbarn und -Routen
In der vtysh-Kommandozeile können Sie prüfen, ob die notwendigen Nachbarn online sind und ob entsprechende Routen gelernt wurden.
[root@site-A-RTR ~]# vtysh site-A-RTR# show ip ospf neighbor
In diesem Tutorial konzentrieren wir uns auf die Konfiguration des grundlegenden OSPF mit Quagga. Im Allgemeinen ermöglicht uns Quagga die einfache Konfiguration dynamischer Routing-Protokolle wie OSPF, RIP oder BGP auf einem gewöhnlichen Linux-Rechner. Quagga-fähige Maschinen können mit anderen Routern in Ihrem Netzwerk kommunizieren und Routing-Informationen austauschen. Da es die wichtigsten offenen Standard-Routing-Protokolle unterstützt, kann es in vielen Situationen die erste Wahl sein. Darüber hinaus ist die Befehlszeilenschnittstelle von Quagga nahezu identisch mit der der großen Router-Anbieter wie Cisco und Juniper, was die Bereitstellung und Wartung von Quagga-Maschinen sehr einfach macht.
Das obige ist der detaillierte Inhalt vonVerwandeln Sie Ihr CentOS in einen OSPF-Router. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!