Nastavení parametrů IP protokolu z příkazového řádku

Minule jsme se zabývali alternativní konfigurací IP protokolu ve Windows. Dnes si pojďme ukázat něco z podobného soudku. Zavítáme opět do konfigurace parametrů IP protokolu. Protentokrát se odprostíme od dialogů grafického prostředí Windows a seznámíme se s příkazy Příkazového řádku Windows, které zastanou jejich funkci a nastaví vše od IP adresy po sekundární DNS server.

A k čemu že je to vlastně dobré v praxi? Sílu řádkových příkazů poznáte v případě, kdy potřebujete změnit například IP adresu výchozí brány, ne na jednom, ale na více počítačích. Vytvoříte si dávkový soubor BAT obsahující požadovanou sekvenci příkazů a parametrů a spustíte ho na každém ze strojů. Postup se vám ale bude hodit i při přepínání mezi několika profily nastavení IP protokolu na vašem notebooku. Pro každý profil si jednoduše vytvoříte jeden .bat soubor, který za vás provede všechny změny nastavení síťového adaptéru.

A) Nastavení síťového adaptéru pro autokonfiguraci z DHCP serveru

Protokol DHCP je dnes velmi rozšířen. Dejme si za cíl nastavit pomocí příkazového řádku síťový adaptér pro automatické získávání IP adresy z DHCP serveru. Sérii příkazů uložíme pro snadné spouštění do dávkového souboru.

dhcp-vista

Postup pro Windows XP

  1. Stáhněte si textový editor PSPad (kvůli podpoře latin kódování). Nainstalujte ho a spusťte.
  2. Do nově otevřeného dokumentu vložte následující sekvenci příkazů:
  3. netsh interface ip set address name=”Připojení k místní síti” source=dhcp
    netsh interface ip set dns name=”Připojení k místní síti” source=dhcp
    ipconfig /flushdns
    ipconfig /renew “Připojení k místní síti”

    Příkaz netsh s parametrem interface slouží pro nastavení parametrů síťového adaptéru. My požadujeme získání veškerého nastavení z DHCP serveru. K tomu slouží první dva řádky. Zbylé dva řádky jsou spíše preventivního charakteru a zajišťují postupně vyčištění DNS mezipaměti a vynucení automatického získání nové IP adresy. Vše se týká síťového připojení s názvem Připojení k místní síti. Pokud jste jej přejmenovali nebo nese jiný název, upravte ve skriptu všechny tři výskyty.

  4. Protože po zkopírování výše uvedeného textu do editoru se chybně interpretují uvozovky, je potřeba všechny nahradit klasickým znakem dvojitých horních (“) uvozovek.
  5. V menu formát zvolte kódování latin II (CP852). Klávesovou zkratkou CTRL+S vyvolejte dialog pro uložení souboru.
  6. Jako název zvolte například dhcp.bat a klikněte na tlačítko Uložit.
  7. Po spuštění tohoto dávkového souboru získá připojení nazvané Připojení k místní síti IP nastavení z DHCP serveru.

Postup pro Windows Vista

Všechny kroky jsou shodné s postupem pro Windows XP. Liší se pouze podoba příkazů:

netsh interface ipv4 set address name=”Připojení k místní síti” source=dhcp
netsh interface ipv4 set dnsserver name=”Připojení k místní síti” source=dhcp
ipconfig /flushdns
ipconfig /renew “Připojení k místní síti”

B) Nastavení síťového adaptéru statickými parametry

Může se stát, že od poskytovatele připojení k síti obdržíte určitou konkrétní IP adresu (10.0.5.3), masku podsítě (255.255.255.248), adresu výchozí brány (10.0.5.1) a IP adresy DNS serverů (10.0.5.1,10.0.0.100). V grafickém prostředí vypadá nastavení takto. I tyto hodnoty lze ale adaptéru přiřadit sérií řádkových příkazů.

static-vista

Postup pro Windows XP

  1. Stáhněte si textový editor PSPad (kvůli podpoře latin kódování). Nainstalujte ho a spusťte.
  2. Do nově otevřeného dokumentu vložte následující sekvenci příkazů:
  3. netsh interface ip set address name=”Připojení k místní síti” static 10.0.5.3 255.255.255.248 10.0.5.1 1
    netsh interface ip set dns name=”Připojení k místní síti” static 10.0.5.1 primary
    netsh interface ip add dns name=”Připojení k místní síti” 10.0.0.100 2
    ipconfig /flushdns

    Všimněte si, že první z příkazů nastavuje statickou IP adresu, masku podsítě a výchozí bránu. Další dva řádky pak nesou údaje o IP adrese primárního a sekundárního DNS serveru.

  4. Protože po zkopírování výše uvedeného textu do editoru se chybně interpretují uvozovky, je potřeba všechny nahradit klasickým znakem dvojitých horních (“) uvozovek.
  5. V menu formát zvolte kódování latin II (CP852). Klávesovou zkratkou CTRL+S vyvolejte dialog pro uložení souboru.
  6. Jako název zvolte například static.bat a klikněte na tlačítko Uložit.
  7. Po spuštění tohoto dávkového souboru systém aplikuje staticky zadané IP nastavení na Připojení k místní síti.

Postup pro Windows Vista

Uplatněte stejný postup jako v případě Windows XP. Odlišnosti se vyskytují opět jen ve formátu příkazů:

netsh interface ipv4 set address name=”Připojení k místní síti” static 10.0.5.3 255.255.255.248 10.0.5.1 1
netsh interface ipv4 set dnsserver name=”Připojení k místní síti” static 10.0.5.1 primary
netsh interface ipv4 add dnsserver name=”Připojení k místní síti” 10.0.0.100 index=2
ipconfig /flushdns

Poznámka: Všechny ukázky vycházejí z předpokladu, že používáte českou verzi operačního systému a připojení k síti nese název Připojení k místní síti. Pokud tedy chcete nastavení uplatnit na bezdrátovém WiFi adaptéru, je potřeba do skriptů vložit jeho přesné označení.

Poznámka ke kódování

Windows používají v příkazovém řádku (cmd.exe) kódování latin II CP852. Vyskytují-li se v názvu připojení k síti české znaky, je nutné uložit skripty s tímto kódováním. Jinak budou české znaky interpretovány chybně a příkazy se nevykonají. Podporu CP852 obsahuje například český editor PSPad.

Skripty ke stažení

Skripty v elektronické podobě a ve správném kódování si můžete stáhnout tady.

Tento článek byl napsán pro časopis Computer.

Published by

Jiri Brejcha

Jiri is passionate about mobility ranging from Wi-Fi to folding bikes;-) He is a Wi-Fi Technical Solutions Architect at Cisco UK, proud member of the Cisco Live Network Operations Center deployment team, and WLAN Pi development team. If he is not working, he is most likely riding his Brompton bike. All opinions are my own, not Cisco's.

17 thoughts on “Nastavení parametrů IP protokolu z příkazového řádku”

  1. Dobrý den,
    chybička se vloudila: B -> postup pro Win XP -> 5. krok

    Určitě užitečný tip ;)

    Osobně místo jednotlivých .bat souborů pro každou síť používám jeden soubor a “síťový profil” volím zadáním indexu.

    Ať se daří.

  2. Dobry den,děkuji za pěkknou radu, ale ve vistách jsem narazil na problem s oprávněními,nevíte prosím jak se tomu vyhnout?
    Po každém bloku příkazu se objeví hláška “Požadovaná operace vyžaduje zvýšená oprávnění”. Účet bych měl mít s administrátorskými právy.díky

  3. zdravím má internet přez kabelovou televizy a koupil jsem router edimax br-6104kb vše v pořadku zapojil ale net nejde ani na jednom poradíte mi jak to sprovoznit prosí

  4. Dobrý den,

    bohužel žádná univerzální rada v tomto případě neexistuje. Prolém může být takřka v čemkoliv od špatného zapojení kabelu po chybné nastavení Vašeho operačního systému.

    Doporučuji se svěřit do rukou Vašeho PC servisu, který závadu odstraní přímo u Vás.

  5. jak zkousim ruzne konfigurace nahlasi to spatny rozsah … i kdyz pres prikazovy radek najdu presny nazev stejne to nejde mam XP PRO SP3. nějaká rada?

  6. @echo _____________________________________________
    @SET /P =StisknŘte Enter pro pokraźov nˇ.
    @echo (1/4) Nastavuje se adapt‚r. Vyźkejte prosˇm
    @netsh interface ip set address name=”Bezdr tov‚ pýipojenˇ k sˇti” source=static addr=192.168.15.220 mask=255.255.255.0

    tohle aspon funguje ..

  7. Dobrý den,

    díky za reakci. V čem tedy byl problém? Podle chyby “špatný rozsah” bych viděl problém spíše na chybné nastavení IP adresy nebo masky.

  8. Právě že né..Ip byla dobrá .

    tady:
    netsh interface ipv4 set address name=“Připojení k místní síti“ static 10.0.5.3 255.255.255.248 10.0.5.1 1

    moje:
    netsh interface ip set address name=“Bezdr tov‚ pýipojenˇ k sˇti“ source=static addr=192.168.15.220 mask=255.255.255.0

    nevím jestlí to záleží na SP nebo na tady tom addr= atd.. ale bádal sem dlouho a nabádal jsem tak že jsem si vyexportoval cely netsh a pak tam nasel co mam nastaveny ted a prepsal IP a uz to jelo ale nechapu proc to neslo jeste je moznost ze byl zadan nazev v jinem kodovani to me taky pak errorovalo .. pouziva se latina II (cp-852)

  9. Nepřehlédl jste se náhodou? Ve článku jsou postupy pro Windows Vista i XP. Můj příklad, který uvádíte, se váže k Vistě a pod Windows XP tedy nefunguje.

    Postupy uvedené v článku jsem testoval, takže by měly fungovat a neměly by záviset na Service Packu.

  10. Ano, omlouvám se přehlédl ,ale i tak váš postup mi nešel ,ale šel až ten jak sem ho vyexportoval z cmd ted nevim jak už byl ten prikaz myslím nejak netsh > ss.txt nebo tak nějak …..

    Postup pro Windows XP
    2. Do nově otevřeného okna Poznámkového bloku vložte následující sekvenci příkazů:

    netsh interface ip set address name=“Připojení k místní síti“ static 10.0.5.3 255.255.255.248 10.0.5.1 1

    Můj:
    netsh interface ip set address name=“Bezdr tov‚ pýipojenˇ k sˇti“ source=static addr=192.168.15.220 mask=255.255.255.0

    na první pohled v tom jsou rozdíly….

  11. Dobrý den,

    tak jsem vše otestoval na Windows XP. Mé ukázky plně fungují, bylo tu ovšem několik maličkostí, které jsem teď zapracoval i do článku:

    a) Po zkopírování kódu z webu do editoru se horní uvozovky nahradí jinými uvozovkami a je potřeba je ručně upravit nebo si stáhnout mnou napsané skripty.

    b) Notepad nepodporuje latin II, takže jsem článek upravil pro PSPad.

    Vaše vyexportovaná ukázka je samozřejmě také funkční. Děkuji za Vaše podněty.

  12. DObrý den
    Tenhle návod zkouším už tak po 5 a pořád nic…Mám problém stím když zapnu pc tak občas musím vyplnovat maska podsítě atd.Stále nevím co stým.Děkuji za rady a odpovědi.

  13. Dobrý den Michale,

    pokud si dobře vzpomínám Windows udrží nastavení provedené tímto způsobem pouze do vypnutí nebo restartování PC. Pokud byste chtěl nastavení měnit trvale, doporučuji si vyrobit dávkový soubor BAT, který se bude spouštět vždy po startu Windows.

  14. Dobrý den.Já řeším otázku jak nakonfigurovat pouze jen Bránu.
    Pokud toto máte udělat přes grafické rozhraní je to jednoduché prostě jen na karte “protokol sítě internet tcp/ip-vlastnosti”
    Kliknete na upřesnit a zde vyplníte jen bránu tím se vyplní jen brána ale,ip a maska bude na automatice.Jde o to ze ip chci od dhcp ale bránu chci zadat ručně.Pokud máte nějaký nápad budu rád díky.

  15. Ja som toto volakedy davno nasiel nejak som sa nezaoberal ako to funguje. Davam to sem ako odpoved na posledne dva dotazy, lebo teda funguje to trvalo aj po restarte aj vidno ako si mozete nastavit len branu.
    Je to v dvoch suboroch funkcne pre Windows XP. Nedavno som presiel na Windows 7, chcem si to upravit; predpokladam, ze staci zmenit riadok pushd interface ip na pushd interface ipv4 a mozno to skusim prerobit do jedneho suboru. No a diakritiku som riesil tak, ze som premenoval sietove pripojenie :-).

    Prvy subor static.cmd
    netsh exec static.txt

    Druhy subor static.txt
    #========================
    # Konfigurácia rozhrania
    #========================
    pushd interface

    reset all

    popd
    # Koniec konfigurácie rozhrania

    # ———————————-
    # Konfigur cia IP rozhrania
    # ———————————-
    pushd interface ip

    # Konfigurácia IP rozhrania pre “Local Area Connection”

    set address name=”Local Area Connection” source=static addr=10.0.0.4 mask=255.0.0.0
    set address name=”Local Area Connection” gateway=10.0.0.2 gwmetric=0
    set dns name=”Local Area Connection” source=static addr=10.0.0.2
    set wins name=”Local Area Connection” source=static addr=none

    popd
    # Koniec konfigurácie IP rozhrania

Leave a Reply to Scotty Cancel reply

Your email address will not be published. Required fields are marked *