Po prostudování většiny tematických příspěvků na Habrého mě nesmírně překvapilo, že téma používání operačního systému Unix / Linux u poskytovatele internetových služeb je extrémně špatně pokryto. Tento článek se pokusí tuto mezeru částečně zaplnit.

Proč je na internetu naprostá absence takových článků, není těžké uhodnout – každý, kdo používá Linux / FreeBSD u poskytovatele internetových služeb, je okamžitě obviněn z chudoby a je mu doporučeno, aby si koupil Cisco nebo ve velmi extrémním případě Juniper. Proto je druhým cílem tohoto článku ukázat čtenáři, že některá technická řešení založená na OS Linux v mnoha ohledech řádově předčí značková řešení od nejznámějších prodejců.

Tvarování
Naše první zkušenost s „nestandardním“ používáním Linuxu se objevila hned po zahájení poskytování služeb širokopásmového přístupu pro jednotlivce. Externí kanál každého z našich uživatelů bylo potřeba něčím „přeříznout“. Zde, kvůli nedostatku vlastního vývoje na toto téma, jsem si musel vymyslet vlastní kolo pomocí cbq a vlastní páskování na něj. Toto schéma fungovalo několik měsíců, dokud jsme si neuvědomili všechny jeho nevýhody a nenarazili na výkon stroje.

Jde o to, že systém začal „požírat“ příliš mnoho měkkých přerušení i při malém provozu, například s tranzitním provozem 300 megabitů a 30 kpps s lineárními pravidly 1000 cbq (2 pravidla vstupu / výstupu na uživatele) na každém rozhraní v top si dosáhlo 100 %.

Pokud bychom v tuto chvíli stáli před stejným úkolem se stejnými technickými prostředky, řešili bychom to pomocí linuxových htb tc + hash filters.

NAT
Jelikož jsme v té době byli malým místním domácím poskytovatelem, měli jsme při připojování předplatitelů jednotlivců akutní otázku, zda klientovi vydat „bílou“ směrovatelnou IP adresu, nebo se omezit na vydávání „šedých“ IP adres.

Usadili jsme se na „šedých“ adresách, protože jejich použití ušetřilo v té době tolik cenného materiálu jako skutečné adresy. Také se mírně zvýšila bezpečnost a komfort práce našich uživatelů, protože jejich počítače nebyly zvenčí „přímo“ přístupné celé internetové síti.

Sestavili jsme schéma, ve kterém „exportujeme“ kopii veškerého uživatelského provozu (SPAN PORT) na potřebné síťové porty serveru s operačním systémem Linux a poté pomocí ipt_NETFLOW vytvoříme FLOWS stream na požadovaný server.

Podrobněji je spolu s konfiguracemi uvedeno schéma práce.

P.S. Jsme si vědomi toho, že většina zařízení Cisco umí nalít již vytvořený NETFLOW stream do zadaného Netflow kolektoru, ale v našem síťovém diagramu v té době prostě takové zařízení být nemohlo :)

Ukončení uživatelských sítí.
Původně jsem chtěl dát uživateli IP adresu, masku podsítě a bránu a nezatěžovat to nastavením PPPoE, PPTP, VPN, což nakonec mělo trochu odlehčit službě technické podpory (což se v praxi stalo), protože nastavení sítě se stalo v jakémkoli vlastním operačním systému docela triviální.

Když jsme se rozhodli uplatnit naše předchozí zkušenosti s používáním operačního systému Linux, přišli jsme s následujícím schématem, linuxové servery s dvojicí čtyřportových síťových adaptérů se instalují na klíčová místa sítě, jeden spoj „jede“ směrem k jádru sítě, tj. spočinout směrem ke „shlukům“. Výsledkem je, že na každém rozhraní vzniká hromada VLAN s několika sítěmi v každé z nich.

Celkem jsme měli 4 servery pro celou síť, každý přibližně 10 tisíc předplatitelů.

Špičkový provoz dosahovaný každým serverem ve špičce byl asi jeden a půl megapaketu za sekundu. Servery si mezi sebou vyměňovaly trasy pomocí protokolu ospf.

Blokování přístupu uživatelům bylo provedeno pomocí ipset.

okraj
Rád bych touto radostí skončil, ale rád bych napsal o další „nestandardní“ aplikaci Linuxu - jako hranici. Stalo se, že nám selhal Cisco ASR, který plnil funkce ohraničení, které získalo 2 plná zobrazení ze dvou uplinků.

Následuje malá lyrická odbočka. Cisco 100% dodrželo své závazky a během několika hodin po vyplnění potřebných dokumentů odeslalo náhradu, ale jak chápete, zákazníci nebudou čekat ani den, než nový hardware dorazí do naší oblasti. Rozhodnutí bylo spontánní.

Vzali server ze skladu, nainstalovali na něj Linux + quagga a úspěšně jej nainstalovali místo neúspěšného Cisco.

Ve špičce tento zázrak inženýrství „přežvýkal“ příchozí tok 1,4 Gb/s, s celkovým počtem kpps na všech rozhraních asi 400.

P.S. V průběhu naší práce jsme shromáždili a otestovali mnoho RPM balíčků pro distribuci CentOS 5, zde je jen malý seznam z nich:

  • IPset
  • connlimit
  • conntrack-tools
  • ipt_netflow
  • průtokové nástroje
  • kvaga

Můžete si je stáhnout z tohoto úložiště.

P.P.S. Pokud máte vlastní postřehy nebo poznámky o používání *nix like OS na ISP, jste vítáni.

Uživatelův článek, bohužel, bude mít dost karmy na to, aby jej sám zveřejnil, proto vás žádám, abyste v jeho karmě nechali všechna pro / proti

Moderní počítač poskytuje uživateli mnoho funkcí, bez kterých by se bez dobré poloviny klidně obešel. Dodnes se na netu vedou debaty, jestli to chce 3D grafiku a kvalitní zvuk. Existuje však jedna funkce, jejíž potřebu nikdo nezpochybňuje - to je přístup k síti.

Znalci svobodných OS tvrdí, že Linux je stvořen pro web, jako pták na létání. Je pravda, že okamžitě berou v úvahu skutečnost, že skutečnou sílu tohoto systému uvidí pouze elita, protože nastavení síťových rozhraní je obtížný úkol a vyžaduje seriózní znalosti.

S tímto tvrzením je těžké polemizovat, protože jeho komplexní povaha je zřejmá. Bez speciálních dovedností totiž nelze sestavit ani stoličky. Přesto zde máme co do činění s jistou nadsázkou. Linux je jednoduchý systém. Uživatel Windows musí uchovávat v paměti mnohem více informací, aby si s nimi mohl pohodlně pracovat.

Aby poslední tvrzení nevypadalo neopodstatněně, zvažte postup nastavení sítě na systému Linux. Navíc, jak je ve světě svobodného softwaru zvykem, neexistuje jedna cesta, ale několik možností. A uživatel si sám vybere tu, která se mu nejvíce líbí.

příkaz ifconfig

Ovladače síťového adaptéru se zpravidla připojují během instalace systému. Chcete-li to ověřit, zadejte do konzoly ifconfig -a. Mimochodem, toto jméno není vůbec pozměněné jméno pro příkaz ipconfig, který znají uživatelé Windows. Je to jen zkratka pro Konfigurace rozhraní.

Uživatel jako odpověď obdrží informace o charakteristice ethernetového připojení a parametrech tzv. ring interface. První je označena jako eth0 (pokud existuje několik síťových adaptérů, pak každý bude mít svou vlastní sekci eth[pořadové číslo]) a druhý - jako lo.

Stejný příkaz lze použít k aktivaci rozhraní. Nejčastěji to vypadá takto:

ifconfig [název rozhraní] maska ​​sítě [maska ​​sítě] broadcast [adresa vysílání] up.

V praxi však nemusí být specifikovány všechny parametry. Pokud například maska ​​sítě a adresa vysílání nejsou nastaveny explicitně, systém použije výchozí hodnoty (síťová adresa se strojní částí 255 a maskou 255.255.255.0).

K aktivaci PLIP, SLIP a PPP je nutné použít volbu pointopoint. V tomto případě budou rozhraní pojmenována takto:

Plip[číslo začínající od nuly] - pro PLIP;

– slip[sériové číslo začínající od nuly] - pro SLIP;

– ppp[pořadové číslo začínající od nuly] - pro PPP.

Chcete-li například nakonfigurovat rozhraní PLIP, které spojuje dva počítače na adresách [adresa1] a [adresa2], zadejte do konzoly:

ifconfig plip0 [adresa1] pointopoint [adresa2].

Zakázání rozhraní se provádí příkazem ifconfig [označení rozhraní] down. Pomocí jediného příkazu tak můžete ovládat síťové zařízení. A samozřejmě nemá smysl uchovávat všechny jeho možnosti v paměti - pokud jste na něco zapomněli, pak man ifconfig vždy přijde na pomoc.

příkaz trasy

Za směrování je zodpovědný příkaz route. To znamená, že říká systému, do kterého síťového počítače pakety mají být odeslány, aby dosáhly svého cíle.

Tento příkaz zobrazí směrovací tabulku. Kromě toho se každý záznam skládá z několika polí:

– Destination – IP adresa cíle trasy;

– Brána – IP adresa nebo název brány (pokud není uveden, použije se symbol „*“);

– Genmask – maska ​​sítě trasy;

– Flags - typ cesty nebo indikátor stavu (může nabývat následujících hodnot: U - aktivní, H - hostitel, C - brána, D - dynamická, M - upravená);

– MSS - maximální množství dat přenesených najednou;

– Metric – počet skoků do brány;

– Ref - počet požadavků na trasu v určitém okamžiku;

Okno - maximální množství dat pro přijímající stranu;

– Use – počet paketů přenesených na trase;

– Iface – typ rozhraní.

Chcete-li přidat adresu do směrovací tabulky, použijte příkaz route s volbou add. Je třeba poznamenat, že pokud již bylo odpovídající rozhraní nakonfigurováno pomocí ifconfig, může o něm získat informace samotný systém. V tomto případě nemá smysl používat specifikátory – stačí uvést adresu cíle. Všechny ostatní údaje budou nadbytečné, a tedy nepovinné.

Je zřejmé, že pro práci v síti musí být vytvořen alespoň jeden záznam ve směrovací tabulce. Výchozí cíl je označen výchozím štítkem.

K odstranění trasy použijte příkaz route del -net.

Další příkazy

Pokud jsou nastavení rozhraní uložena v systému, lze příkazy ifup a ifdown použít k rychlé aktivaci a deaktivaci následujícím způsobem:

– ifup [označení rozhraní] – povolit.

– ifdown [označení rozhraní] – zakázat.

Příkaz netstat se používá k zobrazení seznamu síťových připojení, směrovacích tabulek, statistik rozhraní a tak dále. Mimo jiné umožňuje zobrazit stav připojení, což je užitečné při analýze bezpečnosti systému.

Například LISTEN znamená, že služba čeká na připojení k jinému počítači, a ESTABLISHED znamená, že již byla navázána. Pokud nejsou spuštěny žádné programy, u kterých je tento stav normální, může to být nebezpečné a může to znamenat útok na hostitele.

Konfigurační soubory

Výše uvedené příkazy stačí ke konfiguraci sítě. Tyto utility však mají jednu významnou nevýhodu: výsledek jejich práce bude platný pouze pro jednu relaci. Po restartu bude muset vše začít znovu. Z tohoto důvodu je mnohem pohodlnější upravit konfigurační soubory jednou.

Navzdory skutečnosti, že jejich zařízení je nezávislé na distribuci, mohou být umístěny na různých místech. Například v Debianu je /etc/init.d/network zodpovědný za nastavení rozhraní a směrování a ve Slackware (MOPS, Zenwalk) - /etc/rc.d/rc.inet1. V tomto ohledu lze poskytnout pouze jednu univerzální radu: když začínáte pracovat s konkrétním výrobkem, nezapomeňte si přečíst technickou dokumentaci.

Jako příklad zvažte distribuci ASPLinux. Adresář /etc/sysconfig/network-scripts/ se používá k uložení nastavení síťového rozhraní. Každý z nich je definován souborem ifcfg-[interface designator].

Tento soubor se skládá z řádků ve tvaru: [parametr]=[hodnota]. Parametry mohou být následující:

– NAME - libovolný název připojení;

– DEVICE - označení rozhraní;

– IPADDR - IP adresa rozhraní;

– NETMASK - maska ​​sítě;

– GATEWAY - IP adresa brány;

– ONBOOT - ukazatel na nutnost aktivace během bootování;

– USERCTL – označuje, že běžný uživatel může aktivovat rozhraní;

– MTU – hodnota MTU (maximální velikost paketu přenášeného přes rozhraní);

– PEERDNS – označuje potřebu používat servery DNS získané při aktivaci rozhraní;

– DNS1, DNS2 - IP adresy primárních a sekundárních DNS serverů;

– BOOTPROTO - indikátor režimu konfigurace rozhraní (žádný - pomocí uživatelských parametrů, boottp nebo dhcp - pomocí příslušných protokolů).

Za konfiguraci DNS zodpovídají soubory /etc/host.conf a /etc/resolv.conf. Prvním z nich je prostý textový soubor, který specifikuje pravidla pro fungování subsystému vyhledávání jména a adresy uzlu. Jeho struktura je typická pro všechny objekty tohoto typu - každý řádek obsahuje parametr a jeho hodnoty (může jich být několik).

Parametr order určuje metodu pro zjištění IP adresy uzlu. Může nabývat následujících hodnot: bind (používá DNS server), hosts (používá lokální databázi adres), nis (používá NIS server). Musí být v pořadí, v jakém bude vyhledávání provedeno.

Parametr trim se používá k popisu výjimek. Odpovídající řádek určuje doménu, která bude z názvu automaticky odstraněna.

Parametr změny pořadí může nabývat hodnot on/off. Je zodpovědný za povolení režimu provozu, ve kterém mají místní adresy přednost před všemi nalezenými. Spoofalert zapne režim zápisu výsledků kontroly falešných jmen do systémového protokolu. A multi umožňuje přizpůsobit způsob zpracování lokální databáze uzlů. Samozřejmě není nutné uvádět všechny parametry. V praxi často existují soubory /etc/host.conf, které se skládají ze dvou řádků.

Soubor /etc/resolv.conf popisuje některé volby, které používá subsystém pro vyhledávání názvů. Může se skládat z následujících řádků:

– nameserver - adresy DNS serverů;

– doména – název lokální domény pro vyhledávání adres v lokální síti;

– hledat – seznam domén pro hledání adres.

Je zřejmé, že doména a parametry vyhledávání nemohou být relevantní současně. Pokud systém zjistí tento rozpor, vezme v úvahu pouze poslední záznam.

Nebo Linux nemůže jmenný server vůbec používat? Teoreticky - ano, i když v praxi se níže popsaná metoda používá pouze ve velmi malých sítích, kde jiné metody nemají opodstatnění.

Způsob je použít soubor /etc/hosts. Je to seznam názvů hostitelů a jejich IP adres, přičemž pro jednu adresu lze zadat více než jedno jméno.

Grafické nástroje pro přizpůsobení

Přestože nastavení sítě přímou úpravou konfiguračních souborů není příliš obtížný úkol, téměř všechny moderní distribuce nabízejí uživateli grafické nástroje určené k jeho řešení. Dokonce i Zenwalk, který není obvykle považován za přátelský ve smyslu slova Windows, umožňuje konfigurovat síťová rozhraní bez použití příkazového řádku.

A dnes máme právo říci, že kromě elementárních nastavení může uživatel provádět poměrně složité operace. Zejména před několika lety zaujímalo téma nastavení VPN připojení v Linuxu přední místo na fórech technické podpory a všechna navrhovaná řešení tohoto problému nelze nazvat jednoduchými. Ale časy se mění.

Například uživatelé distribuce Linux XP Desktop nastavují připojení VPN pomocí pohodlného nástroje GUI, který je ještě jednodušší než podobný nástroj ve Windows. Přibližně totéž nabízí spotřebiteli ASPLinux, Mandriva a SuSE Linux.

Celkově vzato je Linux skutečně vytvořen pro web. A to mohou ocenit nejen zkušení uživatelé, ale i začátečníci.

Linux má mnoho nástrojů pro monitorování síťové aktivity. Většina z nich ale umožňuje řídit pouze síťový provoz z počítače nebo konkrétního rozhraní. Jsou chvíle, kdy potřebujete pochopit, který program používá síťové připojení nejaktivněji, například pokud se chcete se svým pomalým internetem v klidu podívat na své oblíbené stránky a pak nějaký program začne něco stahovat a není jasné, který jeden. Pro takové případy existuje nástroj NetHogs.

V tomto článku probereme instalaci, konfiguraci a funkce práce s NetHogs.

Jak říká manuálová stránka nástroje, NetHogs je malý síťový monitor. Program seskupuje síťovou aktivitu nikoli podle protokolu nebo sítě, ale podle skupin procesů.

Pokud najednou něco začne aktivně využívat připojení k internetu, můžete jednoduše spustit NetHogs a okamžitě uvidíte PID viníka. Vzhledem k tomu, že nástroj je založen na podsystému proc, v současné době existuje pouze verze pro Linux.

Uživatelé Debianu na podobných systémech, včetně Ubuntu, mohou nástroj nainstalovat pomocí následujícího příkazu:

sudo apt-get install nethogs

Pokud používáte jinou distribuci, podívejte se na podrobnosti o instalaci na oficiálních stránkách NetHogs. Obslužný program vyžaduje ke svému fungování knihovny pcap a ncurses, ujistěte se, že jsou nainstalovány balíčky libncurses5-dev a libpcap0.8-dev.

Kdo používá síť

NetHogs se velmi snadno používá. Stačí spustit příkaz nethogs v terminálu bez jakýchkoli možností a nástroj zobrazí síťovou aktivitu pro každý proces.

Jak vidíte, program zobrazuje podrobnosti, jako je PID, uživatel, síťové rozhraní, množství dat a rychlost vysílání nebo příjmu.

Aktualizace dat

Ve výchozím nastavení NetHogs aktualizuje informace každou sekundu, ale můžete použít volbu -d k určení intervalu aktualizace. Chcete-li například aktualizovat každé tři sekundy, zadejte:

sudo nethogs -d 3

Zadejte síťové rozhraní

NetHogs můžete sdělit, se kterým síťovým rozhraním má pracovat, jednoduše zadáním názvu rozhraní do příkazového řádku. Chcete-li například sledovat provoz na eth1, použijte:

sudo nethogs eth1

Volbu -p můžete použít k zachycení provozu v promiskuitním režimu (nazývaném monitorovací režim), ale to se nedoporučuje.

Klávesové zkratky

Nástroj poskytuje klávesové zkratky, pomocí kterých můžete ovládat způsob prezentace. Například stiskněte M za běhu programu pro změnu formátu pro vysílání nebo příjem dat. Možnosti jsou k dispozici v kb/s, kb, bmb.

Například zobrazení v megabajtech:

Můžete také stisknout R nebo S pro řazení podle množství přijatých nebo přenesených dat. A jako vždy Q pro ukončení programu.

závěry

NetHogs je ideální, když chcete zachytit a zabít proces, který spotřebovává velké množství internetového provozu. Navíc je to nástroj s otevřeným zdrojovým kódem, což znamená, že se můžete pokusit zjistit, jak funguje, nebo si ho dokonce přepsat pro sebe.

Použili jste již NetHogs nebo jiný podobný nástroj? Podělte se o své myšlenky v komentářích.

Související příspěvky:


Moderní počítač poskytuje uživateli mnoho funkcí, bez kterých by se bez dobré poloviny klidně obešel. Dodnes se na netu vedou debaty, jestli to chce 3D grafiku a kvalitní zvuk. Existuje však jedna funkce, jejíž potřebu nikdo nezpochybňuje - to je přístup k síti.

Znalci svobodných OS tvrdí, že Linux je stvořen pro web, jako pták na létání. Je pravda, že okamžitě berou v úvahu skutečnost, že skutečnou sílu tohoto systému uvidí pouze elita, protože nastavení síťových rozhraní je obtížný úkol a vyžaduje seriózní znalosti.

S tímto tvrzením je těžké polemizovat, protože jeho komplexní povaha je zřejmá. Bez speciálních dovedností totiž nelze sestavit ani stoličky. Přesto zde máme co do činění s jistou nadsázkou. Linux je jednoduchý systém. Uživatel Windows musí uchovávat v paměti mnohem více informací, aby si s nimi mohl pohodlně pracovat.

Aby poslední tvrzení nevypadalo neopodstatněně, zvažte postup nastavení sítě na systému Linux. Navíc, jak je ve světě svobodného softwaru zvykem, neexistuje jedna cesta, ale několik možností. A uživatel si sám vybere tu, která se mu nejvíce líbí.

příkaz ifconfig

Ovladače síťového adaptéru se zpravidla připojují během instalace systému. Chcete-li to ověřit, zadejte do konzoly ifconfig -a. Mimochodem, toto jméno není vůbec pozměněné jméno pro příkaz ipconfig, který znají uživatelé Windows. Je to jen zkratka pro Konfigurace rozhraní.

Uživatel jako odpověď obdrží informace o charakteristice ethernetového připojení a parametrech tzv. ring interface. První je označena jako eth0 (pokud existuje několik síťových adaptérů, pak každý bude mít svou vlastní sekci eth[pořadové číslo]) a druhá jako lo.

Stejný příkaz lze použít k aktivaci rozhraní. Nejčastěji to vypadá takto:

ifconfig [název rozhraní] maska ​​sítě [maska ​​sítě] broadcast [adresa vysílání] up.

V praxi však nemusí být specifikovány všechny parametry. Pokud například maska ​​sítě a adresa vysílání nejsou nastaveny explicitně, systém použije výchozí hodnoty (síťová adresa se strojní částí 255 a maskou 255.255.255.0).

K aktivaci PLIP, SLIP a PPP je nutné použít volbu pointopoint. V tomto případě budou rozhraní pojmenována takto:

– plip[pořadové číslo začínající od nuly] — pro PLIP;

– slip[pořadové číslo začínající od nuly] — pro SLIP;

– ppp[pořadové číslo začínající od nuly] — pro PPP.

Chcete-li například nakonfigurovat rozhraní PLIP, které spojuje dva počítače na adresách [adresa1] a [adresa2], zadejte do konzoly:

ifconfig plip0 [adresa1] pointopoint [adresa2].

Zakázání rozhraní se provádí příkazem ifconfig [označení rozhraní] down. Pomocí jediného příkazu tak můžete ovládat síťové zařízení. A samozřejmě nemá smysl uchovávat všechny jeho možnosti v paměti - pokud jste na něco zapomněli, pak man ifconfig vždy přijde na pomoc.

příkaz trasy

Za směrování je zodpovědný příkaz route. To znamená, že říká systému, do kterého síťového počítače pakety mají být odeslány, aby dosáhly svého cíle.

Tento příkaz zobrazí směrovací tabulku. Kromě toho se každý záznam skládá z několika polí:

– Destination—IP adresa cíle trasy;

– Brána — IP adresa nebo název brány (pokud není uveden, použije se symbol „*“);

– Genmask – maska ​​sítě trasy;

– Flags — typ trasy nebo indikátor stavu (může nabývat následujících hodnot: U—aktivní, H—hostitel, C—brána, D—dynamický, M—upravený);

– MSS je maximální množství dat přenesených najednou;

– Metric – počet skoků k bráně;

– Ref – počet požadavků na trasu v určitém okamžiku;

Okno - maximální množství dat pro přijímající stranu;

– Use—počet paketů přenesených na trase;

– Iface – typ rozhraní.

Chcete-li přidat adresu do směrovací tabulky, použijte příkaz route s volbou add. Je třeba poznamenat, že pokud již bylo odpovídající rozhraní nakonfigurováno pomocí ifconfig, může o něm získat informace samotný systém. V tomto případě nemá smysl používat specifikátory – stačí uvést adresu cíle. Všechny ostatní údaje budou nadbytečné, a tedy nepovinné.

Je zřejmé, že pro práci v síti musí být vytvořen alespoň jeden záznam ve směrovací tabulce. Výchozí cíl je označen výchozím štítkem.

K odstranění trasy použijte příkaz route del -net.

Další příkazy

Pokud jsou nastavení rozhraní uložena v systému, lze příkazy ifup a ifdown použít k rychlé aktivaci a deaktivaci následujícím způsobem:

– ifup [označení rozhraní] – povolení.

– ifdown [označení rozhraní] – zakázat.

Příkaz netstat se používá k zobrazení seznamu síťových připojení, směrovacích tabulek, statistik rozhraní a tak dále. Mimo jiné umožňuje zobrazit stav připojení, což je užitečné při analýze bezpečnosti systému.

Například LISTEN znamená, že služba čeká na připojení k jinému počítači, a ESTABLISHED znamená, že již byla navázána. Pokud nejsou spuštěny žádné programy, u kterých je tento stav normální, může to být nebezpečné a může to znamenat útok na hostitele.

Konfigurační soubory

Výše uvedené příkazy stačí ke konfiguraci sítě. Tyto utility však mají jednu významnou nevýhodu: výsledek jejich práce bude platný pouze pro jednu relaci. Po restartu bude muset vše začít znovu. Z tohoto důvodu je mnohem pohodlnější upravit konfigurační soubory jednou.

Navzdory skutečnosti, že jejich zařízení je nezávislé na distribuci, mohou být umístěny na různých místech. Například v Debianu je za nastavení rozhraní a směrování zodpovědný soubor /etc/init.d/network a ve Slackware (MOPS, Zenwalk) je to /etc/rc.d/rc.inet1. V tomto ohledu lze poskytnout pouze jednu univerzální radu: když začínáte pracovat s konkrétním výrobkem, nezapomeňte si přečíst technickou dokumentaci.

Jako příklad zvažte distribuci ASPLinux. Adresář /etc/sysconfig/network-scripts/ se používá k uložení nastavení síťového rozhraní. Každý z nich je definován souborem ifcfg-[interface designator].

Tento soubor se skládá z řádků ve tvaru: [parametr]=[hodnota]. Parametry mohou být následující:

– NAME—libovolný název připojení;

– DEVICE – označení rozhraní;

– IPADDR – IP adresa rozhraní;

– NETMASK—maska ​​sítě;

– GATEWAY — adresa IP brány;

– ONBOOT — ukazatel na nutnost aktivace během bootování;

– USERCTL – označuje, že běžný uživatel může aktivovat rozhraní;

– MTU — hodnota MTU (maximální velikost paketu přenášeného přes rozhraní);

– PEERDNS – označuje potřebu použít servery DNS získané při aktivaci rozhraní;

– DNS1, DNS2 — IP adresy primárních a sekundárních DNS serverů;

– BOOTPROTO — indikátor režimu konfigurace rozhraní (žádný — pomocí uživatelských parametrů, boottp nebo dhcp — pomocí příslušných protokolů).

Za konfiguraci DNS zodpovídají soubory /etc/host.conf a /etc/resolv.conf. Prvním z nich je prostý textový soubor, který specifikuje pravidla pro fungování subsystému vyhledávání jména a adresy uzlu. Jeho struktura je typická pro všechny objekty tohoto typu - každý řádek obsahuje parametr a jeho hodnoty (může jich být několik).

Parametr order určuje metodu pro zjištění IP adresy uzlu. Může nabývat následujících hodnot: bind (používá DNS server), hosts (používá lokální databázi adres), nis (používá NIS server). Musí být v pořadí, v jakém bude vyhledávání provedeno.

Parametr trim se používá k popisu výjimek. Odpovídající řádek určuje doménu, která bude z názvu automaticky odstraněna.

Parametr změny pořadí může nabývat hodnot on/off. Je zodpovědný za povolení režimu provozu, ve kterém mají místní adresy přednost před všemi nalezenými. Spoofalert zapne režim zápisu výsledků kontroly falešných jmen do systémového protokolu. A multi umožňuje přizpůsobit způsob zpracování lokální databáze uzlů. Samozřejmě není nutné uvádět všechny parametry. V praxi často existují soubory /etc/host.conf, které se skládají ze dvou řádků.

Soubor /etc/resolv.conf popisuje některé volby, které používá subsystém pro vyhledávání názvů. Může se skládat z následujících řádků:

– nameserver – adresy DNS serverů;

– domain — název lokální domény pro vyhledávání adres v lokální síti;

– hledat – seznam domén pro hledání adres.

Je zřejmé, že doména a parametry vyhledávání nemohou být relevantní současně. Pokud systém zjistí tento rozpor, vezme v úvahu pouze poslední záznam.

Nebo Linux nemůže jmenný server vůbec používat? Teoreticky ano, i když v praxi se níže popsaná metoda používá pouze ve velmi malých sítích, kde jiné metody nemají opodstatnění.

Způsob je použít soubor /etc/hosts. Je to seznam názvů hostitelů a jejich IP adres, přičemž pro jednu adresu lze zadat více než jedno jméno.

Grafické nástroje pro přizpůsobení

Přestože nastavení sítě přímou úpravou konfiguračních souborů není příliš obtížný úkol, téměř všechny moderní distribuce nabízejí uživateli grafické nástroje určené k jeho řešení. Dokonce i Zenwalk, který není obvykle považován za přátelský ve smyslu slova Windows, umožňuje konfigurovat síťová rozhraní bez použití příkazového řádku.

A dnes máme právo říci, že kromě elementárních nastavení může uživatel provádět poměrně složité operace. Zejména před několika lety zaujímalo téma nastavení VPN připojení v Linuxu přední místo na fórech technické podpory a všechna navrhovaná řešení tohoto problému nelze nazvat jednoduchými. Ale časy se mění.

Například uživatelé distribuce Linux XP Desktop nastavují připojení VPN pomocí pohodlného nástroje GUI, který je ještě jednodušší než podobný nástroj ve Windows. Přibližně totéž nabízí spotřebiteli ASPLinux, Mandriva a SuSE Linux.

Celkově vzato je Linux skutečně vytvořen pro web. A to mohou ocenit nejen zkušení uživatelé, ale i začátečníci.

Pro systematizaci informací o nastavení sítě v OS Linux bylo rozhodnuto napsat tuto poznámku. Zde je v přístupné formě popsán proces nastavení síťového rozhraní na příkladu OS Ubuntu. Tato příručka vám také pomůže „zvýšit“ místní síť na jakékoli jiné distribuci Linuxu.

Chcete-li zobrazit aktuální nastavení sítě a stav síťových rozhraní v OS Linux, existuje příkaz:

Ukázkový výstup:

eth0 Odkaz encap:Ethernet Hwaddr 00:11:5b:91:25:3e

inet adr:192.168.1.18 bcast: 192.168.255.255 Maska: 255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Range:Link
NAHORU VYSÍLÁNÍ SPUŠTĚNÍ MULTICASTU MTU:1500 Metrické:1
Pakety RX:648009 chyby:0 zahozené:0 přetečení:0 snímek:0
TX pakety:1075413 chyby:0 zahozené:0 přetečení:0 dopravce:0
kolize:0 txqueuelen:1000
RX bajtů: 70177943 (70,1 MB) TX bajtů: 1536487024 (1,5 GB)
Přerušeno:19 Základní adresa:0xd000

hle Link encap:Loopback

inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Rozsah:Uzel
UP LOOPBACK RUNNING MTU:16436 Metrika:1
RX pakety:106 chyb:0 zahozené:0 přetečení:0 snímek:0
TX pakety:106 chyb:0 zahozené:0 překročení:0 dopravce:0
kolize:0 txqueuelen:0
RX bajtů:13776 (13,7 KB) TX bajtů:13776 (13,7 KB)

Chcete-li zobrazit absolutně všechna síťová rozhraní, spusťte příkaz s klíčem -A:

# sudo ifconfig -a

Z výše uvedeného příkladu můžete vidět, že počítač používá dvě síťová rozhraní: eth0 a hle.

Rozhraní hle je místní smyčka, která má IP adresu 127.0.0.1 a je určena pro síťový přístup k vlastnímu počítači. Dále nebude toto rozhraní uvažováno, protože pro efektivní provoz nevyžaduje další konfiguraci.

Rozhraní eth0 je síťová karta Ethernet, která má síťové parametry: IP adresa - 192.168.1.18 , maska ​​sítě - 255.255.0.0 a MAC adresa - 00:11:5b:91:25:3e. Význam BĚH indikuje, že síťové rozhraní eth0 je aktuálně aktivní.

Chcete-li zobrazit typ připojení, rychlost a parametry podporované síťovým rozhraním eth0, zadejte příkaz:

# sudo ethtool eth0

Závěr:

Podporované porty: [ TP MII ]
Podporované režimy připojení: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Podporuje automatické vyjednávání: Ano
Inzerované režimy propojení: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Inzerované automatické vyjednávání: Ano
Rychlost: 100 Mb/s
Duplex: Plný
Přístav: MII
PHYAD: 1
Transceiver: interní
Automatické vyjednávání: zapnuto
Podporuje Wake-on: str
Probuzení: d
Aktuální úroveň zprávy: 0x000000c5 (197)
Zjištěn odkaz: ano

Z výstupu můžete vidět, že síťové rozhraní eth0 běží rychlostí 100 Mbps se zapnutým Full Duplex. Plný duplex se od polovičního duplexu (Half Duplex) liší tím, že první zajišťuje přenos dat oběma směry současně a druhý přenáší střídavě příchozí a odchozí data.

2. Jak zastavit/spustit nebo restartovat síťové rozhraní?

Chcete-li zastavit síťové rozhraní eth0, existuje příkaz:

# sudo ifconfig eth0 dolů

Příkaz je snadno zapamatovatelný, protože za názvem samotného příkazu následuje název rozhraní a akce, která se na něm má provést (dolů nebo nahoru).

Chcete-li obnovit síťové rozhraní eth0:

# sudo ifconfig eth0 up

Chcete-li restartovat všechna síťová rozhraní operačního systému, zadejte příkaz:

# sudo /etc/init.d/networking restart

Tento řádek spouští síťový bash skript, který restartuje síťová rozhraní systému.

Podobně, analogicky, všechna rozhraní jsou zastavena:

# sudo /etc/init.d/networking stop

A provozovat je:

# sudo /etc/init.d/networking start

3. Jak změnit nastavení sítě?

Existují dva způsoby, jak změnit nastavení sítě v OS Linux:
  1. používat příkazy k přiřazení parametrů síťového rozhraní;
  2. upravte konfigurační soubor obsahující parametry síťových rozhraní.

Síť můžete nastavit jednou z výše uvedených metod. Tyto dvě metody jsou zcela zaměnitelné. Kdo je více zvyklý

  1. Nastavení sítě pomocí příkazů.

    Chcete-li nakonfigurovat síťové rozhraní, aniž byste se dostali do džungle konfiguračního souboru, musíte použít speciální příkazy.

    Chcete-li nastavit primární IP adresu a masku sítě pro rozhraní eth0:

    # sudo ifconfig eth0 192.168.0.1 maska ​​sítě 255.255.255.0

    Chcete-li přiřadit další IP adresu rozhraní eth0:

    # sudo ifconfig eth0:0 10.10.0.1 maska ​​sítě 255.255.255.0

  2. Nastavení sítě úpravou konfiguračního souboru.

    Upravme konfigurační soubor /etc/network/interfaces. Chcete-li zobrazit obsah konfigurace, zadejte příkaz:

    # sudo nano /etc/network/interfaces

    Pokud místní síť, ke které se připojujeme, vyžaduje ruční nastavení IP adresy, pak by obsah konfiguračního souboru měl vypadat nějak takto:

    iface lo inet loopback

    auto eth0
    iface eth0 inet statický
    adresa 192.168.1.18
    síťová maska ​​255.255.0.0
    brána 192.168.1.253

    První řádky necháme tak, jak jsou, protože jejich další konfigurace není nutná.

    Čára auto eth0říká, že síťové rozhraní eth0 by se mělo spustit při startu OS.

    Druhý řádek iface eth0 inet statickýříká, že IP adresa síťového rozhraní eth0 je nastavena ručně.

    Čára adresa 192.168.1.18říká, že síťovému rozhraní eth0 je přidělena IP adresa 192.168.1.18 (tato síťová adresa je brána jako příklad a na jejím místě může být jakákoliv jiná).

    Čára síťová maska ​​255.255.0.0říká, že maska ​​sítě je 255.255.0.0.

    Poslední řádek brána 192.168.1.253 označuje, že síťová brána je počítač s IP adresou 192.168.1.253. Tento řádek může chybět, protože jeho přítomnost v konfiguračním souboru závisí na nastavení místní sítě, ke které je nakonfigurovaný počítač připojen.

    Pokud připojená lokální síť používá automatickou distribuci síťových nastavení serverem DHCP, pak konfigurační soubor /etc/network/interfaces by měl být vykreslen jako:

    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

4. Další nastavení sítě: DNS servery, MAC adresy a rychlost síťového rozhraní.

Nastavení serveru DNS.

V mnoha případech bude pro správnou funkci místní sítě na konfigurovaném počítači také nutné zadat IP adresu použitého serveru DNS.

Chcete-li to provést, otevřete konfigurační soubor příkazem:

# sudo nano /etc/resolv.conf

Závěr:

# Generováno NetworkManagerem
jmenný server 192.168.1.253

Čára jmenný server 192.168.1.253říká, že jako DNS server je použit počítač s IP adresou 192.168.1.253.

Změňte MAC adresu síťové karty.

Chcete-li dočasně změnit MAC adresu síťové karty eth0, musíte použít příkaz:

# sudo ifconfig eth0 hw ether 00:01:02:03:04:05

Poslední číslo je nová MAC adresa.

Chcete-li trvale změnit MAC adresu, musíte v konfiguračním souboru /etc/network/interfaces přidat řádek s novou MAC adresou do nastavení síťového rozhraní:

iface eth0 inet dhcp

pre-up ifconfig eth0 hw ether 00:01:02:03:04:05

Změňte rychlost síťového rozhraní.

Přísné nastavení rychlosti síťové karty:

# sudo ethtool -s eth0 speed 100 duplex plně autoneg vypnuto

# Vynutit rychlost síťového rozhraní na 100 Mbit a režim Full Duplex a deaktivovat automatickou detekci

# sudo ethtool -s eth0 rychlost 10 duplex poloviční autoneg vypnuto

# Vynutit rychlost síťového rozhraní na 10 Mbit a režim Half Duplex a deaktivovat automatickou detekci

Náhodných 7 článků:

Komentáře

  1. Sergo
    1. listopadu, 23:27

    díky moc za článek! v Linuxu to nedávno hodně pomohlo, můžete mi říct, jestli jsou v počítači dva síťové dns servery, jeden má síťový dns server 192.168.0.9 a druhý má například 192.168.1.9, bylo by to správně napsat
    jmenný server 192.168.0.9
    jmenný server 192.168.1.9
    Setevukha komu co dns porozumí?
    A je možné v Linuxu přiřadit název síťové kartě, např. eth0 je loc a eth1 je prov?

  2. [e-mail chráněný]
    2. listopadu, 00:07

    1. DNS může specifikovat obojí, ale masky sítě by měly být specifikovány jako 255.255.255.0. Poté přejdou na své DNS.

    2. Nevím o názvech sítí. Myslím, že můžete, je to Linux!!

  3. Sergo
    2. listopadu, 03:44

    vypněte rozhraní
    ifconfig eth0 dolů
    dát příkaz
    ifrename -i eth0 -n nový_název (např. místní)
    ifconfig local up
    pak ve tvém linuxu bude asi potřeba změnit nějaké eth0 na local v souboru /etc/network/interfaces, jen mám alt, a tento soubor vůbec neexistuje, mám /etc/net/ifaces/folders_with_interfaces , a teď potřebuji složku eth0 přejmenovat na místní a pak
    restart servisní sítě :)

  4. [e-mail chráněný]
    2. listopadu, 08:45

    Bude potřeba článek doplnit, díky))

  5. gpns
    14. května, 17:36

    Myslím, že stojí za to opravit řádek: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0
    alias nemůže mít masku /24 (255.255.255.0), nejedná se o chybu, protože v každém případě bude rozhraní eth0:0 přiřazena maska ​​/32 (255.255.255.255)
    Ve vašem případě by to bylo: sudo ifconfig eth0:0 10.10.0.1/32

  6. [e-mail chráněný]
    16. května, 12:02

    gps: Myslím, že stojí za to opravit řádek: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0 v každém případě rozhraní eth0:0 dostane masku /32 (255.255.255.255) Ve vašem případě to bude: sudo ifconfig eth0:0 10.10.0.1/32

    Sakra, obrátil jsi mi celou mysl vzhůru nohama. Budete muset předělat nastavení síťového rozhraní na počítači, které funguje již téměř 2 roky.
    Proč tedy tým ifconfig je zobrazena maska, kterou jsem nastavil?

  7. HydruS
    13. září, 23:32

    Prostý jazyk! Jasné a srozumitelné! Děkuji mnohokrát!
    P.S. Pouze ve výpisech příkazů by bylo hezké vytvořit písmo, kde 0 je vizuálně odlišné od O.

  8. [e-mail chráněný]
    14. září, 18:34

    HydroS: P.S. Pouze ve výpisech příkazů by bylo hezké vytvořit písmo, kde 0 je vizuálně odlišné od O.

    Díky, budu to brát v potaz. I když se zdá být rozdíl, k věci)

  9. andrey
    18. září, 23:50

    díky za vaše stránky. Mám rád! vše je srozumitelné a srozumitelné
    Mám pro tebe otázku. pokud je to možné, řekněte mi, jak nastavit síť, aby připojení LAN a DSL fungovalo současně.
    Nemůžu přijít na to, jak to udělat???

  10. [e-mail chráněný]
    20. září, 07:18

    andrey: díky za vaše stránky. Mám rád! Vše je srozumitelné a srozumitelné, mám na vás dotaz. pokud je to možné, řekněte mi, jak nastavit síť, aby připojení LAN a DSL fungovalo současně.

    Abych byl upřímný, dlouho jsem se nesetkal s připojením DSL. Řekni mi více:
    1. Co je to místní síť? Za modemem nebo v jiné síti?

  11. andrey
    20. září, 18:38

    nejčastějším spojením je městská síť
    počítač připojený přes síťovou kartu
    Přístup k internetu je připojen přes DSL připojení

  12. [e-mail chráněný]
    21. září, 17:22

    andrey: nejběžnější připojení je městská síť počítač je připojen přes síťovou kartu Přístup k internetu je připojen přes DSL připojení

    Podle mého názoru je potřeba nakonfigurovat samotný modem. Podívejte se na stranu Duální PPPOE
    Něco podobného jsem udělal na routeru D-Link DIR -320, ale ani jednou na modemu.

  13. andrey
    21. září, 18:22

    Dík!!! budu hledat!

  14. Had22
    3. listopadu, 6:21

    Ke slovům o DSL přes lokální síť: nabral jsem hodně páry, prohrabal se v hromadě many (mám Debian Lenny) a abych zachránil další lidi před stejným rakem, řeknu, že pppoeconf nepomůže všem , například pro mě se internet na pár sekund objevil a zázračně zmizel . Konfigurace, protokoly nepomohly. Ale po dvou týdnech a hromadě vytrhaných vlasů jsem narazil na jednoduchý příkaz ifconfig ppp0 mtu 1372. Doufám, že to někomu pomůže. Promluvil jsem, bylo to jednodušší)))

  15. Nicku
    7. prosince, 09:17

    Dobré odpoledne, v mé složce atd není ani síťová složka, ani síťová složka, stojí 5,7 centos, řekněte mi, co mám dělat

  16. přístav
    27. prosince, 21:12

    Dobrý den, tento problém nastal. Počítač je připojen k internetu přes router.. Problém je, že se některé stránky neotevřou - vypíše to chybu převodu dns.. Co je potřeba udělat. aby vše fungovalo správně? Díky předem!!

  17. papick
    30. července, 17:05

    Artem: 2 síťové karty. na jedné šroubové síti s doménou. ve druhém je zapojen adsl modem s připojením PPPoE. jak umožnit práci v síti a na internetu?!

    například napsat pravidla směrování na stroji tak, aby pakety určené pro místní síť byly odesílány na etn0 a všechny ostatní na etn1
    ale toto téma je nad rámec tohoto článku.

  18. Kompomer
    29. srpna, 03:01

    Docela dobrý článek. Díky moc

  19. valera
    21. ledna, 07:20

    Jsem na linuxu teprve 3. měsíc, ale zkoušel jsem už 17 kusů, ale nikdo nechce připojit dsl \ okamžitě rozbije LAN \ vlevo zorin a dej ALT - pracuji jako domácí úkol, ale pro síť Piggy \ 7 - demolovaný jako každý \.jestli- Kdybych měl síť na ALT, tak do konce života ... počítač ovládám teprve 7 let - už je starý.