Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.05.2020

Cloud Native Universe

Jako patron medialny zapraszamy programistów wdrażających lub integrujących się z dowolną...
26.03.2020

Koniec certyfikatów...

MCSA, MCSD i MCSA
26.03.2020

Odświeżony OS

FortiOS 6.4
26.03.2020

Bezpieczeństwo w chmurze

Cisco SecureX
26.03.2020

Modernizacja IT

Nowości w VMware Tanzu
26.03.2020

Krytyczne zagrożenie dla...

Nowa groźna podatność
26.03.2020

Laptopy dla wymagających

Nowe ThinkPady T, X i L
26.03.2020

Serwerowe ARM-y

Ampere Altra
26.03.2020

Energooszczędny monitor

Philips 243B1

Linux – obsługa sieci

Data publikacji: 30-10-2017 Autor: Grzegorz Kuczyński
SCHEMAT 1. ARCHITEKTURA...

Kontynuujemy nasz cykl artykułów dotyczących obsługi sieci w systemie Linux. Po switchingu i tunelach tym razem skupimy się na routingu dynamicznym oraz funkcjach Quality of Service (QoS) oferowanych przez te systemy.

Linux to system, który doskonale sprawdza się jako router zarówno dla sieci LAN, jak i WAN. W poprzednich artykułach z cyklu omówiono już, jak za pomocą komend ip route konfigurować statyczny routing. Tym razem zajmiemy się rou­tingiem dynamicznym, co będzie wymagało zupełnie innego podejścia. Jądro systemu zajmuje się routingiem, ale na bardzo podstawowym poziomie, a konfigurowanie routingu statycznego za pomocą narzędzi z pakietu iproute2 to w rzeczywistości dodawanie wpisów do jądra – bo tylko tak podstawowe operacje jak dodawanie i usuwanie wpisów do tablicy routingu oferuje samo jądro. Z kolei protokoły routingu dynamicznego takie jak RIP czy OSPF wymagają implementacji dodatkowej logiki. Nie została ona wdrożona jako część jądra, lecz jako oddzielne oprogramowanie pod postacią systemowego demona. Ponadto, jak to w ekosystemie GNU/Linux bywa, jest więcej niż jedna implementacja protokołów routingu.

> PROJEKT QUAGGA

Najbardziej znanym wdrożeniem dynamicznych protokołów rou­tingu w systemie Linux jest Quagga. Projekt ten składa się z wielu oddzielnych demonów, z których każdy odpowiada za obsługę konkretnego protokołu. Quagga jest następcą projektu Zebra, który najpierw został porzucony, a następnie był rozwijany jako komercyjny projekt pod inną nazwą. Jednak nazwa pierwotnego projektu przetrwała do dziś w nowym projekcie. Quagga udostępnia własny interfejs dla pozostałych demonów, za pośrednictwem którego wprowadzają one zmiany w tabeli routingu w jądrze systemu. Interfejs ten jest głównym demonem i nazywa się zebra.


Quagga oferuje wsparcie dla takich protokołów jak RIP, OSPF, BGP, IS-IS oraz PIM. Ponadto projekt ten dostępny jest również na inne systemy UNIX-owe. W większości dystrybucji Quagga instalowana jest poprzez instalację paczki o tej samej nazwie.

# apt install quagga

Po instalacji żaden demon nie jest uruchomiony, aby to zmienić, należy wyedytować poniższy plik:

# cat /etc/quagga/daemons
...
zebra=no
bgpd=no
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
babeld=no

Załóżmy, że chcemy uruchomić protokół routingu RIP, w takim wypadku zmieniamy poniższe wpisy w pliku /etc/quagga/daemons:

zebra=yes
ripd=yes

Następnie musimy stworzyć pliki konfiguracyjne dla demonów. Każdy demon uruchomiony w Quagga nasłuchuje lokalnie na własnym porcie, a po jego uruchomieniu możemy do każdego z nich się zalogować za pomocą połączenia telnet. Quagga oferuje też bardziej praktyczne rozwiązanie zwane vtysh – ujednoliconą konsolę dla wszystkich demonów. Dzięki temu po jednokrotnym logowaniu możemy konfigurować ustawienia wszystkich demonów. Co ciekawe, konfiguracja demonów używa składni zbliżonej do tej używanej w Cisco IOS (Internetwork Operating System). Zanim jednak przystąpimy do konfiguracji, należy stworzyć plik konfiguracyjny dla vtysh, jeżeli zamierzamy go używać:

# cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf
# chown quagga:quaggavty /etc/quagga/vtysh.conf
# cat /etc/quagga/vtysh.conf
! Sample configuration file for vtysh.
! service integrated-vtysh-config
hostname quagga-router
username root nopassword

Wykrzyknikami oznaczono komentarze. Opcję service integrated-vtysh-config wyłączono celowo, ponieważ dzięki temu każdy demon będzie zapisywał swoją konfigurację w oddzielnym pliku. Ostatecznie trzeba jeszcze skopiować pliki konfiguracyjne dla demonów zebra i rpid w analogiczny sposób jak powyżej. Aby sprawdzić, czy wszystko działa jak należy, uruchamiamy quagga i sprawdzamy, czy demony nasłuchują:

# netstat -ntlp|grep -E "(zebra|ripd)"
tcp 0 0 127.0.0.1:2601 0.0.0.0:* LISTEN 13795/zebra
tcp 0 0 127.0.0.1:2602 0.0.0.0:* LISTEN 13799/ripd

[...]

Autor zawodowo zajmuje się informatyką. Jest członkiem społeczności open source, prowadzi blog nt. systemu GNU/Linux.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"