GNU/Linux >> Znalost Linux >  >> Linux

Vytvořte SDN na Linuxu s otevřeným zdrojovým kódem

Protokoly síťového směrování spadají do dvou hlavních kategorií:protokoly vnitřní brány a protokoly vnější brány. Protokoly vnitřní brány používají směrovače ke sdílení informací v rámci jednoho autonomního systému. Pokud používáte Linux, můžete nastavit, aby se váš systém choval jako router prostřednictvím open source (GPLv2) směrovacího zásobníku Quagga.

Co je to quagga?

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Quagga je sada směrovacího softwaru a větev GNU Zebra. Poskytuje implementace všech hlavních směrovacích protokolů, jako je Open Shortest Path First (OSPF), Routing Information Protocol (RIP), Border Gateway Protocol (BGP) a Intermediate System to Intermediate System (IS-IS) pro platformy podobné Unixu.

Přestože Quagga implementuje směrovací protokoly pro IPv4 i IPv6, nechová se jako úplný směrovač. Skutečný router nejen implementuje všechny směrovací protokoly, ale má také schopnost přesměrovat síťový provoz. Quagga pouze implementuje směrovací zásobník a o předávání síťového provozu se stará linuxové jádro.

Architektura

Quagga implementuje různé směrovací protokoly prostřednictvím démonů specifických pro daný protokol. Název démona je stejný jako směrovací protokol následovaný písmenem "d." Zebra je jádro a na protokolu nezávislý démon, který poskytuje abstrakční vrstvu jádru a představuje Zserv API přes TCP sokety klientům Quagga. Každý démon specifický pro protokol je zodpovědný za spuštění příslušného protokolu a vytvoření směrovací tabulky na základě vyměněných informací.

Nastavení

Tento tutoriál implementuje protokol OSPF pro konfiguraci dynamického směrování pomocí Quagga. Nastavení obsahuje dva hostitele CentOS 7.7, pojmenované Alpha a Beta. Oba hostitelé sdílejí přístup k 192.168.122.0/24 síť.

Alfa hostitele:

IP:192.168.122.100/24

Brána:192.168.122.1

Beta hostitele:

IP:192.168.122.50/24

Brána:192.168.122.1

Nainstalujte balíček

Nejprve nainstalujte balíček Quagga na oba hostitele. Je k dispozici v základním úložišti CentOS:

yum install quagga -y 

Povolit přesměrování IP

Dále povolte předávání IP na obou hostitelích, protože to bude provádět linuxové jádro:

sysctl -w net.ipv4.ip_forward =1
sysctl -p

Konfigurace

Nyní přejděte do /etc/quagga a vytvořte konfigurační soubory pro vaše nastavení. Potřebujete tři soubory:

  • zebra.conf :Konfigurační soubor démona Quagga, ve kterém definujete rozhraní a jejich IP adresy a předávání IP
  • ospfd.conf :Konfigurační soubor protokolu, ve kterém definujete sítě, které budou nabízeny prostřednictvím protokolu OSPF
  • démonů :Kde zadáte příslušné démony protokolu, které jsou nutné ke spuštění

Na hostiteli Alpha,

 [root@alpha]# cat /etc/quagga/zebra.conf
rozhraní eth0
 ip adresa 192.168.122.100/24
 ipv6 a potlačení-ra
rozhraní eth1
 ip adresa 10.12.13.1/24
 ipv6 a potlačení-ra
rozhraní lo
přesměrování IP
linka vty


[root@alpha]# cat /etc/quagga/ospfd.conf
rozhraní eth0
rozhraní eth1
rozhraní lo
směrovač ospf
 síť 192.168.122.0/24 oblast 0.0.0.0
 síť 10.12.13.0/24 oblast 0.0.0.0
řádek vty

[root@alphaa ~]# kočka /etc/quagga/daemons
zebra =yes
ospfd=ano

Na hostiteli Beta,

[root@beta quagga]# cat zebra.conf
rozhraní eth0
 ip adresa 192.168.122.50/24
 ipv6 a potlačení-ra
rozhraní eth1
IP adresa 10.10.10.1/24
 ipv6 nd potlačit-ra
rozhraní lo
přesměrování IP
linka vty

[root@beta quagga]# kočka ospfd.conf
rozhraní eth0
rozhraní eth1
rozhraní lo
router ospf
 síť 192.168.122.0/24 oblast 0.0.0.0
 síť 10.10.10.0/ 24 oblast 0.0.0.0
řádek vty

[root@beta ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

Nakonfigurujte bránu firewall

Chcete-li používat protokol OSPF, musíte jej povolit ve firewallu:

firewall-cmd --add-protocol=ospf –permanent

firewall-cmd –reload

Nyní spusťte démony zebra a ospfd.

# systemctl start zebra
# systemctl start ospfd

Podívejte se na směrovací tabulku na obou hostitelích pomocí:

[root@alpha ~]# zobrazení trasy IP   
výchozí přes 192.168.122.1 dev eth0 proto statická metrika 100
10.10.10.0/24 přes 192.168.122.50 dev eth0 2 proto zebra10.12.13.0/24 dev eth1 proto kernel scope link src 10.12.13.1
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100

Můžete vidět, že směrovací tabulka na Alfě obsahuje záznam 10.10.10.0/24 prostřednictvím 192.168.122.50 nabízené prostřednictvím protokolu zebra . Podobně na hostiteli Beta tabulka obsahuje položku network 10.12.13.0/24 prostřednictvím 192.168.122.100 .

[root@beta ~]# ip route show 
výchozí přes 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.1
10.12.13.0/24 přes 192.168.122.100 dev eth0 proto zebra metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50

Závěr

Jak vidíte, nastavení a konfigurace jsou poměrně jednoduché. Chcete-li zvýšit složitost, můžete ke směrovači přidat další síťová rozhraní, aby bylo zajištěno směrování pro více sítí. Stejnou metodou můžete také implementovat protokoly BGP a RIP.


Linux
  1. Sdílení souborů s otevřeným zdrojovým kódem s tímto nástrojem Linux

  2. Provádějte forenzní analýzu paměti Linuxu pomocí tohoto nástroje s otevřeným zdrojovým kódem

  3. Můj příběh o Linuxu:překonání jazykových bariér pomocí open source

  1. Open source 3D pixel art s Goxelem

  2. Open source myšlenkové mapování s Draw.io

  3. Zaměstnavatelé zvýšit nábor IT profesionálů s open source dovednostmi

  1. Získejte přístup ke svému iPhone v systému Linux pomocí tohoto nástroje s otevřeným zdrojovým kódem

  2. Udržujte více linuxových distribucí na USB pomocí tohoto open source nástroje

  3. Spravujte svůj rozpočet na Linuxu pomocí tohoto open source finančního nástroje