Wyszukiwanie w witrynie

Seria RHCE: Jak skonfigurować i przetestować routing sieci statycznej — część 1


RHCE (Certyfikowany inżynier Red Hat) to certyfikat wydany przez firmę Red Hat, która zapewnia społeczności przedsiębiorstw system operacyjny i oprogramowanie typu open source. Zapewnia także szkolenia, wsparcie i usługi doradcze dla firm.

Ten RHCE (Certyfikowany inżynier Red Hat) to egzamin oparty na wynikach (nazwa kodowa EX300), który posiada dodatkowe umiejętności, wiedzę i zdolności wymagane od starszego administratora systemu odpowiedzialnego za systemy Red Hat Enterprise Linux (RHEL).

Ważne: aby uzyskać certyfikat RHCE, wymagany jest certyfikat Red Hat Certified System Administrator (RHCSA).

Poniżej znajdują się cele egzaminu oparte na wersji egzaminu Red Hat Enterprise Linux 7, które zostaną ujęte w tej serii RHCE:

Aby wyświetlić opłaty i zarejestrować się na egzamin w swoim kraju, odwiedź stronę Certyfikacja RHCE.

W tej Części 1 serii RHCE i następnej przedstawimy podstawowe, ale typowe przypadki, w których obowiązują zasady routingu statycznego, filtrowania pakietów i translacji adresów sieciowych w grę.

Pamiętaj, że nie będziemy ich szczegółowo omawiać, ale raczej uporządkujemy tę zawartość w taki sposób, który będzie pomocny w postawieniu pierwszych kroków i budowaniu na tej podstawie.

Routing statyczny w Red Hat Enterprise Linux 7

Jednym z cudów współczesnej sieci jest ogromna dostępność urządzeń, które mogą łączyć grupy komputerów, niezależnie od tego, czy są to stosunkowo małe liczby i ograniczone do jednego pomieszczenia, czy też kilka maszyn w tym samym budynku, mieście, kraju lub na różnych kontynentach.

Jednakże, aby skutecznie osiągnąć to w każdej sytuacji, pakiety sieciowe muszą być trasowane, czyli innymi słowy, ścieżka, którą podążają od źródła do miejsca docelowego, musi być w jakiś sposób kontrolowana.

Routing statyczny to proces określania trasy dla pakietów sieciowych innych niż domyślna, która jest udostępniana przez urządzenie sieciowe zwane bramą domyślną. O ile nie określono inaczej w przypadku routingu statycznego, pakiety sieciowe są kierowane do bramy domyślnej; w przypadku routingu statycznego inne ścieżki są definiowane na podstawie wcześniej zdefiniowanych kryteriów, takich jak miejsce docelowe pakietu.

Zdefiniujmy następujący scenariusz dla tego samouczka. Mamy urządzenie Red Hat Enterprise Linux 7 podłączone do routera nr 1 [192.168.0.1], aby uzyskać dostęp do Internetu i maszyn w 192.168.0.0/24.

Drugi router (router nr 2) ma dwie karty interfejsu sieciowego: enp0s3 jest również podłączony do routera nr 1 w celu uzyskania dostępu do Internetu i komunikacji ze skrzynką RHEL 7 i innymi maszynami w tej samej sieci, natomiast druga (enp0s8) służy do udzielania dostępu do sieci 10.0.0.0/24, w której rezydują usługi wewnętrzne , taki jak serwer WWW i/lub baza danych.

Scenariusz ten ilustruje poniższy diagram:

W tym artykule skupimy się wyłącznie na ustawieniu tablicy routingu w naszym urządzeniu RHEL 7, aby mieć pewność, że będzie ono mogło uzyskać dostęp do Internetu zarówno poprzez router nr 1, jak i sieć wewnętrzną przez router nr 2.

W RHEL 7 będziesz używać polecenia ip do konfiguracji i wyświetlania urządzeń i routingu za pomocą wiersza poleceń. Zmiany te mogą zacząć obowiązywać natychmiast w działającym systemie, ale ponieważ nie są trwałe po ponownym uruchomieniu, użyjemy plików ifcfg-enp0sX i route-enp0sX w pliku /etc /sysconfig/network-scripts, aby trwale zapisać naszą konfigurację.

Na początek wydrukujmy naszą aktualną tablicę routingu:

ip route show

Z powyższych danych wyjściowych możemy zobaczyć następujące fakty:

  1. Domyślny adres IP bramy to 192.168.0.1 i można uzyskać do niego dostęp poprzez kartę sieciową enp0s3.
  2. Kiedy system się uruchomił, włączył trasę Zeroconf do 169.254.0.0/16 (na wszelki wypadek). Krótko mówiąc, jeśli urządzenie jest ustawione na uzyskiwanie adresu IP przez DHCP, ale z jakiegoś powodu tego nie robi, automatycznie zostaje mu przypisany adres w tej sieci. Konkluzja jest taka, że ta trasa umożliwi nam komunikację, także poprzez enp0s3, z innymi maszynami, którym nie udało się uzyskać adresu IP z serwera DHCP.
  3. Wreszcie, możemy komunikować się z innymi urządzeniami w sieci 192.168.0.0/24 poprzez enp0s3, którego adres IP to 192.168.0.18 >.

Są to typowe zadania, które należy wykonać w takim otoczeniu. O ile nie określono inaczej, poniższe zadania należy wykonać na routerze nr 2:

Upewnij się, że wszystkie karty sieciowe zostały poprawnie zainstalowane:

ip link show

Jeśli któryś z nich nie działa, podnieś go:

ip link set dev enp0s8 up

i przypisz mu adres IP w sieci 10.0.0.0/24:

ip addr add 10.0.0.17 dev enp0s8

Ups! Popełniliśmy błąd w adresie IP. Będziemy musieli usunąć ten, który przypisaliśmy wcześniej, a następnie dodać właściwy (10.0.0.18):

ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8

Pamiętaj, że trasę do sieci docelowej możesz dodać tylko przez bramę, która sama w sobie jest już osiągalna. Z tego powodu musimy przypisać adres IP z zakresu 192.168.0.0/24 do enp0s3, aby nasz box RHEL 7 mógł się z nim komunikować:

ip addr add 192.168.0.19 dev enp0s3

Na koniec będziemy musieli włączyć przekazywanie pakietów:

echo "1" > /proc/sys/net/ipv4/ip_forward

i zatrzymaj/wyłącz (na razie – do czasu omówienia filtrowania pakietów w następnym artykule) zaporę sieciową:

systemctl stop firewalld
systemctl disable firewalld

Wracając do naszego pola RHEL 7 (192.168.0.18), skonfigurujmy trasę od 10.0.0.0/24 do 192.168.0.19 (enp0s3 w routerze nr 2):

ip route add 10.0.0.0/24 via 192.168.0.19

Następnie tablica routingu wygląda następująco:

ip route show

Podobnie dodaj odpowiednią trasę na maszynach, do których chcesz dotrzeć w 10.0.0.0/24:

ip route add 192.168.0.0/24 via 10.0.0.18

Możesz przetestować podstawową łączność za pomocą polecenia ping:

W polu RHEL 7 uruchom

ping -c 4 10.0.0.20

gdzie 10.0.0.20 to adres IP serwera WWW w sieci 10.0.0.0/24.

Na serwerze WWW (10.0.0.20) uruchom

ping -c 192.168.0.18

gdzie 192.168.0.18 to, jak pamiętasz, adres IP naszej maszyny RHEL 7.

Alternatywnie możemy użyć tcpdump (może być konieczne zainstalowanie go z yum install tcpdump), aby sprawdzić dwukierunkową komunikację przez TCP pomiędzy naszym urządzeniem RHEL 7 a serwerem WWW pod adresem 10.0.0.20 .

W tym celu rozpocznijmy logowanie na pierwszej maszynie od:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

i z innego terminala w tym samym systemie telnet do portu 80 na serwerze internetowym (zakładając, że Apache nasłuchuje na tym porcie; w przeciwnym razie wskaż właściwy port w następującym poleceniu):

telnet 10.0.0.20 80

Dziennik tcpdump powinien wyglądać następująco:

Gdzie połączenie zostało prawidłowo zainicjowane, co możemy stwierdzić, patrząc na dwukierunkową komunikację pomiędzy naszym urządzeniem RHEL 7 (192.168.0.18) a serwerem internetowym (10.0.0.20).

Pamiętaj, że zmiany te znikną po ponownym uruchomieniu systemu. Jeśli chcesz, aby były trwałe, będziesz musiał edytować (lub utworzyć, jeśli jeszcze nie istnieją) następujące pliki w tych samych systemach, w których wykonaliśmy powyższe polecenia.

Chociaż nie jest to absolutnie konieczne w naszym przypadku testowym, powinieneś wiedzieć, że /etc/sysconfig/network zawiera parametry sieciowe ogólnosystemowe. Typowy /etc/sysconfig/network wygląda następująco:

Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX

Jeśli chodzi o ustawienie określonych zmiennych i wartości dla każdej karty sieciowej (tak jak zrobiliśmy to w przypadku routera nr 2), będziesz musiał edytować /etc/sysconfig/network-scripts/ifcfg-enp0s3 i /etc/sysconfig/network-scripts/ifcfg-enp0s8.

Śledząc naszą sprawę,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes

I

TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes

odpowiednio dla enp0s3 i enp0s8.

Jeśli chodzi o routing na naszym komputerze klienckim (192.168.0.18), będziemy musieli edytować /etc/sysconfig/network-scripts/route-enp0s3:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

Teraz uruchom ponownie system, a trasa powinna być widoczna w tabeli.

Streszczenie

W tym artykule omówiliśmy podstawy routingu statycznego w Red Hat Enterprise Linux 7. Chociaż scenariusze mogą się różnić, przedstawiony tutaj przypadek ilustruje wymagane zasady i procedury umożliwiające wykonanie tego zadania. Zanim zakończę, sugeruję zapoznanie się z rozdziałem 4 sekcji Bezpieczeństwo i optymalizacja Linuksa w witrynie projektu dokumentacji systemu Linux, aby uzyskać dalsze szczegóły na poruszane tutaj tematy.

Bezpłatny e-book na temat Bezpieczeństwo i optymalizacja systemu Linux: rozwiązanie hakerskie (v.3.0) – ten e-book ponad 800 zawiera obszerny zbiór wskazówek dotyczących bezpieczeństwa systemu Linux oraz sposobów bezpiecznego i łatwego korzystania z nich do konfigurowania aplikacji i usług opartych na systemie Linux.

Pobierz teraz

W następnym artykule omówimy filtrowanie pakietów i translację adresów sieciowych, aby podsumować podstawowe umiejętności pracy w sieci potrzebne do certyfikacji RHCE.

Jak zawsze czekamy na Twoją wiadomość, więc nie krępuj się i zostaw swoje pytania, komentarze i sugestie, korzystając z poniższego formularza.