Różnice między wybraną wersją a wersją aktualną.
| Nowa wersja | Poprzednia wersja | ||
|
bio-sk:sieci_routing [2024/10/24 11:02] jkonczak utworzono |
bio-sk:sieci_routing [2024/10/24 17:30] (aktualna) jkonczak [Wstęp] |
||
|---|---|---|---|
| Linia 105: | Linia 105: | ||
| === IGMP === | === IGMP === | ||
| - | Do zarządzanie przynależnością do grup multicastowych w IPv4 służy protokół | + | Do zarządzania przynależnością do grup multicastowych w IPv4 służy protokół |
| [[https://en.wikipedia.org/wiki/Internet_Group_Management_Protocol|IGMP]]. | [[https://en.wikipedia.org/wiki/Internet_Group_Management_Protocol|IGMP]]. | ||
| \\ | \\ | ||
| - | W IPv6 tą samą rolę (nazwaną tam [[https://en.wikipedia.org/wiki/Multicast_Listener_Discovery|MLD]]) | + | W IPv6 to samo zadanie włączono w protokół ICMPv6 (pod nazwą [[https://en.wikipedia.org/wiki/Multicast_Listener_Discovery|MLD]]). |
| - | włączono w protokół ICMPv6. | + | |
| <small> | <small> | ||
| Linia 167: | Linia 166: | ||
| zostanie wysłany pakiet. | zostanie wysłany pakiet. | ||
| \\ | \\ | ||
| - | Na każdym urządzeniu wyznaczany jest **adres IP następnego skoku** i interface | + | Na każdym urządzeniu wyznaczany jest **adres IP następnego skoku** i interfejs |
| którym pakiet zostanie wysłany (nigdy cała trasa). | którym pakiet zostanie wysłany (nigdy cała trasa). | ||
| + | |||
| + | {{bio-sk:trasy.png}} | ||
| === Tablica tras === | === Tablica tras === | ||
| Linia 180: | Linia 181: | ||
| Tablica tras to lista wpisów na które składają się przynajmniej: | Tablica tras to lista wpisów na które składają się przynajmniej: | ||
| * cel – sieć docelową (np. 1.2.0.0/16, 192.168.2.0/24) | * cel – sieć docelową (np. 1.2.0.0/16, 192.168.2.0/24) | ||
| - | * trasę – adres następnego skoku (np. 3.4.5.6, 192.168.1.1) lub/i port wyjściowy (slo1, tun2) | + | * trasa – adres następnego skoku (np. 3.4.5.6, 192.168.1.1) lub/i port wyjściowy (slo1, tun2) |
| * typowo podaje się tylko adres następnego skoku (czyli adres z bezpośrednio połączonej sieci) | * typowo podaje się tylko adres następnego skoku (czyli adres z bezpośrednio połączonej sieci) | ||
| * dla sieci bezpośrednio podłączonych podaje się tylko urządzenie | * dla sieci bezpośrednio podłączonych podaje się tylko urządzenie | ||
| - | * metrykę – koszt wysłania daną trasą pakietu, używany do porównywania tras, (np. 0, 1, 10, 679842) | + | * metryka – koszt wysłania daną trasą pakietu, używany do porównywania tras, (np. 0, 1, 10, 679842) |
| * <html><small></html> w routerach CISCO (na których będą kolejne zajęcia) dodatkowo parametr //administrative distance// (AD), który jest używany do rozstrzygania wyboru trasy jeśli więcej protokołów routingu poda trasę do tej samej sieci<html></small></html> | * <html><small></html> w routerach CISCO (na których będą kolejne zajęcia) dodatkowo parametr //administrative distance// (AD), który jest używany do rozstrzygania wyboru trasy jeśli więcej protokołów routingu poda trasę do tej samej sieci<html></small></html> | ||
| Linia 220: | Linia 221: | ||
| Wypisanie trasy (uwaga, komendy wypisują zwykle osobno trasy do IPv4 i IPv6): | Wypisanie trasy (uwaga, komendy wypisują zwykle osobno trasy do IPv4 i IPv6): | ||
| - | * ''route [-6]'' | ||
| * ''ip [-6] route [list|show]'' | * ''ip [-6] route [list|show]'' | ||
| + | * ''route [-6]'' | ||
| * <small>''ip route show table all'' pokaże wszystkie trasy naraz</small> | * <small>''ip route show table all'' pokaże wszystkie trasy naraz</small> | ||
| <html><div style="margin-top:-1.2em"></div></html> | <html><div style="margin-top:-1.2em"></div></html> | ||
| Linia 267: | Linia 268: | ||
| ==== Polityka systemu względem ruchu przechodzącego ==== | ==== Polityka systemu względem ruchu przechodzącego ==== | ||
| Domyślnie Linux **nie** pozwala na przekazywanie pakietów (packet forwarding). \\ | Domyślnie Linux **nie** pozwala na przekazywanie pakietów (packet forwarding). \\ | ||
| - | Aby zmienić to zachowanie, należy zmienić parametry jądra wykonując jedno z: | + | Aby zmienić to zachowanie, należy zmienić parametry jądra wykonując: |
| - | * ''sysctl net.ipv4.conf.all.forwarding=1'' \\ <html><small></html>lista dostępnych zmiennych: ''sysctl -a -r 'ip.*\.forwarding' '' \\ więcej informacji: ''man 8 sysctl'' oraz ''man 7 ip''<html></small></html> | + | \\ |
| - | * <small>''sysctl net.ipv4.ip_forward=1''</small> | + | ''sysctl net.ipv4.conf.all.forwarding=1'' |
| + | \\ | ||
| + | ''sysctl net.ipv6.conf.all.forwarding=1'' | ||
| + | \\ | ||
| + | <small> | ||
| + | lista dostępnych zmiennych: ''sysctl -a -r 'ip.*\.forwarding' '' | ||
| + | (więcej informacji: ''man 8 sysctl'' oraz ''man 7 ip'') | ||
| + | \\ | ||
| + | dla IPv4 będzie też działać starszy parametr: ''sysctl net.ipv4.ip_forward=1'' | ||
| + | </small> | ||
| <small> | <small> | ||
| - | Można też skorzystać z katalogu /proc: | + | Alternatywnie można też skorzystać z katalogu /proc: |
| - | * ''echo 1 > /proc/sys/net/ipv4/conf/all/forwarding'' | + | \\ |
| - | * ''echo 1 > /proc/sys/net/ipv4/ip_forward'' | + | ''echo 1 > /proc/sys/net/ipv4/conf/all/forwarding'' |
| + | \\ | ||
| + | ''echo 1 > /proc/sys/net/ipv6/conf/all/forwarding'' | ||
| + | \\ | ||
| + | dla IPv4 będzie też działać starszy plik: ''echo 1 > /proc/sys/net/ipv4/ip_forward'' | ||
| Ponadto na większości produkcyjnych systemów firewall domyślnie zabrania na | Ponadto na większości produkcyjnych systemów firewall domyślnie zabrania na | ||