Network configuration (Česky)

From ArchWiki
Revision as of 14:53, 21 May 2009 by Warriant (Talk | contribs)

Jump to: navigation, search

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Network configuration (Česky)#)
Template:I18n links start

Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Shrnutí

Jednoduchý průvodce zprovozněním sítě.

Nahrání ovladače (modulu) zařízeni

Pokud používáte hwdetect, měl by být schopen rozpoznat vaši síťovou kartu a automaticky po startu zavést odpovídající moduly. V opačném případě potřebujete vědět název modulu potřebného pro chod vaší karty. Hledejte na webu výrobce vaší karty, ve vyhledávačích nebo zkuste některou z Live distribucí a podívejte se jaký modul používa – spusťte příkaz lsmod, který zobrazí všechny aktuálně načtené moduly.

Nyní předpokládejme, že znáte název potřebného modulu. Můžete ho do jádra zavést následujícím příkazem:

# modprobe jmenomodulu

Jestliže nechcete nebo nemůžete použít auto-loader jako například hwdetect, můžete přidat názvy potřebných modulů do /etc/rc.conf, potom už nebude potřeba zavádět moduly příkazem modprobe po každém startu počítače. Např. pokud se modul jemenuje tg3:

MODULES=(!usbserial tg3 snd-cmipci)

Další běžné moduly jsou 8139too pro karty s čipy od RealTek nebo sis900 pro SiS karty.

Nastavení IP adresy

DHCP

DCHP je služba, která dokáže dynamicky na požádání přidělovat klientům IP adresu (a nejen ji). Pokud dhcp používáte, upravte rc.conf následovně:

 eth0="dhcp"
 INTERFACES=(eth0)
 ROUTES=(!gateway)

Pokud z nějakého důvodu dchpdc eth0 selhává, nainstalujte dhclienta (pacman -Sy dhclient) a nastavte v Template:Filename.

DHCLIENT="yes"

Statická IP

Jestliže sdílíte internetové připojeni z windowsovského boxu bez routeru, použijte na statickou IP adresu jinak můžete mít problémy se sítí.

Pro konfiguraci statické IP potřebujete znát:

  • svoji statickou IP
  • masku sítě
  • adresu broadcastu (poslední možná IP v rozsahu vaší sítě)
  • bránu (gateway)
  • IP adresy jmenných serverů
  • jméno vaší domény

Pokud pracujete v soukromé síti, je bezpečné používat IP adresy v rozsahu 192.168.*.* , s maskou 255.255.0.0 a adresou všesměrového vysílání (broadcast) 192.168.255.255. Dokud vaše síť nemá router, na adrese brány nezáleží. Upravte rc.conf následovně, avšak nahraďte IP, masku sítě, broadcast a bránu svými vlastními hodnotami:

 eth0="eth0 192.168.10.1 netmask 255.255.0.0 broadcast 192.168.255.255"
 INTERFACES=(eth0)
 gateway="default gw 192.168.10.20"
 ROUTES=(gateway)

V souboru Template:Filename potom nahraďte IP nameserveru a jméno domény vašimi vlastními. Jméno domény pro vzhledávání není vždy podmínkou:

 nameserver 61.23.173.5
 nameserver 61.95.849.8
 search example.com

Můžete zadat tolik nameserverů, kolik chcete.

Pokud používáte DHCP a nechcete, aby se váš DNS server měnil při každém spuštění sítě, přidejte volbu Template:Codeline do Template:Codeline v souboru Template:Filename (používaném v /etc/rc.d/network). Tímto se zabrání, aby za každým spuštěním DHCP přepisoval váš Template:Filename:

DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"

Nastavení jména počítače

Upravte Template:Filename a nastavte HOSTNAME na vámi požadované jméno počítače:

HOSTNAME="banana"

Nastavení lokálního překladu názvů hostitelů na IP adresy

Upravte Template:Filename a přidejte podobný řádek se stejným HOSTNAME, jaké jste zadali v Template:Filename:

127.0.0.1 banana.localdomain banana

Obdobně můžete přidávat i další záznamy.

Aktualizace konfigurace

K otestování konfigurace nemusíte restartovat počítač, stačí jako root spustit Template:Filename. Nyní zkuste příkazem ping otestovat spojení na vaši bránu, DNS servery, ISP a jiné internetové servery.

Některá další nastavení

Bezdrátové sítě

Konfigurace bezdrátových sítí je probírána v Wireless Setup.

Firewall

Abyste se cítili bezpečněji, nainstalujte a nakonfigurujte si firewall.

Ifplugd

Ifplugd je služba, která automaticky konfiguruje vaše síťová rozhraní, když zapojíte kabel a poté i konfiguraci vynuluje, pokud kabel zase odpojíte. To je velmi použitelné na laptopech s integrovanou síťovou kartou, protože se bude síť konfigurovat až opravdu v okamžiku, kdy je připojen kabel.

Instalace je velmi jednoduchá. Baliček se nachází v [extra]:

# pacman -S ifplugd

Ve výchozím stavu je služba nastavena pro spolupráci s eth0. Toto a jiné nastavení se konfiguruje v Template:Filename.

ifplugd spusťte příkazem:

# /etc/rc.d/ifplugd start

nebo jej přidejte do výčtu DAEMONS v Template:Filename.

Řešení problémů

Swapping computers on the cable modem

Most domestic cable ISPs (videotron for example) have the cable modem configured to recognise only one client PC, by the MAC address of its network interface. Once the cable modem has learnt the MAC address of the first PC that talks to it, it will not respond to another MAC address in any way. Thus if you swap one PC for another (or for a router), the new PC (or router) will not work with the cable modem, because the new PC (or router) has a different MAC address to the old one. To reset the cable modem so that it will recognise the new PC, you must power the cable modem off and on again. Once the cable modem has rebooted and gone fully online again (indicator lights settled down), reboot the newly connected PC so that it makes a DHCP request, or manually make it request a new DHCP lease.

Problém se škálováním TCP okénka (Window)

TCP segmentu obsahují hodnoty "okének" ve hlavičkách indikujících kolik dat je schopný přijímací uzel akceptovat od vysílajícího. Okénka se definují v segmentech ACK, kdy přijímací uzel potvrzuje přijetí segmentů. Velikost okénka reprezentuje 16bitů a z tohoto důvodu je maximálně 64Kb. TCP segmenty jsou ukládány v cache (kde se zarovnávají).Cache je omezená a přijímací uzel by jí lehce mohl vyčerpat, pokud by neměl mechanizmus jak korigovat tok dat.

V roce 1992 rostlo množství dostupné paměti v počítačích. Bylo nepsán RFC 1323 , aby zlepšil situaci škálování okénka. Hodnota okénka implementovaná do všech segmentů bude modifikována tzv. škálovacím faktorem (Scale Factor) definovaným jednou na počátku komunikace.

8-bitový Škálovací faktor umožňuje okénku být 32-krát vyšší než původních 64Kb.

Občas nastává problém v tom, že některé chybné routery a firewally na internetu přepisují škálovací faktor na 0, čímž způsobují nedorozumění mezi hosty.

Linuxové jádro 2.6.17 představilo nové kalkulační schéma generující vyšší škálovací faktor. Uměle zviditelňuje následky chyb routerů a firewallů.

Výsledné spojení je při nejlepším velmi pomalé, nebo nelze navázat.

Jak diagnostikovat problém?

Tento problém nastává zřídka kdy. V některých případech nebudete schopní použít TCP spojení (HTTP,FTP,...) vůbec a v jiných budete schopni pouze s některými hosty.

Varování: výstup z dmesg musí být v pořádku, logy čisté, ifconfig ukazuje normální stav — vše se jeví v pořádku.

Pokud nemůžete prohlížet zádnou webovou stránku, ale můžete pingnout některé hosty, šance jsou velké. Ping používá ICMP protokol a není ovlivněn TCP protokolem.

K detekci problému můžete vyzkoušet program WireShark. Je to výborný nástroj pro zkoumání síťové komunikace. Například můžete objevit úspěšné UDP a ICMP komunikace, ale neúspěšné TCP komunikace.

Jak to opravit? (špatná cesta)

Můžete změnit hodnotu tcp_rmem, na které je založen škálovací faktor. Přestože by to mohlo pomoci většine hostů, není zaručeno, že to bude funkční i na ty velmi vzdálené.

echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem


Jak to opravit? (dobrá cesta)

Jednoduše vypněte škálování okének. Přestože je škálování příjemná vlastnost TCP, může být dosti nepohodlná. Zvláště pokud nemůžete upravit chybný router. Je několik cest jak vypnout škálování a vypadá to, že pracují na většině kernelů. Přidejte dásledující řádek do /etc/rc.local:

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

Jak to opravit? (nejlepší cesta)

Tento problém je způsoben chybným routerem/firewallem, tak jej vyměňte. Někteří uživatelé totiž nalezli problém na jejich vlastních DSL routerech.

Více?

Tato sekce je založena na LWN článku TCP window scaling and broken routers a Kernel Trap článku: Window Scaling on the Internet.

A v poslední době se některým uživatelům Archu hodilo:

Několik dobrých vláken naleznete také na LKML.

Realtek No Link / WOL issue

Uživatelé se síťovými kartami založenými na čipech Realtek 8168 8169 8101 8111 mohou zaznamenat problém, při kterém se karta po startu tváří jako vypnutá a nesvítí vůbec kontrolka Link. Toto se obvykle stává na systémech s duálním bootem, kde jsou nainstalovány Windows. Zdá se, že je příčinou používání oficiálních ovladačů Realteku (novějších než květen 2007). Tyto novější ovladače vypínají Wake-On-Lan tím, že během vypínání Windows vypnou síťovou kartu, přičemž zůstává vypnutá do příštího spuštění Windows. You will be able to spot if this is issue is affecting you because the Link light will remain off only until Windows boots, during Windows shutdown it will revert back to the Link light being off. Normal operation should be that the link light is always on as long as the system is on, even during POST. This issue will also affect other OS's without newer drivers (eg. Live CD's). Here's a couple of fixes for this issue.

Method 1 - Rollback/Change Win driver

You can rollback your Windows NIC driver to the Microsoft provided one (if available), or rollback/install to an official Realtek driver pre-dated May 2007 (maybe on the CD that came with your hardware).

Method 2 - Enable WOL in Win driver

Pravděpodobně nejlepší a nejrychlejší oprava je změnit nastavení v ovladači ve Windows. This way it should be fixed system wide and not only under Arch (eg. live CD's, other OSes). In Windows under device manager, find your Realtek Network adapter and double click it. Under the advanced tab change "wake-on-lan after shutdown" to enable.

 In Windows XP (example)
 Right click my computer
 --> Hardware tab
   --> Device Manager
     --> Network Adapters
       --> "double click" Realtek ...
         --> Advanced tab
           --> Wake-On-Lan After Shutdown
             --> Enable.

Method 3 - Newer Realtek Linux driver

Any newer driver for these Realtek cards can be found for Linux on the realtek site. (untested but believed to also solve the problem).

DLink G604T/DLink G502T DNS issue

Users with a DLink G604T/DLink G502T router, using DHCP and have firmware v2.00+ (typically users with AUS firmware) may have issues with certain programs not resolving the DNS. One of these programs are unfortunatley pacman. The problem is basically the router in certain situations is not sending the DNS properly to DHCP, which causes programs to try and connect to servers with an IP of 1.0.0.0 and fail with a connection timed out error

How To Diagnose The Problem?

The best way to diagnose the problem is to use a firefox/konqueror/links/seamonkey and to enable wget for pacman. If this is a fresh install of Arch Linux, then you may want to consider installing links through the live CD.

Firstly enable wget for pacman (since it gives us info about pacman when its downloading packages) Open /etc/pacman.conf with your favourite editor and uncomment the following line (remove the # if its there)

XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

While your in pacman.conf, check the default mirror that pacman uses to download packages.

Now open up the default mirror in an internet browser to see if the mirror actually works. If it does work then do pacman -Syy (otherwise pick another working mirror and set it to the pacman default), if you get something similar to the following (notice the 1.0.0.0)

ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz                                                            
           => `/var/lib/pacman/community.db.tar.gz.part'                            
Resolving mirror.pacific.net.au... 1.0.0.0

Then you most likely have this problem. The 1.0.0.0 means its unable to resolve the DNS, so we must add it to resolv.conf.

How To Fix It?

Basically what we need to do is to manually add the DNS to our Template:Filename file, The problem is that DHCP automatically deletes and replaces this file on boot, so we need to edit Template:Filename and change the flags to stop DHCP doing this

When you open up Template:Filename, you should see something close to the following:

DHCPCD_ARGS="-t 30 -h $HOSTNAME"

add the Template:Codeline flag to the arguments, i.e.

DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"

NOTE: If you are using dhcpcd >= 4.0.2 the -R flag has been depreciated, please look here on ([1]) section how to use a custom resolv.conf file

Save and close, now open /etc/resolv.conf. You should see a single namespace (most likely 10.1.1.1), this is the gateway to your router, which we need to connect to in order to get the DNS of your ISP. Paste the IP into your browser and login to your router. Go to the DNS section and you should see an IP in the Preferred DNS Server, copy it and paste it as a namespace ABOVE the current gateway one.

I.e. a resolv.conf should look something along the lines of

namespace 10.1.1.1

If my Primary DNS Server is 211.29.132.12 then chance resolv.conf to

namespace 211.29.132.12
namespace 10.1.1.1

Now restart the network daemon by doing Template:Codeline and do Template:Codeline, if it syncs fine with the server then problem solved

Něco více?

Fórum whirlpool (australská komunita ISP), ve kterém se o tomto problému hovoří a poskytuje to samé řešení:

http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html