Síťová rozhraní jsou dnes naprosto zásadní součástí každého podnikání. Od obchodů typu mom-and-pop až po společnosti Fortune 100, každý využívá síť pro logistiku a komunikaci. Většina, ne-li všechny, z těchto podniků může nějakým způsobem přímo spojit svůj zisk se svou sítí – pokud síť selže nebo někdo omylem zacyklí špatné rozhraní, peníze jsou na stole. Z tohoto důvodu musí správce systému/sítě věnovat pečlivou pozornost, kdykoli pracuje na síťových rozhraních nebo kolem nich.
Jedním z nejzákladnějších a někdy přehlížených úkolů může být konvence pojmenování různých rozhraní, na kterých jste každý den závislí. Pracoval jsem s malými společnostmi, které měly pouze jedno nebo dvě rozhraní pro celé své prostředí. V tomto případě je konvence pojmenování menší problém. Pro větší podniková prostředí je však pojmenování síťových rozhraní zásadní pro dlouhodobý úspěch. Představte si, jak snadné by bylo udělat chybu, protože všechna vaše rozhraní jsou pojmenována podobně.
Není však třeba panikařit! Skvělá komunita Linux/Unix viděla tento problém a vyvinula několik způsobů, jak se mu vyhnout. Chci se podívat na tři různé příkazy:nameif
, ip link
a ifrename
. Každý z těchto nástrojů můžete použít k pojmenování a interakci s vašimi rozhraními různými způsoby.
nameif
nameif
command je starší příkaz, který je oficiálně zastaralý. Stále však existují lidé, kteří jej používají pro konkrétní úkoly. Jediným cílem tohoto příkazu je pojmenovat rozhraní podle MAC adresy zařízení (zařízení). Například:
[root@rhel ~]# nameif -c /etc/mactab -s 08:00:27:30:52:a7
-c
umožňuje určit, ze kterého konfiguračního souboru chcete číst. Ve výchozím nastavení používá /etc/mactab
. -s
flag jednoduše dává systému vědět, že má odeslat jakékoli chybové zprávy do syslogu. Poté mu dáte MAC adresu rozhraní, které přejmenováváte. Klidný den.
Pamatujte, že musíte spustit nameif
před spuštěním rozhraní, jinak selže.
ifrename
Názvy síťových rozhraní jsou ve výchozím nastavení dynamické a přiřazují se podle pořadí čísel: eth0
, eth1
, eth2
, a tak dále. ifrename
vám umožňuje přiřadit jednotný název vašim rozhraním. Můžete to nastavit několika způsoby. Nejběžnějším způsobem použití je však nastavení názvu na základě – uhodli jste – MAC adresy. Má smysl to udělat tímto způsobem, protože MAC adresy jsou pro zařízení jedinečné. Podobně jako nameif
, musíte spustit ifrename
předtím, než jsou rozhraní aktivována, aby se předešlo selhání. Tento nástroj také stahuje data z konfiguračních souborů; tentokrát však používáme /etc/iftab
(Pokud není uvedeno jinak). Podívejme se, jak jej používat.
Syntaxe:[root@rhel ~]# ifrename [-c konfigurační soubor] [-i rozhraní] [-n nové jméno]
-c
- umožňuje zadat jiný konfigurační soubor než /etc/iftab
-i
- umožňuje přejmenovat pouze určité rozhraní, nikoli všechna systémová rozhraní
-n
- umožňuje zadat nový název rozhraní (použijte s -i
)
-D
- umožňuje uživateli vstoupit do režimu "suchého chodu". Zde ifrename
nezmění název rozhraní. Vytiskne pouze nový název a návrat. Je to skvělý způsob, jak se ujistit, že máte příkaz správný, než jej spustíte doopravdy.
-V
- poskytuje podrobný výstup s dalšími informacemi používanými pro ladění problémů.
ip odkaz
ip
command je švýcarský armádní nůž síťových příkazů Linuxu. Díváme se konkrétně na ip link
, příkaz používaný k pojmenování a úpravě síťových rozhraní.
Chcete-li zobrazit všechna rozhraní, použijte následující:
[tcarrigan@rhel ~]$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:30:52:a7 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:b7:7b:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:b7:7b:c7 brd ff:ff:ff:ff:ff:ff
Všimněte si, že s tímto příkazem nejsou uvedeny žádné informace o IP adrese. Musíte použít ip addr
příkaz k uspokojení této potřeby. Pro konkrétní informace o rozhraní použijte následující:
[tcarrigan@rhel ~]$ ip link show dev enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:30:52:a7 brd ff:ff:ff:ff:ff:ff
Ke změně názvu rozhraní používáme následující:
[tcarrigan@rhel ~]$ ip link set eth0 name eth123
Všimněte si, že musíte deaktivovat rozhraní, změnit název a poté jej znovu aktivovat, aby se změny projevily. Musíte také upravit /etc/sysconfig/network-scripts/ifcfg_old_device_name
na název nového zařízení v názvu i obsahu souboru.
Zabalit
Měl jsem nadřízeného, který říkal:"Existuje více než jeden způsob, jak stáhnout kočku." I když existují rafinovanější způsoby, jak to říci, jde o to, že vždy existuje alternativní způsob, jak dokončit úkol. To je prokázáno téměř u každé operace, kterou musí administrátor provést. Dokonce i něco tak jednoduchého, jako je pojmenování rozhraní, nabízí správci možnosti, které může učinit. jaké jsou vaše myšlenky? Pokud by vám byla předložena situace, který z těchto příkazů byste použili k dokončení úlohy?
[ Chcete pro svou síť více? Stáhněte si zdarma e-knihu o automatizaci sítě s Ansible. ]