GNU/Linux >> Znalost Linux >  >> Linux

7 příkladů příkazů Linux Route (Jak přidat trasu v Linuxu)

V 1. díle série IP Routing jsme se naučili základy Linux IP Routing.

Příkaz Route se používá k zobrazení/manipulaci směrovací tabulky IP. Primárně se používá k nastavení statických směrování ke konkrétnímu hostiteli nebo sítím prostřednictvím rozhraní.

V tomto článku uvidíme, jak manipulovat se směrovacími tabulkami v Linuxu pomocí příkazu route.

Nejprve vysvětlíme, jak se směrování provádí na několika základních příkladech příkazů route, a poté pomocí vzorové síťové architektury vysvětlíme, jak nastavit trasy ve vaší síti.

I. Jak se provádí směrování?

1. Zobrazit existující trasy

příkaz route ve výchozím nastavení zobrazí podrobnosti o položkách směrovací tabulky jádra. V tomto příkladu je ip-adresa systému, kde se provádí příkaz route, 192.168.1.157

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Výše uvedený příkaz ukazuje, že pokud je cíl v rozsahu sítě 192.168.1.0 – 192.168.1.255, pak je brána *, což je 0.0.0.0.

Když jsou pakety odesílány v tomto rozsahu IP adres, je MAC adresa cíle nalezena pomocí protokolu ARP a paket bude odeslán na MAC adresu.

Pokud nevíte, co je ARP, měli byste nejprve pochopit, jak protokol ARP funguje.

Aby bylo možné odeslat pakety na místo určení, které není v tomto rozsahu IP, budou pakety předány výchozí bráně, která rozhodne o dalším směrování pro daný paket. To uvidíme brzy.

Ve výchozím nastavení příkaz route zobrazuje název hostitele ve svém výstupu. Můžeme jej požádat o zobrazení číselné IP adresy pomocí volby -n, jak je uvedeno níže.

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.1.10    0.0.0.0         UG    0      0        0 eth0

2. Přidání výchozí brány

Můžeme určit, že pakety, které nejsou v síti, musí být předány na adresu brány.

Následující příkaz route add nastaví výchozí bránu na 192.168.1.10.

$ route add default gw 192.168.1.10

Nyní příkaz route zobrazí následující položky.

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
default         gateway.co.in   0.0.0.0         UG    0      0        0 eth0

Nyní jsme do našeho počítače právě přidali výchozí bránu. Chcete-li ověřit, zda funguje správně, odešlete paket ICMP pomocí příkazu ping na některého externího hostitele (například google.com).

$ ping www.google.com

Následuje sekvence událostí, ke kterým dojde při provedení výše uvedeného příkazu ping.

  1. Nejprve požádá server DNS, aby získal IP adresu google.com (například:74.125.236.34)
  2. Cílová adresa ( 74.125.236.34 ) není v dosahu sítě.
  3. Takže ve vrstvě 3 (záhlaví IP) bude CÍLOVÁ IP adresa nastavena na „74.125.236.34“.
  4. Ve vrstvě 2 bude CÍLOVÁ MAC adresa vyplněna jako MAC adresa výchozí brány ( MAC 192.168.1.10 ). MAC bude nalezena pomocí ARP, jak bylo popsáno dříve.
  5. Když je paket odeslán, síťový přepínač (který funguje na vrstvě 2) odešle paket na výchozí bránu, protože cílová MAC je MAC brány.
  6. Jakmile brána přijme paket na základě své směrovací tabulky, přepošle pakety dále.

Výše uvedené 2 příklady by poskytly dobrou představu o tom, jak se provádí směrování v síti. Nyní uvidíme další možnosti příkazového řádku dostupné s příkazem route.

3. Vypište informace o směrovací mezipaměti jádra

Jádro udržuje informace o směrovací mezipaměti pro rychlejší směrování paketů. Můžeme vypsat informace o směrovací mezipaměti jádra pomocí parametru -C.

$ route -Cn
Kernel IP routing cache
Source          Destination     Gateway         Flags Metric Ref    Use Iface
192.168.1.157   192.168.1.51    192.168.1.51          0      0        1 eth0
192.168.1.157   74.125.236.69   192.168.1.10          0      0        0 eth0
.
.
.

4. Odmítnout směrování na konkrétního hostitele nebo síť

Někdy můžeme chtít odmítnout směrování paketů do určitého hostitele/sítě. Chcete-li to provést, přidejte následující položku.

$ route add -host 192.168.1.51 reject

Jak vidíte níže, nemáme přístup k tomuto konkrétnímu hostiteli (tj. hostiteli .51, kterého jsme právě odmítli).

$ ping 192.168.1.51
connect: Network is unreachable

Stále však můžeme přistupovat k dalším hostitelům v síti (například hostitel .52 je stále přístupný).

$ ping 192.168.1.53
PING 192.168.1.53 (192.168.1.53) 56(84) bytes of data.
64 bytes from 192.168.1.53: icmp_seq=1 ttl=64 time=7.77 ms

Pokud chcete odmítnout celou síť ( 192.168.1.1 – 192.168.1.255 ), přidejte následující položku.

$ route add -net 192.168.1.0 netmask 255.255.255.0 reject

Nyní nemáte přístup k žádnému z hostitelů v této síti (například:.51, .52, .53 atd.)

$ ping 192.168.1.51
connect: Network is unreachable

$ ping 192.168.1.52
connect: Network is unreachable

$ ping 192.168.1.53
connect: Network is unreachable

II. Ukázková síťová architektura (pro pochopení směrování)

Pro zbytek příkladů použijme následující vzorovou síťovou architekturu.

V níže uvedeném diagramu máme 2 jednotlivé sítě (192.168.1.0 a 192.168.3.0, s maskou podsítě 255.255.255.0).

Máme také stroj „GATEWAY“ se 3 síťovými kartami. 1. karta je připojena k 192.168.1.0, 2. karta je připojena k 192.168.3.0 a 3. karta je připojena k vnějšímu světu.

5. Zpřístupnit 192.168.3.* z 192.168.1.*

Nyní musíme přidat směrovací položku tak, abychom byli schopni pingnout 192.168.3. série IP adres od 192.168.1. série. Společný bod, který máme, je stroj GATEWAY.

Takže na každý počítač v síti 192.168.1.* bude přidána výchozí brána, jak je uvedeno níže.

$ route add default gw 192.168.1.10

Nyní, když 192.168.1.1 odešle ping na 192.168.3.1, přejde do BRÁNY přes 192.168.1.10.

V bráně GATEWAY přidejte následující položku směrování.

$ route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.10

Nyní budou všechny pakety adresované do sítě 192.168.3.* předávány přes rozhraní 192.168.3.10, které pak doručuje pakety na adresovaný počítač.

6. Zpřístupnit 192.168.1.* z 192.168.3.*

Je to velmi podobné tomu, co jsme dělali dříve.

Takže na každý počítač v síti 192.168.3.* bude přidána výchozí brána, jak je uvedeno níže.

$ route add default gw 192.168.3.10

V bráně GATEWAY přidejte následující položku směrování.

$ route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.10

Nyní mohou stroje 192.168.3.* pingnout stroje 192.168.1.*.

7. Povolit přístup k internetu (Externí svět)

V předchozích dvou příkladech jsme propojili 2 různé sítě.

Nyní potřebujeme přístup k internetu z těchto 2 různých sítí. Za tímto účelem můžeme k 125.250.60.59, které je připojeno k vnějšímu světu následovně, přidat výchozí směrování (když žádné pravidlo směrování neodpovídá).

$ route add default gw 125.250.60.59

Funguje to takto:

  1. Nyní, když se pokusíte o přístup k internetu (například:ping google.com) z kteréhokoli z těchto počítačů (například z 192.168.3.2), následuje následující sekvence událostí.
  2. Vzhledem k tomu, že cíl (google.com) není v sérii 3.*, bude přesměrován na GATEWAY prostřednictvím rozhraní 3.10
  3. V GATEWAY kontroluje, zda je cíl v rozsahu 1*. V tomto příkladu tomu tak není.
  4. Potom zkontroluje, zda je cíl v rozsahu 2*. V tomto příkladu tomu tak není
  5. Nakonec používá výchozí cestu k předávání paketů (tj. pomocí rozhraní 125.250.60.59, které je propojeno s vnějším světem).

Linux
  1. Příklady příkazů rm v Linuxu

  2. Příklady příkazů ps v Linuxu

  3. w Příklady příkazů v Linuxu

  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. Jak přidat více tras v Linuxu pomocí příkladů příkazů ip

  1. sa Příklady příkazů v Linuxu

  2. Příklady příkazů ac v Linuxu

  3. Příklady příkazů df v Linuxu