Směrování je způsob, jakým počítače komunikují v místní síti nebo přes internet. Aby mohly počítače komunikovat přes síť, potřebují vědět, která brána má posílat provoz. Bránou může být směrovač ve vaší síti.
Příkaz route se v Linuxu používá k zobrazení a změně směrovací tabulky IP.
V tomto tutoriálu vysvětlím, jak používat příkaz route k přidávání statických tras přes bránu k odesílání provozu.
1) Zobrazte směrovací tabulku
Před úpravou směrovací tabulky je dobré vidět výchozí tabulku s existujícími cestami ve vašem linuxovém jádře.
Použijte příkaz route s -n
možnost pro zobrazení aktuální tabulky směrování IP jádra. Tento příkaz pomáhá identifikovat lokálně připojené sítě s jejich trasou.
Následující příkaz zobrazí směrovací tabulku:
$ trasa -nKernel IP směrování tableDestination brána Genmask Vlajky metrický Ref Použití Iface0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1172 .16.20.0 0,0,0,0 255.255.255.0 U 0 0 0 0 VMNET8172.17.0.0 0,0,0,0 255.255.0.0 u 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0. 0 0.0.0.0 255.255.255.0 U 600 0 0 eno1192.168.161.0 0.0.0.0 0 0 0 0 0 0 0 0 0
Můžete také použít netstat -nr
příkaz pro tisk síťových připojení, směrovacích tabulek, statistik rozhraní, maskovaných připojení a členství v multicastu.
Zobrazte směrovací tabulku pomocí příkazu netstat:
$ netstat NR Kernel IP směrovací tabulky Cíl Brána Genmask Flags MSS Window irtt iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1 172.16.20.0 0,0,0,0 255,255,255,0 u 0 0 0 0 0 VMNET8 172.17.0.0 0,0,0,0 255.255.0.0 U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0707C8 255.255.255.0 U 0 0 0 eno1 192.168.161.0 0.0.0.0 255.255.255.0 U 1 0 0 v kódu 0 0 0
Nyní máme příkaz ip pro zobrazení tras
Ukázat trasu $ ip
2) Přidat novou trasu
Jak jsme řekli výše, k manipulaci se směrovací tabulkou používáme route add
příkaz (možnost add) pro ruční označení statické cesty, kterou budou pakety používat v síti. Používá se k přiřazení dočasné statické trasy, která se změní pouze v případě, že administrátor ručně upraví hodnoty nové trasy.
Možností použití přidání trasy je mnoho příkaz.
Měli bychom uvést cílovou síť, masku podsítě sítě a bránu, kterou chcete použít.
route add -net gw < brána> < název_rozhraní>
Případně můžete nyní použít ip route
příkaz, syntaxe je následující:
ip route add přes < brána> vývoj < název_rozhraní>
Například přidejte novou síť trasy 10.0.0.0/8 a IP adresu brány 192.168.1.1:
# route add -net 10.0.0.0/8 gw 192.168.1.1 eno1
Nyní můžeme zobrazit směrovací tabulku pomocí route -n
:
# trasa -nKernel IP směrování tableDestination brána Genmask Vlajky metrický Ref Použití Iface0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno110.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eno1169 .254.0.0 0,0,0,0 255.255.0.0 U 1000 0 0 ENO1172.16,20,0 0,0,0,0 255.255.255.0 U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0,0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0. .0,0 255.255.0.0 U 0 0 0 0 0 BR-707C8E2F7441192.168.1.0 0,0,0,0 255.255.255.0 U 600 0 0 ENO1192.168.161.0 0,0,0,0 255,255.255.0 U 0 0 0 VMNET1
Můžete přidat masku sítě
Pokud chcete přidat hodnotu masky sítě. Pokud není zadán, příkaz route automaticky najde hodnotu masky sítě.
# route add -net 192.168.1.0 maska sítě 255.255.255.0 gw 192.168.1.100 eth0Tabulka směrování IP jádra Cílová brána Genmask Flags Metric Ref Use Iface192.168.1.0 251.251.01 0,0 * 255.255.255.0 U 0 0 0 eth0169.254.0.0 * 255.255.0.0 U 0 0 0 eth010.0.0.0 192.255.255.0 U 0 0.0 192.168.1.254 192.168.1.254 0.0.0.0.0.0.0 U10.0.0 255.0.0.0 U.
Chcete-li přidat trasu ke konkrétnímu hostiteli, použijte -host
volba. Musíme pouze uvést bránu, kterou máme použít.
route add -host < hostitel_IP_adresa> gw
Například přidejte konkrétního hostitele '10.0.0.10' a poté zobrazte směrovací tabulku
<1pre># route add -host 10.0.0.10 gw 192.168.1.1 eno1# route -n Kernel IP směrovací tabulka Cílová brána Genmask Příznaky Metrické Ref Use Iface 0.0.0.0 192.0.0 192.160.0 . 0 0.0 10. .0.0 192.168.1.1 255.0.0.0 ug 0 0 0 0 0 0 0 0. U 0 0 0 0 0 0 0 0. VMNET8 172.17.0.0 0,0,0,0 255.255.0.0 U 0 0 0 0 0 0 0.18.0.0 0,0,0,0 255,255.0.0 U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Ve výše uvedených příkladech má sloupec flag různé hodnoty a to může být nesrozumitelné.
Možné příznaky a jejich definice:
U
- trasa je nahoře
H
- cílem je hostitel
G
- použít bránu
R
- obnovit cestu pro dynamické směrování
D
- dynamicky instalován démonem nebo přesměrováním
M
- upraveno ze směrovacího démona nebo přesměrování
A
- nainstalován addrconf
C
- záznam do mezipaměti
!
- odmítnout trasu
3) Odmítnout a smazat trasu
Můžeme manipulovat se směrovací tabulkou nejen za účelem přidání statických tras, ale také k odstranění nebo odmítnutí trasy, kterou vložíme dříve.
Chcete-li odstranit cílovou síť ze směrovací tabulky, použijte route del
příkaz:
route del -net gw
Chcete-li například smazat trasu do naší sítě 10.0.0.0/8:
# route del -net 10.0.0.0/8 gw 192.168.1.1 eno1
Výstup
# route -n jádra IP směrovací tabulky Cíl Brána Genmask Vlajky metrický Ref Použití iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1 10.0.0.10 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1 172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255,255. 0,0 U 0 0 0 br-707c8e2f7441 192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1 192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Chcete-li zakázat IP adresu, ale stále je ve směrovací tabulce. Všimněte si, že stále používáme parametr add option, ale na konci příkazu musíme použít reject
volba. Můžeme šetřit naši bránu nebo ne, ale nezmiňujeme výstupní rozhraní.
route přidat -host odmítnout
V následujícím příkazu odmítneme našeho hostitele '10.0.0.10':
# route add -host 10.0.0.10 odmítnutí
Zobrazit směrovací tabulku po změnách:
# trasa -n jádro IP směrovací tabulka cílová brána Genmask Flags Metric REF Použití IFACE 0.0.0.0 192.168.1.1 0,0.0,0 ug 600 0 0 ENO1 10.0.0.10 - 255.255.255.255! H 0 - 0 - 10.0 .0.10 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1 172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 0 0 0 0 0 0 0.18.0.0 0,0,0,0 255.255.0.0 U 0 0 0 0 0 0 0 0 0 0 0 0 0 07C8E2F7441 192.168.1.0 0,0,0,0 255.255.255,0 U 600 0 /code>
Trasy přidané pomocí výše uvedených příkazů nejsou po restartu trvalé, takže jsme do konfiguračního souboru přidali statické trasy, aby zůstaly trvalé.
Chcete-li přidat trvalé statické trasy pro jakoukoli distribuci Linuxu, můžete použít obecný soubor /etc/rc.local.
Pro Ubuntu a Debian použijte soubor s názvem '/etc/network/interfaces' a na RHEL/CentOS použijte '/etc/sysconfig/network-scripts/route-ethX'.
Závěr
V tomto tutoriálu jsme se naučili, jak přidat statické trasy v Linuxu pomocí příkazu route add. Musíme si uvědomit, že s touto metodou se trasa nezmění, pokud ji nezměníte. Je důležité smazat trasy, které nepotřebujeme.
Související informace:Jak trvale přidat statickou cestu v Linuxu
Příkaz mpstat pro Linux – hlásí statistiky související s procesory
Linuxový příkaz runuser – Spusťte prostředí se zadaným ID uživatele/skupiny
Linux