<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CLI - TestHub.pl</title>
	<atom:link href="https://testhub.pl/tag/cli/feed/" rel="self" type="application/rss+xml" />
	<link>https://testhub.pl/tag/cli/</link>
	<description>Nowości Technologiczne - Testy, Opinie, Prezentacje, Recenzje</description>
	<lastBuildDate>Thu, 01 Feb 2018 10:52:55 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://testhub.pl/wp-content/uploads/2017/10/ico-80x80.png</url>
	<title>CLI - TestHub.pl</title>
	<link>https://testhub.pl/tag/cli/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 3</title>
		<link>https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-3/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Wed, 31 Jan 2018 14:47:09 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[edgeos]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[Ubiquiti Networks]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=4765</guid>

					<description><![CDATA[<p>Aktualizacja EdgeOS !!! Ostatni  odcinek skończył się pełnym sukcesem i wreszcie router ma dostęp do Internetu. Czas zatem na ważny moment. Z bliżej mi nieznanych przyczyn urządzenia, które kupowałem nawet...</p>
<p>Artykuł <a href="https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-3/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 3</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify">Aktualizacja EdgeOS !!!</h2>
<p style="text-align: justify">Ostatni  odcinek skończył się pełnym sukcesem i wreszcie router ma dostęp do Internetu. Czas zatem na ważny moment. Z bliżej mi nieznanych przyczyn urządzenia, które kupowałem nawet całkiem niedawno, mają bardzo starą wersję EdgeOS. Wręcz prehistoryczną. W momencie pisania tego tekstu aktualna wersja to 1.9.7 + hotfix 4 (hotfix&#8217;y to zupełnie nowy wynalazek, który pojawił się z wersją 1.9.7),  tymczasem na routerze znajdziemy:</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-4767" src="https://testhub.pl/wp-content/uploads/2017/12/show_system_image.png" alt="" width="661" height="160" srcset="https://testhub.pl/wp-content/uploads/2017/12/show_system_image.png 661w, https://testhub.pl/wp-content/uploads/2017/12/show_system_image-300x73.png 300w, https://testhub.pl/wp-content/uploads/2017/12/show_system_image-585x142.png 585w" sizes="(max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Tak, dobrze widzicie. Wersję z połowy 2013 roku, w routerze, który opuścił fabrykę w 2017 roku. Przy okazji, coraz częściej będę od Was oczekiwał samodzielności, więc albo dostaniecie zrzut ekranu i komendę, będziecie musieli odczytać z niego samodzielnie, albo podam Wam polecenie (szczególne jeśli będzie złożone), ale efekt jego działania zobaczycie dopiero jak sami z niego skorzystacie. Wracając zatem do aktualizacji.</p>
<h2 style="text-align: justify">Szukamy najnowszej wersji</h2>
<p style="text-align: justify">Celem sprawdzenia najnowszej wersji udajemy się na stronę WWW firmy <a href="https://www.ubnt.com/">Ubiquiti Networks</a> i wybieramy kolejno DOWNLOADS w górnym menu, z linii produktów EdgeMAX, a z menu po lewej model, czyli w moim wypadku jest to EdgeRouter Lite.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-4768" src="https://testhub.pl/wp-content/uploads/2017/12/download1-1024x752.png" alt="" width="1024" height="752" srcset="https://testhub.pl/wp-content/uploads/2017/12/download1-1024x752.png 1024w, https://testhub.pl/wp-content/uploads/2017/12/download1-300x220.png 300w, https://testhub.pl/wp-content/uploads/2017/12/download1-768x564.png 768w, https://testhub.pl/wp-content/uploads/2017/12/download1-585x430.png 585w, https://testhub.pl/wp-content/uploads/2017/12/download1.png 1056w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: justify">Po wybraniu wersji, do której chcemy zaktualizować system routera, wybieramy ikonę strzałki po prawej stronie, w kolumnie file, zatwierdzamy licencję EULA jeśli się pojawi (nie zawsze) i&#8230; nie, nie. Nic nie pobieramy. Klikamy na przycisk COPY URL.</p>
<h2 style="text-align: justify">Oczywiście, że CLI</h2>
<p style="text-align: justify">Jeśli spodziewaliście się pobierania pliku na swój komputer, wgrywania go przez FTP&#8217;a, to nic z tych rzeczy. Postawcie się w roli administratora, który musi to zrobić zdalnie, na urządzeniu, które może stać setki albo i tysiące kilometrów od niego. Przecież po to właśnie jest linia komend, by służyła w takiej sytuacji pomocą. Wydajemy zatem polecenie <strong><em>add system image</em></strong> i jeśli korzystacie z programu PuTTY to kliknięciem prawego klawisza myszy wklejacie zawartość schowka lub korzystacie ze skrótu, jaki przewidział producent aplikacji, z której korzystacie. W efekcie wasze polecenie dla wersji 1.9.7 hotfix 4 powinno wyglądać tak:</p>
<ul style="text-align: justify">
<li style="text-align: left"><strong><em>add system image https://dl.ubnt.com/firmwares/edgemax/v1.9.7/ER-e100.v1.9.7+hotfix.4.5024004.tar</em></strong></li>
</ul>
<p style="text-align: justify">Po zatwierdzeniu komendy rozpocznie się pobieranie nowej wersji oprogramowania, a jego postęp będzie na bieżąco aktualizowany:</p>
<p><img decoding="async" class="aligncenter size-full wp-image-4773" src="https://testhub.pl/wp-content/uploads/2017/12/download_progress.png" alt="" width="661" height="340" srcset="https://testhub.pl/wp-content/uploads/2017/12/download_progress.png 661w, https://testhub.pl/wp-content/uploads/2017/12/download_progress-300x154.png 300w, https://testhub.pl/wp-content/uploads/2017/12/download_progress-585x301.png 585w" sizes="(max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Po pobraniu oprogramowania zostanie ono sprawdzone na wypadek ewentualnych błędów i jeśli takowe nie wystąpiły nastąpi aktualizacja zakończona stosownym komunikatem:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4774" src="https://testhub.pl/wp-content/uploads/2017/12/upgrade_completed.png" alt="" width="661" height="340" srcset="https://testhub.pl/wp-content/uploads/2017/12/upgrade_completed.png 661w, https://testhub.pl/wp-content/uploads/2017/12/upgrade_completed-300x154.png 300w, https://testhub.pl/wp-content/uploads/2017/12/upgrade_completed-585x301.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Zwróćcie uwagę, że aktualizacji dokonujemy z trybu operacyjnego a nie konfiguracyjnego! Oczywiście nowa wersja systemu zostanie wczytana po ponownym uruchomieniu routera, a zatem wydajemy polecenie <em><strong>reboot</strong></em>, które należy potwierdzić.</p>
<h2 style="text-align: justify">Sprawdzam</h2>
<p style="text-align: justify">Korzystając z poznanej już na wstępie komendy, sprawdzamy efekt naszych działań:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4775" src="https://testhub.pl/wp-content/uploads/2017/12/after_upgrade.png" alt="" width="661" height="214" srcset="https://testhub.pl/wp-content/uploads/2017/12/after_upgrade.png 661w, https://testhub.pl/wp-content/uploads/2017/12/after_upgrade-300x97.png 300w, https://testhub.pl/wp-content/uploads/2017/12/after_upgrade-585x189.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Widać, że nowa wersja została zainstalowana, jest aktualnie uruchomiona (running boot) i zostanie również wczytana przy kolejnym uruchomieniu routera (default boot). Co istotne, na wszelki wypadek stara wersja również jest dostępna na FLASH-u.</p>
<p style="text-align: justify"><strong>Zadanie domowe</strong>: jak zmusić router, by przy kolejnym uruchomieniu ponownie załadował stary obraz systemu? Mała podpowiedź: pamiętajcie o znaku zapytania i zwróćcie uwagę, że w trybie operacyjnym też jest dostępna komenda <em><strong>set</strong></em>. Dalej jest już z górki <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h2 style="text-align: justify">Kopia zapasowa to podstawa</h2>
<p style="text-align: justify">Należy mieć na uwadze, że migracja konfiguracji jest jednokierunkowa. To znaczy jeśli podnosimy wersję EdgeOS, to konfiguracja zostanie &#8222;przepisana&#8221; z uwzględnieniem zmian jakie zaszły w składni. Operacja ta nie jest odwracalna, dlatego zawsze przed aktualizacją warto wykonać kopię zapasową konfiguracji, by móc do niej wrócić, jeśli zajdzie potrzeba przywrócenia starej wersji oprogramowania. Niestety z tego co wiem, nie istnieje równie prosta metoda pobrania pełnej kopii zapasowej z CLI i do tego celu należy posłużyć się GUI. Co nie znaczy, że dla chcącego nic trudnego. Tym bardziej ambitnym podpowiem, że plik konfiguracyjny znajdą w lokalizacji <strong>/config/config.boot</strong>. Inna opcja to wyświetlenie bieżącej konfiguracji w postaci zestawu poleceń konfiguracyjnych, które można w prosty sposób skopiować, czy to między urządzeniami, czy do pliku. Służy do tego komenda <strong>show configuration commands</strong>.</p>
<h2 style="text-align: justify">To jeszcze nie koniec</h2>
<p style="text-align: justify">Co prawda temat &#8222;podstaw&#8221; wyczerpaliśmy, nie znaczy to jednak końca przygód z routerami Ubiquiti. Wręcz przeciwnie, wiele jeszcze zostało do omówienia, ale będą to już tematy nieco bardziej zaawansowane, jak konfiguracja firewall&#8217;a, VLAN&#8217;y, VPN&#8217;y&#8230; Będziemy korzystać zarówno z CLI, jak i graficznego interfejsu użytkownika (GUI). I tak dalej. Także zaglądajcie regularnie na TestHub.pl po kolejne poradniki. I piszcie w komentarzach, co Was szczególnie interesuje.</p>
<p>Artykuł <a href="https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-3/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 3</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 2</title>
		<link>https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-2/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Tue, 12 Dec 2017 17:26:46 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[edgeos]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[Ubiquiti Networks]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=4254</guid>

					<description><![CDATA[<p>Ogłoszenia parafialne 😉 Zanim przejdziemy dalej, taka mała uwaga organizacyjna. Jeśli jakieś zagadnienia są dla Was obce lub niejasne i wymagają objaśnienia, zadawajcie pytania w komentarzach, ale zachęcam też do samodzielnego...</p>
<p>Artykuł <a href="https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-2/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 2</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify">Ogłoszenia parafialne <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h2>
<p style="text-align: justify">Zanim przejdziemy dalej, taka mała uwaga organizacyjna. Jeśli jakieś zagadnienia są dla Was obce lub niejasne i wymagają objaśnienia, zadawajcie pytania w komentarzach, ale zachęcam też do samodzielnego poszukiwania odpowiedzi w Internecie. Tak zdobyta wiedza daje dużą satysfakcję i zostaje na dłużej. Dajcie też znać, czy poruszane zagadnienia są dla Was ciekawe.</p>
<h2 style="text-align: justify">Czas na show!</h2>
<p style="text-align: justify">Z lektury <a href="https://testhub.pl/cmd-edgeos-cz1/">pierwszej części</a> wiecie już, jakie są tryby pracy CLI oraz jak przejść do edycji konfiguracji, zatwierdzić zmiany czy zapisać je w konfiguracji startowej. A jak wyświetlić podstawowe informacje o urządzeniu, czyli sprawdzić jego konfigurację czy adresację interfejsów? Służy temu komenda <em>&#8222;<strong>show&#8221;</strong></em> z dodatkowymi opcjami. I tak bieżącą konfigurację wyświetla polecenie <em>&#8222;<strong>show configuration&#8221;</strong></em>.<em><strong> </strong></em>Poniżej wynik tej komendy na routerze EdgeRouter Lite z konfiguracją domyślną (czyli po wyjęciu z pudełka lub przywróceniu ustawień fabrycznych).</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4260 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/show_configuration.png" alt="show configuration" width="661" height="934" srcset="https://testhub.pl/wp-content/uploads/2017/12/show_configuration.png 661w, https://testhub.pl/wp-content/uploads/2017/12/show_configuration-212x300.png 212w, https://testhub.pl/wp-content/uploads/2017/12/show_configuration-585x827.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Jak widać, konfiguracja przywodzi na myśl jakiś język programowania i początkowo może wydawać się straszna, ale z czasem nie będzie miała dla was żadnych tajemnic. Widać, że jest podzielona na sekcje, a wcięcia oznaczają szczegóły konfiguracji danego elementu. I tak, konfiguracja interfejsów to sekcja <em>&#8222;interfaces&#8221;</em>, która zawiera interfejsy Ethernet oznaczone kolejno <em>&#8222;</em><em>eth0&#8243;</em>, <em>&#8222;</em><em>eth1&#8243;</em> oraz <em>&#8222;</em><em>eth2&#8243;</em>, jak i interfejs loopback.<em> </em>Jak widać, tylko interfejs <em>&#8222;</em><em>eth0&#8243;</em> posiada dodatkowe opcje, w tym wypadku jest to adres IP i maska, odpowiednio <em>192.168.1.1</em> oraz <em>255.255.255.0</em> (bo właśnie taka maska to inaczej 24 bity).</p>
<h2 style="text-align: justify">Adresacja interfejsów</h2>
<p style="text-align: justify">Skoro potrafimy już modyfikować konfigurację, a w pierwszej części w przykładach kasowaliśmy i dodawaliśmy adresy, to dostosujmy konfigurację routera do naszych potrzeb. Przyjmijmy, że chcemy, aby interfejs <em>&#8222;</em><em>eth0&#8243;</em> był interfejsem do sieci Internet (WAN) i uzyskiwał adres automatycznie z DHCP, a na interfejsie <em>&#8222;</em><em>eth1&#8243;</em> chcemy skonfigurować naszą sieć lokalną (LAN) z adresem 192.168.100.1 i maską 255.255.255.0. Poniżej lista komend które musimy wydać, plus krótki komentarz:</p>
<ul style="text-align: justify">
<li><strong style="font-style: italic">&#8222;configure&#8221;</strong> &#8211;<em><strong> </strong></em>aby przejść do trybu konfiguracji,</li>
<li><strong style="font-style: italic">&#8222;delete interfaces ethernet eth0 address 192.168.1.1/24&#8221;</strong> &#8211;<em><strong> </strong></em>musimy skasować niepotrzebny nam adres,</li>
<li><strong style="font-style: italic">&#8222;set interfaces ethernet eth0 address dhcp&#8221;</strong> &#8211;<em><strong> </strong></em>konfigurujemy interfejs <em>&#8222;eth0&#8221;</em> na pobieranie adresu z DHCP,</li>
<li><strong style="font-style: italic">&#8222;set interfaces ethernet eth1 address 192.168.100.1/24&#8221;</strong> &#8211;<em><strong> </strong></em>nadajemy adres interfejsowi <em>&#8222;eth1&#8221;</em>,</li>
<li><em><strong>&#8222;commit&#8221;</strong></em> &#8211;<em><strong> </strong></em>zatwierdzamy zmiany.</li>
</ul>
<p style="text-align: justify">Rezultat zmian możecie zweryfikować znanym już poleceniem <em><strong>&#8222;</strong><strong>show configuration&#8221;</strong></em>, ale w tym wypadku miałoby ono jedną wadę. Mianowicie poznalibyście konfigurację bieżącą interfejsów, ale zamiast adresu interfejsu <em>&#8222;eth0&#8221;</em>, uzyskalibyście tylko informację, że ma on być pobrany z DHCP. Zmieńmy zatem komendę na <em><strong>&#8222;</strong><strong>show interfaces&#8221;</strong></em>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4262 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/show_interfaces.png" alt="show interfaces" width="661" height="250" srcset="https://testhub.pl/wp-content/uploads/2017/12/show_interfaces.png 661w, https://testhub.pl/wp-content/uploads/2017/12/show_interfaces-300x113.png 300w, https://testhub.pl/wp-content/uploads/2017/12/show_interfaces-585x221.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Tak jest znacznie lepiej, widzimy listę interfejsów (Interface), ich adresy IP (IP Address) oraz ich stan (S/L), plus ewentualny opis (Description). Czym są te dwie ostatnie kolumny? Pierwsza z nich &#8211; S/L, informuje nas o tym, czy interfejs jest administracyjnie włączony (u, z ang. Up) czy wyłączony (A, z ang. Admin Down) oraz jaki jest status linku &#8211; aktywny (u) lub nieaktywny (D, z ang. Down). Na czym polega różnica? Link to stan fizyczny &#8211; urządzenie sprawdza, czy jest połączone z innym, natomiast stan administracyjny to możliwość celowego włączenia lub wyłączenia interfejsu przez użytkownika. Ostatnie pole pozwala na dodanie do interfejsu krótkiego komentarza, co niewątpliwe ułatwi w przyszłości nam lub innym osobom zrozumienie konfiguracji.</p>
<h2 style="text-align: justify">Zostaw sobie wiadomość</h2>
<p style="text-align: justify">Każdy programista wie, jakim koszmarem jest czytanie kodu, nawet własnego, pozbawionego komentarzy. Dla administratora sieci podobny koszmar to brak jakiejkolwiek dokumentacji. Skoro zatem mamy taką możliwość, zostawmy sobie (lub innym) wiadomość, by w przyszłości mieć prostsze zadanie. Komenda, której użyjemy ma postać <em><strong>&#8222;</strong><strong>set interfaces ethernet ethX description 'komentarz'&#8221;</strong></em>,<em><strong> </strong></em>gdzie <em>&#8222;x&#8221;</em> oznacza oczywiście numer interfejsu. Przy okazji wyłączmy nieużywany interfejs &#8222;<em>eth2&#8243;</em> poleceniem <em><strong>&#8222;set interfaces ethernet eth2 disable&#8221;</strong></em> i porównajmy wynik z wcześniejszym:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4266 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/interface_description.png" alt="description" width="661" height="502" srcset="https://testhub.pl/wp-content/uploads/2017/12/interface_description.png 661w, https://testhub.pl/wp-content/uploads/2017/12/interface_description-300x228.png 300w, https://testhub.pl/wp-content/uploads/2017/12/interface_description-585x444.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Czyż tak nie jest zdecydowanie lepiej? Od razu wiemy, który interfejs jaką rolę pełni, a nawet dodaliśmy informację o operatorze. Nie ma to wielkiego znaczenia, gdy korzystamy z jednego ISP, ale gdybyśmy mieli dwa interfejsy WAN do dwóch dostawców, wtedy na pewno w przyszłości docenimy własną zapobiegliwość. Widzimy również, że stan interfejsu <em>&#8222;eth2&#8221;</em> został oznaczony literką &#8222;A&#8221;, czyli wyłączony przez administratora. Tak na marginesie, wyłączanie nieużywanych interfejsów jest dobrą praktyką, zapobiegającą ewentualnym problemom, gdyby ktoś inny lub nawet sami w pośpiechu, roztargnieniu lub z innego powodu, wpięlibyśmy tam jakiś niewłaściwy kabelek.</p>
<h2 style="text-align: justify">Interfejs myszki Miki</h2>
<p style="text-align: justify">Ci najbardziej zniecierpliwieni mogą wreszcie odetchnąć z ulgą, uruchomić przeglądarkę i po zaadresowaniu karty sieciowej w podsieci 192.168.100.0/24 i skierowaniu się pod adres <strong><em>https://192.168.100.1</em></strong> skorzystać z graficznego interfejsu użytkownika. Oczywiście w przypadku powyższej konfiguracji kabel Ethernet wpiąć należy do interfejsu <em>&#8222;eth1&#8221;</em>. Przy pierwszym skorzystaniu z interfejsu webowego pojawi się komunikat jak niżej z prośbą o zaakceptowanie licencji użytkownika.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4270 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/GUI1.png" alt="GUI" width="930" height="662" srcset="https://testhub.pl/wp-content/uploads/2017/12/GUI1.png 930w, https://testhub.pl/wp-content/uploads/2017/12/GUI1-300x214.png 300w, https://testhub.pl/wp-content/uploads/2017/12/GUI1-768x547.png 768w, https://testhub.pl/wp-content/uploads/2017/12/GUI1-585x416.png 585w" sizes="auto, (max-width: 930px) 100vw, 930px" /></p>
<p style="text-align: justify">Zapominalskim przypominam, że domyślny login i hasło to <em>ubnt.</em></p>
<h2 style="text-align: justify">Routing</h2>
<p style="text-align: justify">Jeśli jednak spodobała się Wam praca z CLI to zapraszam do dalszej lektury. Czego jeszcze potrzebujemy, by móc wreszcie skorzystać z Internetu? Tak, dobrze słyszę, ktoś krzyczy o bramie i/lub routingu? Oczywiście, nasz router musi wiedzieć dokąd kierować ruch. Ale zaraz zaraz, czy on na pewno tego już nie wie? Możemy to sprawdzić wyświetlając tablicę routingu poleceniem <strong><em>&#8222;show ip route&#8221;</em></strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4279 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/show_route.png" alt="show ip route" width="661" height="232" srcset="https://testhub.pl/wp-content/uploads/2017/12/show_route.png 661w, https://testhub.pl/wp-content/uploads/2017/12/show_route-300x105.png 300w, https://testhub.pl/wp-content/uploads/2017/12/show_route-585x205.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Ależ wie, dzięki DHCP. Oczywiście nie zawsze jest tak dobrze, że dostawca udostępnia DHCP i czasem musimy adresację i bramę ustawić ręcznie. Adresację już omówiliśmy, zatem pozostaje kwestia bramy. Można ją skonfigurować na dwa sposoby &#8211; oba równie dobre i dające ten same efekt.</p>
<ul style="text-align: justify">
<li><em><strong>&#8222;set system gateway-address 172.23.0.1&#8221;</strong></em></li>
</ul>
<p style="text-align: justify">lub</p>
<ul style="text-align: justify">
<li><em><strong>&#8222;set protocols static route 0.0.0.0/0 next-hop 172.23.0.1&#8221;</strong></em></li>
</ul>
<p style="text-align: justify">Jak wspomniałem efekt, czy to będzie adres uzyskany z DHCP, czy skonfigurowany jedną z tych dwóch komend, będzie taki sam. Po prostu, ta pierwsza komenda jest prostsza do zapamiętania i zrozumienia przez mniej zaawansowanych użytkowników, dla których zagadnienia routingu statycznego i dynamicznego brzmią jak czarna magia i niekoniecznie wiedzą lub chcą wiedzieć co oznacza adres sieci 0.0.0.0/0.</p>
<h2 style="text-align: justify">Serwery DNS</h2>
<p style="text-align: justify">Analogicznie do bramy domyślnej wygląda kwestia serwera(ów) DNS lub jeśli ktoś woli serwera(ów) nazw (z ang. name server). Jeśli korzystamy z DHCP, wówczas router pobierze je automatycznie. W przeciwnym wypadku musimy je dodać sami komendą <em><strong>&#8222;</strong><strong>set system name-server x.x.x.x&#8221; </strong></em>gdzie &#8222;x.x.x.x&#8221; to oczywiście adres IP serwera DNS. Jeśli chcemy dodać więcej niż jeden serwer, kolejne dodajemy ponownie wprowadzając tę komendę. Ja zachęcam do skorzystania z serwerów OpenDNS, których adresy to 208.67.222.222 oraz 208.67.220.220. Wystrzegajcie się natomiast tak popularnych serwerów firmy Google o adresach 8.8.8.8 oraz 8.8.4.4, gdyż jest to jeden ze sposobów szpiegowania Was przez tę firmę i serwowania Wam reklam, między innymi w oparciu o odwiedzane przez Was strony. Przykład konfiguracji serwerów OpenDNS:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4304 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/set_name_serwer.png" alt="name-server" width="661" height="178" srcset="https://testhub.pl/wp-content/uploads/2017/12/set_name_serwer.png 661w, https://testhub.pl/wp-content/uploads/2017/12/set_name_serwer-300x81.png 300w, https://testhub.pl/wp-content/uploads/2017/12/set_name_serwer-585x158.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<h2 style="text-align: justify">NAT</h2>
<p style="text-align: justify">Tak skonfigurowany router będzie już miał dostęp do Internetu, co możemy zweryfikować poleceniem <em><strong>&#8222;</strong><strong>ping&#8221;</strong></em>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4308 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/ping.png" alt="ping" width="661" height="466" srcset="https://testhub.pl/wp-content/uploads/2017/12/ping.png 661w, https://testhub.pl/wp-content/uploads/2017/12/ping-300x211.png 300w, https://testhub.pl/wp-content/uploads/2017/12/ping-585x412.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Możecie w tym miejscu spytać, czemu najpierw robię ping dla adresu IP, a potem dla domeny? Z bardzo prostej przyczyny &#8211; brak odpowiedzi na ping na znany adres IP, o którym wiemy, że nie filtruje zapytań ICMP pozwala sprawdzić czy mamy poprawną adresację i czy wszystko działa, natomiast ping nazwy pozwala sprawdzić, czy poprawna jest konfiguracja serwerów nazw i otrzymujemy od nich odpowiedź. Jeśli jednak ten sam manewr wykonalibyście z komputera, okaże się, że test zakończy się niepowodzeniem. Tak, tak, została jeszcze jedna rzecz do skonfigurowania czyli NAT lub jak wolą inni PAT, a miłośnicy Linuksa zakrzykną maskarada (z ang. masquerade), bo przecież w Linuksie wszystko musi być inaczej ;P Wydajemy więc komendy:</p>
<ul style="text-align: justify">
<li><em><strong>&#8222;set service nat rule 5000 outbound-interface eth0&#8221;</strong></em>,</li>
<li><em><strong>&#8222;set service nat rule 5000 protocol all&#8221;</strong></em>,</li>
<li><em><strong>&#8222;set service nat rule 5000 type masquerade&#8221;</strong></em>.</li>
</ul>
<p style="text-align: justify">Bardziej zaawansowaną konfigurację mechanizmów NAT jeszcze omówimy, więc w skrócie, powyższe komendy tworzą regułę numer 5000. Nie jest on przypadkowy, EdgeOS narzuca zakresy numeracji w zależności od rodzaju NATu i w przypadku nie zastosowania się do wytycznych, po prostu dostaniemy komunikat błędu. Reguła, którą utworzyliśmy mówi, aby stosować maskaradę (dynamiczny NAT adresów źródłowych), dla wszystkich protokołów, dla pakietów wychodzących interfejsem <em>&#8222;eth0&#8221;.</em></p>
<p style="text-align: justify">Sukces, udało się nam skonfigurować router z systemem EgdeOS do obsługi Internetu <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ale zanim zaczniecie świętować. profilaktycznie zmieńcie użytkownika i hasło:</p>
<ul style="text-align: justify">
<li><em><strong>&#8222;set system login user testhub authentication plaintext-password 'haslo'&#8221;</strong></em>.</li>
</ul>
<p style="text-align: justify">Konieczne jest też usunięcie użytkownika <em>&#8222;ubnt&#8221;</em>, ale nie uda się wam tego zrobić bez wylogowania i zalogowania jako nowy, przed chwilą dodany użytkownik <em>&#8222;testhub&#8221;, </em>gdyż otrzymacie komunikat błędu <em>&#8222;Attempting to delete current user: ubnt&#8221;. </em>Zatem wydajemy polecenie <strong><em>&#8222;exit&#8221;</em></strong> w trybie operacyjnym, co spowoduje wylogowanie i logujemy się już jako nowy użytkownik.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4327 size-full" src="https://testhub.pl/wp-content/uploads/2017/12/new_user.png" alt="new user" width="661" height="430" srcset="https://testhub.pl/wp-content/uploads/2017/12/new_user.png 661w, https://testhub.pl/wp-content/uploads/2017/12/new_user-300x195.png 300w, https://testhub.pl/wp-content/uploads/2017/12/new_user-585x381.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify">Przypominam o zapisaniu konfiguracji! I jeszcze ważna uwaga. Gdybyście po dodaniu użytkownika zajrzeli do konfiguracji to odkryjecie, że hasło, które przed chwilą podaliście jawnym tekstem, w konfiguracji jest zaszyfrowane. Również w pliku z kopią zapasową jest ono nie do odczytania (dla dociekliwych jego fragment wygląda tak: $6$Xzz6titfBc$SVwMWbuZAk3oBZPFbZKWjKSP87gCjsQ&#8230;.), zatem warto je zapamiętać, bo w przypadku jego utraty konieczny będzie restart urządzenia do ustawień fabrycznych, co oznacza pożegnanie się z konfiguracją, często długo dopieszczaną i dopracowywaną.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4762" src="https://testhub.pl/wp-content/uploads/2017/12/password.png" alt="" width="661" height="178" srcset="https://testhub.pl/wp-content/uploads/2017/12/password.png 661w, https://testhub.pl/wp-content/uploads/2017/12/password-300x81.png 300w, https://testhub.pl/wp-content/uploads/2017/12/password-585x158.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<h2 style="text-align: justify">Podsumowanie</h2>
<p style="text-align: justify">Nie, tym razem nie będę przypominał wszystkich komend jeszcze raz. Za to zachęcam do przećwiczenia ich celem utrwalenia, zabawy ze zmianą adresacji i odkrywania dodatkowych opcji, które podpowie wam znak zapytania. Na zachętę zdradzę komendę <strong><em>&#8222;</em><em>show configuration all&#8221;</em></strong>. Napiszcie w komentarzach swoimi słowami, czym różni się jej wynik od samego <em><strong>&#8222;</strong><strong>show configuration&#8221;</strong></em>.</p>
<p>Artykuł <a href="https://testhub.pl/podstawy-pracy-interfejsem-linii-komend-cli-systemu-edgeos-czesc-2/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS – część 2</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS &#8211; część 1</title>
		<link>https://testhub.pl/cmd-edgeos-cz1/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Sat, 09 Dec 2017 07:31:24 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[edgeos]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[Ubiquiti Networks]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=3930</guid>

					<description><![CDATA[<p>Historia systemu EdgeOS System operacyjny routerów serii EdgeMax firmy Ubiquiti Networks, nosi nazwę EdgeOS. Bazuje on na Debian GNU Linux, przy czym posiada własny command line do konfigurowania wszystkich usług, dzięki czemu...</p>
<p>Artykuł <a href="https://testhub.pl/cmd-edgeos-cz1/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS &#8211; część 1</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify;">Historia systemu EdgeOS</h2>
<p style="text-align: justify;">System operacyjny routerów serii EdgeMax firmy Ubiquiti Networks, nosi nazwę EdgeOS. Bazuje on na Debian GNU Linux, przy czym posiada własny <em>command line</em> do konfigurowania wszystkich usług, dzięki czemu nie musimy sięgać do plików konfiguracyjnych każdej usługi systemu Linux z osobna oraz interfejsu graficznego (GUI). Swoimi korzeniami EdgeOS sięga projektu VyattaOS w wersji 6.3 <em>community edition</em> (system dostępny był w niekomercyjnej edycji <em>community</em> oraz jako produkt komercyjny). Świadomie i celowo unikam określenia EdgeOS jako fork&#8217;a systemu VyattaOS z dwóch powodów. W świecie <em>free and open source software</em> przyjmuje się, że fork to projekt rozwijany równolegle i okresowo aktualizowany względem swojego pierwotnego źródła. I tak forkiem Ubuntu jest Kubuntu, przy czym oba projekty są rozwijane równolegle, sięgają do tych samych repozytoriów, a kolejne wersje wydawane są w podobnym cyklu. Taka zależność nie zachodzi pomiędzy EdgeOS a VyattaOS, ponieważ ten drugi system nie jest już rozwijany (powstał co prawda projekt VyOS, ale to już temat na inną okazję), w konsekwencji zakupu firmy Vyatta przez Brocade w 2012 roku. Ostatnia wersja VyattaOS 6.6 wydana została w maju 2013 roku. Zatem właściwie od początku, bo EdgeOS w wersji 1.0.2 wydany został 7 listopada 2012 roku, rozwijany jest jako osobny projekt.</p>
<h2 style="text-align: justify;">Tryb operacyjny i tryb konfiguracji</h2>
<p style="text-align: justify;">Po zalogowaniu do systemu (poprzez port konsoli, z użyciem protokołu SSH lub z poziomu okna terminala w GUI), lądujemy w trybie nazwanym przez producenta &#8222;operacyjnym&#8221; (z ang. <em>operational mode</em>), który rozpoznajemy po znaku zgłoszenia (z ang. <em>prompt</em>) &#8222;<em><strong>admin@CERBER:~$&#8221;</strong></em>,<em><strong> </strong></em>zakończonym symbolem &#8222;<em><strong>$&#8221;. </strong></em>Tak przy okazji, prompt składa się z nazwy użytkownika oraz nazwy hosta, w tym wypadku jest to użytkownik &#8222;<em><strong>admin&#8221;</strong></em>, na hoście o nazwie &#8222;<em><strong>CERBER&#8221;</strong></em>. Listę wszystkich dostępnych w tym trybie komend uzyskamy przez wprowadzenie w terminalu znaku zapytania &#8222;<strong><em>?&#8221;</em></strong>,  co poskutkuje wyświetleniem samych nazw komend, a jeśli ponownie wprowadzimy znak zapytania, efektem będzie lista w postaci komend, z ich krótkim opisem. Zatem zobaczmy, jak to działa w praktyce (w terminalu nie widać znaków zapytania wprowadzonych z klawiatury).</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3931" src="https://testhub.pl/wp-content/uploads/2017/12/lista_komend.png" alt="" width="661" height="754" srcset="https://testhub.pl/wp-content/uploads/2017/12/lista_komend.png 661w, https://testhub.pl/wp-content/uploads/2017/12/lista_komend-263x300.png 263w, https://testhub.pl/wp-content/uploads/2017/12/lista_komend-585x667.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify;">Więcej o poszczególnych komendach opowiem w kolejnych częściach cyklu, natomiast na tym etapie poznawania CLI najważniejsza z nich to &#8222;<em><strong>configure&#8221;</strong></em>, która pozwala przejść do trybu konfiguracji (z ang. <em>configuration mode</em>). O zmianie trybu informuje zmieniony znak zgłoszenia na &#8222;<strong><em>#&#8221;</em></strong>. Poniższy obrazek prezentuje, jak taka operacja wygląda w praktyce i od razu skorzystajmy z podpowiedzi, którą już wiecie jak uzyskać.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3932" src="https://testhub.pl/wp-content/uploads/2017/12/tryb_konfiguracji.png" alt="" width="661" height="754" srcset="https://testhub.pl/wp-content/uploads/2017/12/tryb_konfiguracji.png 661w, https://testhub.pl/wp-content/uploads/2017/12/tryb_konfiguracji-263x300.png 263w, https://testhub.pl/wp-content/uploads/2017/12/tryb_konfiguracji-585x667.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify;">Z trybu konfiguracji do trybu operacyjnego wracamy komendą &#8222;<em><strong>exit&#8221;</strong></em>.</p>
<h2 style="text-align: justify;">Hello world!</h2>
<p style="text-align: justify;">Nie, programować nie będziemy, ale spróbujmy coś wreszcie skonfigurować. Kluczową komendą, która pozwala ustawić wartość parametru lub stworzyć nowy element to &#8222;<em><strong>set&#8221;</strong></em>.  Jeśli zatem chcielibyśmy zmienić nazwę hosta, powiedzmy na &#8222;testhub&#8221;, to w trybie konfiguracji trzeba użyć komendy &#8222;<em><strong>set system host-name testhub&#8221;</strong></em>.<em><strong> </strong></em>Tak, wiem, poza set pojawiło się jeszcze kilka opcji, których nie znacie, ale wszystko z czasem się wyjaśni. Co bardzo ważne, samo wydanie tego polecenia nie spowoduje absolutnie żadnych zmian. Osoby przyzwyczajone do pracy z CLI Cisco, mogą w tym momencie być nieco zaskoczone, zaś te zaznajomione, np. z CLI Junipera, poczują się prawie jak w domu. Otóż zmiany (może być ich wiele) musimy zatwierdzić komendą &#8222;<em><strong>commit&#8221;</strong></em>.<em><strong> </strong></em>Rozwiązanie to ma swoje zalety &#8211; wybiegnę tu trochę do przodu, ale chcę, żebyście zrozumieli istotę tego rozwiązania. Powiedzmy, że potrzebujecie zmienić adres IP interfejsu WAN pracując zdalnie. Kroki, jakie w tym celu trzeba uczynić, to usunąć stary adres i dodać nowy. Czyli w tym wypadku, byłyby to kolejno komendy &#8222;<em><strong>delete interfaces ethernet eth0 address stary_adres_IP&#8221;</strong></em> i zaraz po niej &#8222;<em><strong>set interfaces ethernet eth0 address nowy_adres_IP&#8221;</strong></em>.<em><strong> </strong></em>Już macie pomysł, czemu bez &#8222;<em><strong>commit&#8221;</strong></em> mielibyśmy problem? Gdyby pierwsza komenda została wykonana od razu po wprowadzeniu, interfejs straciłby adres IP i odcięlibyśmy się od routera, zanim zdążylibyśmy wprowadzić nowy adres IP. Dzięki temu, że zmiany są wykonywane dopiero po poleceniu &#8222;<em><strong>commit&#8221;</strong></em>,<em><strong> </strong></em>możemy wprowadzić wszystkie zaplanowane zmiany i dopiero na koniec niejako nakazać ich wykonanie. W praktyce wyglądałoby to tak:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3933" src="https://testhub.pl/wp-content/uploads/2017/12/set_commit_save.png" alt="" width="661" height="160" srcset="https://testhub.pl/wp-content/uploads/2017/12/set_commit_save.png 661w, https://testhub.pl/wp-content/uploads/2017/12/set_commit_save-300x73.png 300w, https://testhub.pl/wp-content/uploads/2017/12/set_commit_save-585x142.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify;">Uważni czytelnicy, zapewne zauważyli jeszcze jedną komendę, mianowicie &#8222;<em><strong>save&#8221;</strong></em>.<em><strong> </strong></em>Popularnie stosowane urządzenia domowe, czasem pogardliwie nazywane &#8222;mydelniczkami&#8221; (zapewne z racji kształtu i plastikowej obudowy), mają tę cechę, moim zdaniem brzydką, że od razu wszystkie wprowadzone zmiany zapisują. Czemu brzydką? Bo jak coś popsujemy w konfiguracji, to często zostaje tylko reset do ustawień fabrycznych. Dlatego te bardziej zaawansowane urządzenia, posiadają zazwyczaj niezależnie dwie konfiguracje &#8211; bieżącą, czyli tę, którą modyfikujemy i startową, czyli tą, z którą urządzenie się uruchomiło. Aby zmiany dokonane w konfiguracji bieżącej utrwalić w konfiguracji startowej, należy je zapisać i temu jak się zapewne już domyśliliście, służy komenda &#8222;<em><strong>save&#8221;</strong></em>.<em><strong> </strong></em>Jej odpowiednikiem, np. w CLI Cisco jest &#8222;<em><strong>copy running-config startup-config&#8221;</strong></em>.</p>
<h2 style="text-align: justify;">Tylko bez paniki ;(</h2>
<p style="text-align: justify;">Jak się ratować w sytuacji, gdy zdarzy się wam błąd? Jedną z opcji poznaliście &#8211; przed zapisaniem konfiguracji zawsze można ratować się restartem urządzenia. Jest to jednak rozwiązanie nieeleganckie i nieefektywne (tracicie w ten sposób owoc często długich minut spędzonych na konfigurowaniu urządzenia), a w przypadku routerów z EdgeOS, nie wolno tego robić poprzez zwyczajne wyłączenie zasilania, gdyż bez poprawnego zamknięcia systemu operacyjnego można uszkodzić system plików.</p>
<p style="text-align: justify;">Rozważmy zatem kilka przypadkowych problemów. W najprostszym, niech to będzie literówka w poleceniu, a zatem trzymając się wcześniejszego przykładu, zamiast nazwy hosta testhub wprowadziliśmy polecenie &#8222;<em><strong>set system host-name tetshub&#8221;</strong></em>.<em><strong> </strong></em>Rozwiązanie jest bardzo proste i zamiast zatwierdzać zmiany, po prostu je odrzucamy komendą &#8222;<strong><em>discard&#8221;</em></strong>.<strong><em> </em></strong>Tu od razu uwaga &#8211; samo wyjście z trybu konfiguracji poleceniem &#8222;<em><strong>exit&#8221; </strong></em>nie wystarczy &#8211; system zasygnalizuje błąd <em><strong>&#8222;</strong><strong>Cannot exit: configuration modified&#8221;</strong></em>,<em> </em>mówiący o tym, że dokonano zmiany konfiguracji. Można natomiast połączyć te polecenia w jedno i wydać komendę &#8222;<em><strong>exit discard&#8221;</strong></em>.</p>
<p style="text-align: justify;">Jeśli zdarzy się, że błąd spostrzeżemy już po jego zatwierdzeniu, pomocna jest komenda &#8222;<em><strong>delete&#8221;</strong></em>, która pojawiła się przy okazji dygresji o zmianie adresacji, a służy do usuwania wartości parametru lub elementu. Zróbmy zatem celowo błąd, a potem go usuńmy.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3936" src="https://testhub.pl/wp-content/uploads/2017/12/delete.png" alt="" width="661" height="556" srcset="https://testhub.pl/wp-content/uploads/2017/12/delete.png 661w, https://testhub.pl/wp-content/uploads/2017/12/delete-300x252.png 300w, https://testhub.pl/wp-content/uploads/2017/12/delete-585x492.png 585w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<p style="text-align: justify;">Co się wydarzyło? Zachowałem się jak początkujący administrator i popełniwszy błąd w adresie IP w komendzie &#8222;<strong><em>set interfaces ethernet eth1 address 10.10.10.1/24&#8243;</em></strong>, postanowiłem go poprawić, wydając polecenie po raz kolejny, ale tym razem z dobrym adresem &#8222;<em><strong>set interfaces ethernet eth1 address 20.10.10.1/24&#8243;</strong></em>.<em><strong> </strong></em>I tu tkwi pułapka na początkujących adeptów administracji sieciami &#8211; otóż w przeciwieństwie do wspomnianych &#8222;mydelniczek&#8221;, nie jest niczym niezwykłym dla takiego routera posiadanie dwóch adresów na jednym interfejsie, co pokazuje powyżej komenda &#8222;<em><strong>show interfaces ethernet eth1&#8243;</strong></em>.<em><strong> </strong></em>Rozwiązaniem tego problemu jest właśnie komenda <b><i> &#8222;delete&#8221;</i></b> i w tym przypadku miałaby ona postać &#8222;<em><strong>delete interfaces ethernet eth1 address 10.10.10.1/24&#8243;</strong></em>. Przy okazji widać, że router przypomina o konieczności zapisania zmian, jeśli tego nie uczyniliśmy, a skorzystamy z komendy &#8222;<em><strong>exit&#8221;</strong></em>.<em><strong> </strong></em></p>
<h2 style="text-align: justify;">Uzupełnianie komend</h2>
<p style="text-align: justify;">Podczas pracy z CLI, drugim użytecznym klawiszem na klawiaturze, poza już poznanym znakiem zapytania jest Tabulator, na części klawiatur opisany jako Tab. Działa on podobnie jak u innych producentów i pozwala szybko uzupełniać komendy. Na przykład, jeśli napiszemy tylko litery &#8222;<em><strong>sh&#8221;</strong></em> i wciśniemy klawisz Tab, system podpowie nam, że tak rozpoczynają się dwie komendy &#8222;<em><strong>show&#8221;</strong></em>  oraz &#8222;<em><strong>shutdown&#8221;</strong></em>,<em><strong> </strong></em>natomiast<b><i> </i></b>ten sam Tab naciśnięty po literach &#8222;<em><strong>shu&#8221;</strong></em>, już bez dalszych podpowiedzi uzupełni się do &#8222;<em><strong>shutdown&#8221;</strong></em>.</p>
<h2 style="text-align: justify;">Podsumowanie</h2>
<p style="text-align: justify;">Powinniście już umieć poruszać się po trybach operacyjnym i konfiguracji, do którego przechodzimy komendą &#8222;<em><strong>configure&#8221;</strong></em>, a wychodzimy z niego poleceniem &#8222;<em><strong>exit&#8221;</strong></em>. Zmiany wartości parametru lub dodanie elementu realizuje &#8222;<em><strong>set&#8221;</strong></em>, natomiast skutek odwrotny uzyskamy, sięgając po &#8222;<em><strong>delete&#8221;</strong></em>. Zmiany należy zatwierdzić poleceniem &#8222;<em><strong>commit&#8221;</strong></em> lub odrzucić komendą &#8222;<em><strong>discard&#8221;</strong></em>. Aby utrwalić zmiany w konfiguracji bieżącej należy je zapisać komendą &#8222;<em><strong>save&#8221; </strong></em>w konfiguracji startowej. W każdej chwili możecie też skorzystać z pomocnych klawiszy &#8222;<em><strong>?&#8221;</strong></em> oraz &#8222;<em><strong>Tab&#8221;</strong></em>.</p>
<p>Artykuł <a href="https://testhub.pl/cmd-edgeos-cz1/">Podstawy pracy z interfejsem linii komend (CLI) systemu EdgeOS &#8211; część 1</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
