plik hosts w ubuntu. Jak edytować plik hosts w Ubuntu

Dobrego czasu, drodzy czytelnicy. Wrzucam drugą część. Bieżący rozdział koncentruje się na Implementacja sieci w systemie Linux(jak skonfigurować sieć w Linuksie, jak diagnozować sieć w Linuksie i jak dbać o podsystem sieciowy w Linuksie).

Konfigurowanie protokołu TCP/IP w systemie Linux dla sieci Ethernet

Aby pracować z protokołami sieciowymi TCP / IP w systemie Linux, wystarczy mieć tylko interfejs pętli zwrotnej, ale jeśli chcesz połączyć ze sobą hosty, potrzebujesz oczywiście interfejsu sieciowego, kanałów transmisji danych (na przykład skrętki), ewentualnie jakiegoś sprzętu sieciowego. Konieczne jest również zainstalowanie (itp.), zwykle dostarczane w formacie . Musi także mieć sieć (na przykład /etc/hosts) i obsługę sieci.

Ustawienia sieci

Zacznijmy rozumieć mechanizmy sieciowe Linuksa od ręcznej konfiguracji sieci, czyli od momentu kiedy adres IP Interfejs sieciowy statyczny. Tak więc podczas konfigurowania sieci należy wziąć pod uwagę i skonfigurować następujące parametry:

adres IP- jak już wspomniano w pierwszej części artykułu - jest to unikalny adres maszyny, w formacie czterech liczb dziesiętnych oddzielonych kropkami. Zwykle podczas pracy w lokalna sieć, wybrany z prywatnych zakresów, na przykład: 192.168.0.1

Maska podsieci- także 4 liczby dziesiętne, które określają, która część adresu odnosi się do adresu sieci/podsieci, a która do adresu hosta. Maska podsieci to liczba, która jest dodawana (w postaci binarnej) z adresem IP, aby dowiedzieć się, do której podsieci należy adres. Na przykład adres 192.168.0.2 z maską 255.255.255.0 należy do podsieci 192.168.0.

Adres podsieci- określana przez maskę podsieci. Jednocześnie nie ma podsieci dla interfejsów pętli zwrotnej.

Adres transmisji- adres używany do wysyłania pakietów rozgłoszeniowych, które będą odbierane przez wszystkie hosty w podsieci. Zwykle jest to adres podsieci o wartości hosta 255, czyli dla podsieci 192.168.0 rozgłoszenie będzie miało postać 192.168.0.255, podobnie dla podsieci 192.168 rozgłoszenie będzie miało postać 192.168.255.255. Nie ma adresu rozgłoszeniowego dla interfejsów pętli zwrotnej.

Adres IP bramy to adres maszyny będącej domyślną bramą do komunikacji ze światem zewnętrznym. Może istnieć wiele bram, jeśli komputer jest jednocześnie podłączony do wielu sieci. Adres bramy nie jest używany w sieciach izolowanych (nie podłączonych do sieci WAN), ponieważ sieci te nie mają gdzie wysyłać pakietów poza sieć, to samo dotyczy interfejsów pętli zwrotnej.

Adres IP serwera nazw (serwer DNS)- adres serwera konwertującego nazwy hostów na adresy IP. Zazwyczaj dostarczane przez dostawcę usług internetowych.

Pliki ustawień sieciowych systemu Linux (pliki konfiguracyjne)

Aby zrozumieć działanie sieci w systemie Linux, zdecydowanie radzę przeczytać artykuł „”. Ogólnie rzecz biorąc, wszystkie praca z linuxem jest oparty na , który powstaje podczas uruchamiania systemu operacyjnego i tworzy jego potomków, którzy z kolei wykonują całą niezbędną pracę, niezależnie od tego, czy działa bash, czy demon. Tak, a cały rozruch Linuksa jest oparty na tym, co określa całą sekwencję uruchamiania małych narzędzi z różnymi parametrami, które są sekwencyjnie uruchamiane / zatrzymywane podczas uruchamiania / zatrzymywania systemu. Podsystem sieciowy Linux uruchamia się w ten sam sposób.

Każda dystrybucja Linuksa ma nieco inny mechanizm inicjalizacji sieci, ale myślę, że ogólny obraz po przeczytaniu będzie jasny. Jeśli spojrzysz na skrypty startowe podsystemu sieciowego niektórych Dystrybucja Linuksa, to jak skonfigurować konfigurację sieci za pomocą plików konfiguracyjnych stanie się mniej więcej jasne, na przykład w Debianie (weźmiemy tę dystrybucję jako podstawę), skrypt jest odpowiedzialny za inicjalizację sieci /etc/init.d/networking oglądając które:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Udostępnia: networking # Required-Start: mountkernfs $local_fs # Required-Stop: $local_fs # Powinien -Start: ifupdown # Powinien-Stop: ifupdown # Domyślny-Start: S # Domyślny-Stop: 0 6 # Krótki opis: Podnieś interfejsy sieciowe. ### KOŃCOWA ŚCIEŻKA INFORMACJI POCZĄTKOWEJ="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || wyjście 0 . /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options nadal istnieje i będzie IGNOROWANE! Przeczytaj README.Debian z netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || return 0 if [ -e /etc/iscsi/iscsi.initramfs ]; then log_warning_msg "brak dekonfiguracji interfejsów sieciowych: iSCSI root jest zamontowany." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

można znaleźć kilka funkcji sprawdzających zamontowane sieciowe systemy plików ( check_network_file_systems(), check_network_swap()), a także sprawdzanie istnienia jakiejś jeszcze niezrozumiałej konfiguracji /etc/sieć/opcje ( funkcjonować opcje_procesu()), a na samym dole po projekcie skrzynka „1 $” w i zgodnie z wprowadzonym parametrem (start/stop/force-reload|restart lub dowolny inny) wykonuje określone akcje. Z tych bardzo pewne działania", przykład argumentu start pokazuje, że funkcja jest uruchamiana jako pierwsza opcje_procesu, to fraza jest wysyłana do dziennika Konfigurowanie interfejsów sieciowych i uruchom polecenie jeśliup -a. Jeśli spojrzysz na man ifup , zobaczysz, że to polecenie odczytuje konfigurację z pliku /etc/network/interfaces i według klucza -A uruchamia wszystkie interfejsy, które mają ten parametr automatyczny.

Polecenia ifup i ifdown mogą służyć do konfigurowania (lub odpowiednio dekonfigurowania) interfejsów sieciowych w oparciu o definicje interfejsów w pliku /etc/network/interfaces.

-a, --wszystko
Jeśli podano ifup, wpływa na wszystkie interfejsy oznaczone jako auto. Interfejsy są wyświetlane w kolejności, w jakiej zostały zdefiniowane w /etc/network/interfaces. Jeśli podano ifdown, wpływa na wszystkie zdefiniowane interfejsy. Interfejsy są wyłączane w kolejności, w jakiej są aktualnie wymienione w pliku stanu. Wyłączone zostaną tylko interfejsy zdefiniowane w /etc/network/interfaces.

ip-server:~# cat /etc/network/interfaces # Ten plik opisuje interfejsy sieciowe dostępne w twoim systemie # i sposób ich aktywacji. Aby uzyskać więcej informacji, zobacz interfejsy(5). # Interfejs sieciowy pętli zwrotnej auto lo iface lo inet loopback # Podstawowy interfejs sieciowy allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet adres statyczny 192.168.1.1 maska ​​​​sieci 255.255.255.0 brama 192.168.1.254 broadcast 192.168.1.255

W tej linii konfiguracji Zezwól na hotplug I automatyczny są synonimami, a interfejsy zostaną uruchomione na żądanie jeśliup -a. To właściwie cały łańcuch działania podsystemu sieciowego. Podobnie w innych dystrybucjach: w RedHat i SUSE sieć jest uruchamiana przez skrypt /etc/init.d/network. Po zbadaniu go możesz podobnie znaleźć, gdzie leży konfiguracja sieci.

/etc/hosts

Ten plik zawiera listę adresy IP I odpowiadające im nazwy hostów (adresy).Format pliku nie różni się od pliku głównego:

Ip-server:~# cat /etc/hosts # ip host.w.domenie host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

W przeszłości ten plik był używany zamiast usługi DNS. Obecnie plik może być również używany zamiast usługi DNS, ale tylko pod warunkiem, że ilość maszyn w Twojej sieci jest mierzona w jednostkach, a nie w dziesiątkach czy setkach, ponieważ w takim przypadku będziesz musiał kontrolować poprawność tego pliku na każdej maszynie.

/etc/nazwa_hosta

Ten plik zawiera Nazwa hosta NetBIOS:

Ip-server:~# cat /etc/hostname ip-server

Ten plik przechowuje nazwy i adresy sieci lokalnych i innych. Przykład:

Serwer IP: ~# cat /etc/networks domyślnie 0.0.0.0 sprzężenie zwrotne 127.0.0.0 łącze lokalne 169.254.0.0 sieć domowa 192.168.1.0

Korzystając z tego pliku, można zarządzać sieciami według nazwy. Na przykład dodaj trasę nie dodać trasę 192.168.1.12 , A dodaj trasę.

/etc/nsswitch.conf

Plik definiuje kolejność wyszukiwania nazwy hosta/networks za to ustawienie odpowiadają następujące wiersze:

Dla hostów: hosty: pliki dns Dla sieci: sieci: pliki

Parametr akta określa użycie określonych plików (/etc/hosts I /etc/sieci odpowiednio), parametr dns określa korzystanie z usługi dns.

/etc/host.conf

Plik określa opcje rozpoznawania nazw dla programu tłumaczącego

Ip-server: ~# cat /etc/host.conf multi on

Ten plik mówi bibliotece resolv, aby zwróciła wszystkie prawidłowe adresy hostów znalezione w pliku /etc/hosts, a nie tylko pierwszy.

/etc/resolv.conf

Plik ten definiuje parametry mechanizmu translacji nazwy sieci na adres IP. W prostym języku definiuje ustawienia DNS. Przykład:

Ip-server: ~# cat /etc/resolv.conf nameserver 10.0.0.4 nameserver 10.0.0.1 search domain.local

Pierwsze 2 linie wskazać serwery DNS. Trzeci wiersz określa domeny wyszukiwania. Jeśli podczas rozpoznawania nazwy nazwa nie jest nazwą FQDN, wówczas ta domena jest zastępowana jako „koniec”. Na przykład podczas wykonywania polecenia ping host adres pingowany jest konwertowany na host.domain.local. Inne parametry można odczytać w man resolv.conf . Bardzo często Linux wykorzystuje dynamiczne generowanie tego pliku, wykorzystując tzw. programy /sbin/resolvconf. Ten program jest pośrednikiem między usługami, które dynamicznie udostępniają serwery nazw (np. Klient DHCP) i usług korzystających z danych serwera nazw. Aby użyć pliku generowanego dynamicznie /etc/resolv.conf, musisz ustawić ten plik jako dowiązanie symboliczne /etc/resolvconf/run/resolv.conf. W niektórych dystrybucjach ścieżka może być inna, na pewno zostanie to wpisane człowiek resolvconf.

Konfiguracja sieci

Po zapoznaniu się z głównymi plikami konfiguracyjnymi możesz zajrzeć do pliku . Polecenie zostało już wspomniane powyżej. jeśli up, jeśli w dół, ale te narzędzia nie są całkiem uniwersalne, na przykład w rozkładach RH te polecenia nie są domyślnie dostępne. Ponadto nowe dystrybucje posiadają nowe narzędzie do zarządzania siecią wysokiego poziomu - , które należy do pakietu iproute. Jemu (pakiet iproute) poświęcę . A w obecnym poście nie będę tego rozważać. Opisane poniżej polecenia należą do .

Aby więc mieć pewność, że polecenie będzie działać w dowolnej dystrybucji Linuksa, musisz użyć dwóch podstawowych staromodnych poleceń. To jest i arp. Pierwszy zespół (odpowiedzialny za konfigurowanie interfejsów sieciowych(ip, maska, brama), drugi () - konfiguracja routingu, trzeci (arp) - zarządzanie tabelą arp. Chciałbym zauważyć, że wykonanie tych poleceń bez wyłączania standardowego skryptu startowego SystemV podsystemu sieciowego spowoduje wprowadzenie zmian tylko do pierwszego ponownego uruchomienia / ponownego uruchomienia usługi sieciowej, ponieważ. jeśli pomyślisz o tym mózgiem, możesz zrozumieć, że scenariusz /etc/init.d/networking przy następnym uruchomieniu ponownie odczyta powyższe konfiguracje i zastosuje stare ustawienia. W związku z tym wyjściem na trwałe ustawienie ustawień jest albo polecenie ifconfig z odpowiednimi parametrami - wprowadź, lub ręcznie popraw odpowiednie konfiguracje interfejsu sieciowego.

Podobnie, jeśli polecenie ifconfig z brakującymi opcjami(na przykład tylko adres IP), reszta jest uzupełniana automatycznie (na przykład adres rozgłoszeniowy jest dodawany domyślnie z adresem hosta kończącym się na 255, a domyślna maska ​​​​podsieci to 255.255.255.0).

Rozgromienie dla dostępnych interfejsów w nowoczesnych jądrach jest zawsze wywoływana automatycznie przez jądro. A raczej bezpośrednie trasy do sieci zgodnie z ustawieniami IP i podsieci, na którą wygląda podniesiony interfejs, są tworzone automatycznie przez jądro. Pole gateway (gateway) dla takich wpisów pokazuje adres interfejsu wyjściowego lub *. W starszych wersjach jądra (numer jądra, od którego trasy zaczynały rosnąć automatycznie - nie powiem), konieczne było ręczne dodanie trasy.

Jeśli istnieje potrzeba zorganizowania trasy, to musisz użyć . Możesz dodawać i usuwać trasy za pomocą tego polecenia, ale znowu pomoże to tylko do ponownego uruchomienia /etc/init.d/networking (lub innego skryptu sieciowego w twojej dystrybucji). Aby trasy były dodawane automatycznie, należy, podobnie jak w przypadku polecenia ifconfig, dodać polecenia dodawania tras do rc.local lub ręcznie poprawić odpowiednie konfiguracje interfejsu sieciowego (np. w Deb - /etc/sieć/opcje).

Według jakich zasad tworzone są trasy do sieci, Jestem w

Diagnostyka sieci Linux

W systemie Linux istnieje wiele narzędzi do diagnostyki sieci, często bardzo podobnych do narzędzi firmy Microsoft. Rozważę 3 główne narzędzia do diagnostyki sieci, bez których identyfikacja problemów będzie problematyczna.

Myślę, że to narzędzie jest znane prawie każdemu. Zadaniem tego narzędzia jest wysyłanie tak zwana pakiety ICMP zdalny serwer, który zostanie określony w parametrach polecenia, serwer zwraca wysłane polecenia i świstliczenie czasu wymagane, aby wysłany pakiet dotarł do serwera i wrócił. Na przykład:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) bajtów danych. 64 bajty z www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 time=42,7 ms z www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 time=42,5 ms 64 bajty z www .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 czas=42,5 ms 64 bajty z www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 czas=41,9 ms ^C --- tak Statystyki .ru ping --- 5 wysłanych pakietów, 5 odebranych, 0% utraty pakietów, czas 4012ms rtt min/avg/max/mdev = 41,922/42,588/43,255/0,500ms

Jak widać z powyższego przykładu, świst dostarcza nam wielu przydatnych informacji. Przede wszystkim, dowiedzieliśmy się, że możemy nawiązać połączenie z hostem ya.ru(czasami mówią, że „host ya.ru jest dla nas dostępny”). Po drugie, widzimy to DNSy działają poprawnie, ponieważ „pingowana” nazwa została poprawnie przekonwertowana na adres IP (PING ya.ru (87.250.251.3)). Dalej, w polu icmp_seq= ustawia numerację wysyłanych pakietów. Każdemu wysłanemu pakietowi jest przypisywany sekwencyjnie numer, a jeśli w tej numeracji są „luki”, to powie nam to, że połączenie z „pingowanym” jest niestabilne, a także może oznaczać, że serwer, do którego wysyłane są pakiety jest przeciążony. Według wartości czas= widzimy, jak długo podróżowała paczka do 87.250.251.3 iz powrotem. Narzędzie ping można zatrzymać, naciskając kombinację klawiszy Ctrl+C.

Również, narzędzie do pingowania interesujące, ponieważ pozwala dokładnie zobaczyć, gdzie powstały problemy. Powiedzmy narzędzie do pingowania wyświetla komunikat sieć nieosiągalna lub inną podobną wiadomość. Najprawdopodobniej wskazuje to na nieprawidłową konfigurację systemu. W takim przypadku możesz wysłać pakiety na adres IP dostawcy usług internetowych, aby dowiedzieć się, gdzie występuje problem (między komputerem lokalnym lub „poza”). Jeśli masz połączenie z Internetem przez router, możesz wysyłać pakiety na jego adres IP. W związku z tym, jeśli problem pojawia się już na tym etapie, oznacza to nieprawidłową konfigurację systemu lokalnego lub uszkodzenie kabla, jeśli router odpowiada, a serwer dostawcy nie, to problem leży w kanale komunikacyjnym dostawcy itp. Wreszcie, jeśli konwersja nazwy na IP nie powiedzie się, możesz sprawdzić połączenie przez IP, jeśli odpowiedzi przyjdą poprawnie, możesz zgadnąć, że problem dotyczy DNS.

Należy zauważyć, że to narzędzie nie zawsze jest niezawodnym narzędziem diagnostycznym. Zdalny serwer może blokować odpowiedzi na żądania ICMP.

Trasa śledzenia

Mówiąc prościej, nazywa się zespół ślad trasy. Jak można zrozumieć z nazwy, to narzędzie pokaże, którą trasą pakiety trafiły do ​​​​hosta. Narzędzie traceroute trochę podobny do świst, ale wyświetla bardziej interesujące informacje. Przykład:

# traceroute ya.ru traceroute do ya.ru (213.180.204.3), maks. 30 przeskoków, 60 bajtów pakietów .kubtelecom.ru (213.132.64.65) 2,761 ms 5,787 ms 5,777 ms 3 4) 5.713 ms 5,701 ms 5,636 ms 4 (194.186.6.177) 81,430 ms 81,581 ms 81,687 ms 5 213.33.201.230 (213.33.201.230) 43,322 ms 41,783 ms 41 . 106 ms 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

Jak widać, możesz prześledzić trasę od routera dostawcy 243-083-free.kubtelecom.ru (213.132.83.243) (południe Rosji) do hosta końcowego pod adresem www.yandex.ru (213.180.204.3) w Moskwie.

kopać

To narzędzie wysyła zapytania do serwerów DNS i zwraca informacje o określonej domenie. Przykład:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 serwer znaleziony) ;; opcje globalne: drukuj cmd ;; dostałem odpowiedź: ;; ->>NAGŁÓWEK<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

polecenie kopania wysłał prośbę serwer DNS - ns.kuban.ru (@ns.kuban.ru- ten parametr jest opcjonalny, w tym przypadku źródło informacji o DNS zostanie pobrane z serwera z ustawień systemu) o nazwie domeny roboti.ru. W rezultacie otrzymałem odpowiedź, w której możemy zobaczyć w sekcji SEKCJA ODPOWIEDZI informacje o adresach IP domeny, w sekcji SEKCJA WŁADZY informacje o tzw. autorytatywne serwery DNS. Trzecia linia od dołu mówi nam, który serwer dostarczył odpowiedź.

Inne narzędzia diagnostyczne

ping, dig i inne narzędzia diagnostyczne z parametrami znajdziecie w poście.

Podłączanie nowej karty sieciowej

Podłączenie i uruchomienie nowej karty sieciowej sprowadza się do kilku kroków:

1. Fizyczne podłączenie karty

3. Wyświetl dane wyjściowe dla systemu w celu wykrycia nowej karty sieciowej:

Zobaczmy wyjście PRZED podłączeniem nowej karty:

Serwer:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Połączenie sieciowe Intel(R) PRO/1000 [ 5.130191] e1000: eth1: e1000_probe: Połączenie sieciowe Intel(R) PRO/1000 [ 15.285527] e1000: eth2: e1000_watchdog: łącze NIC jest Do 1000 Mb/s pełny dupleks, kontrola przepływu: RX [15.681056] e1000: eth0: e1000_watchdog: NIC Link działa do 1000 Mb/s, pełny dupleks, kontrola przepływu: RX

wyjście pokazuje, że system ma 2 karty sieciowe eth1 i eth2. Łączymy trzeci i patrzymy na dane wyjściowe:

Serwer:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Połączenie sieciowe Intel(R) PRO/1000 [ 5.132029] e1000: eth1: e1000_probe: Połączenie sieciowe Intel(R) PRO/1000 [ 5.534684] e1000: eth2: e1000_probe: Intel(R) ) Połączenie sieciowe PRO/1000 [39.274875] udev: zmieniono nazwę interfejsu sieciowego z eth2 na eth3 [39.287661] udev: zmieniono nazwę interfejsu sieciowego z eth1_rename_ren na eth2 [45.670744] e1000: eth2: e1000_watchdog: Łącze karty sieciowej jest wyższe o 1000 Mb/s w trybie pełnego dupleksu, kontrola przepływu: R X [ 46.237232] e1000: eth0: e1000_watchdog: Łącze karty sieciowej działa z szybkością 1000 Mb/s w trybie pełnego dupleksu, kontrola przepływu: RX [96.977468] e1000: eth3: e1000_watchdog: Łącze karty sieciowej działa z szybkością 1000 Mb/s w trybie pełnego dupleksu, kontrola przepływu: RX

W dmesg widzimy, że pojawiła się nowa karta sieciowa - eth3, która w rzeczywistości jest eth2, ale została zmieniona przez menedżera urządzeń udev na eth3, a eth2 jest w rzeczywistości przemianowaną na eth1 (o udev porozmawiamy w osobnym poście). Wygląd naszej nowej sieci w dmesg mówi nam, że karta sieciowa utrzymany zasadnicza i poprawna zdecydowany. Pozostało tylko skonfigurować nowy interfejs w /etc/network/interfaces(Debian), ponieważ dana mapa nie została zainicjowana przez skrypt startowy /etc/init.d/network. ifconfig widzi tę kartę:

Serwer:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 adres: fe80::a00:27ff:fe5f:34ad/64 Zakres:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metryczne: 1 pakiety RX:311847 błędy:0 porzucone:0 przekroczenia:0 ramka:0 pakiety TX:126 błędy:0 porzucone:0 przekroczenia:0 przewoźnik:0 kolizje:0 txqueuelen:1000 bajty RX:104670651 (99,8 MiB) bajty TX: 16184 (15,8 KiB)

ale poza tym - nie konfiguruje. Jak skonfigurować kartę sieciową omówiono powyżej.

Streszczenie

Myślę, że to wszystko na dzisiaj. Kiedy zaczynałem pisać ten artykuł, myślałem, że zmieszczę się w jednym poście, ale okazało się, że jest ogromny. Dlatego zdecydowano się podzielić artykuł na dwie części. W sumie starałem się przedstawić nie krok po kroku jak skonfigurować sieć, ale przedstawić zasadę i wyjaśnić zrozumienie jak sieć się uruchamia i działa w Linuksie. Naprawdę mam nadzieję, że mi się udało. Będę zadowolony z twoich komentarzy i uzupełnień. Z czasem uzupełnię artykuł.

Jeśli potrzebujesz skonfigurować kartę sieciową, wybierz adres IP, w pełni kwalifikowaną nazwę domeny (FQDN), a także możliwe aliasy, które zostaną określone w pliku /etc/hosts. Składnia jest następująca:

IP_address myhost.example.org aliasy

Jeśli nie chcesz, aby Twój komputer był widoczny w Internecie (tj. masz zarejestrowaną domenę i prawidłowy zakres przypisanych adresów IP – większość użytkowników tego nie robi), po prostu upewnij się, że adres IP należy do zakresu adresów IP sieci prywatnej . Prawidłowe zakresy:

Zakres adresów sieci prywatnej Prefiks zwykły 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24

x może być dowolną liczbą z przedziału 16 - 31. y może być dowolną liczbą z przedziału 0 - 255.

Prawidłowy prywatny adres IP to 192.168.1.1. Prawidłowa nazwa FQDN dla tego adresu IP to lfs.example.org.

Nawet jeśli karta sieciowa nie jest używana, nazwa FQDN może być nadal wymagana. W niektórych programach jest to wymagane do prawidłowego działania.

Utwórz plik /etc/hosts w następujący sposób:

kot > /etc/hosts< "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost <192.168.1.1> # Koniec /etc/hosts (wersja karty sieciowej) EOF

Wartości<192.168.1.1>I należy zmienić, aby spełnić określone wymagania użytkownika lub inne (jeśli adres IP jest przypisany przez administratora sieci/systemu, a urządzenie jest podłączone do istniejącej sieci). Opcjonalne nazwy aliasów można pominąć.

Jeśli nie musisz konfigurować karty sieciowej, utwórz plik /etc/hosts w następujący sposób:

kot > /etc/hosts< "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # Koniec /etc/hosts (brak wersji karty sieciowej) EOF

Poprzednia sekcja:

Powiedziałem, że napiszę o tym, jak ustawić wirtualne hosty w Ubuntu i zmienić katalog na hosting witryn. Cóż, piszę.

W Internecie napisano wiele o wirtualnych hostach i sposobach ich konfigurowania. Ale gdzieś informacja jest nieaktualna, gdzieś w połowie działa. W efekcie zabieg, który trwa maksymalnie pięć minut, rozciąga się na kilka godzin. Miałem ten. Dlatego, aby następnym razem nie tracić dużo czasu, gdy będę tego potrzebować, piszę ten artykuł.

Konfigurowanie katalogu głównego dla witryn

Domyślnie Apache szuka stron internetowych w /var/www/html. Ale dla użytkownika może to być niewygodne. Dlatego w razie potrzeby katalog główny można zmienić. Na przykład dla moich witryn użyję folderu public_html w katalogu domowym. Ponadto natychmiast utworzę folder dla witryny testowej strona testowa.loc i bezpośrednio folder, w którym będą znajdować się pliki witryny www. Oznacza to, że musisz utworzyć taką strukturę katalogów: /public_html/testsite.loc/www/. Możesz to zrobić za pomocą menedżera plików, możesz przez terminal:

mkdir -p public_html/testsite.loc/www

Natychmiast utwórz prostą stronę testową indeks.html

Konfigurowanie wirtualnych hostów

Cześć!!

I zapisz go w folderze www.

Teraz edytuj plik hosta wirtualnego 000-domyślna.konf aby powiedzieć Apache, gdzie teraz hostujemy witryny:

sudo gedit /etc/apache2/sites-available/000-default.conf

W pliku, który zostanie otwarty, znajdź wiersz rozpoczynający się od DocumentRoot i zmień ścieżkę na nową: /home/user/public_html/. Gdzie użytkownik- Twoja nazwa użytkownika.

Zapisz plik i zamknij edytor.

Dokonywanie zmian w pliku ustawień apache2.conf:

Sudo gedit /etc/apache2/apache2.conf

Dodaj następujący blok do otwartego pliku:

Opcje Indeksy FollowSymLinks AllowOverride Brak Wymagaj przyznania wszystkich

Ponownie, nie zapomnij wymienić użytkownik do Twojej nazwy użytkownika. Zapisujemy plik.

Utwórz nowy plik konfiguracyjny hosta. Aby to zrobić, skopiuj standardowy plik 000-default.conf i zmień jego nazwę na strona testowa.konf:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

Teraz edytujmy to:

Sudo gedit /etc/apache2/sites-available/testsite.conf

Dla wygody możesz usunąć wszystkie skomentowane wiersze (które zaczynają się od #)

Dodaj „ServerName testsite.loc”

Dodaj „ServerAlias ​​​​www.testsite.loc”

Określ ścieżkę do katalogu z plikami witryny w DocumentRoot.

Zapisujemy zmiany.

I włącz stronę:

sudo a2ensite strona testowa.conf

Zrestartuj Apache'a:

Usługa przeładowania Apache2

plik hosts

Aby przekierować żądania przeglądarki do naszego serwera. Edytujmy plik hosts:

sudo gedit /etc/hosts

W pierwszym wierszu ze spacją obok localhost dodaj domeny naszej strony strona testowa.loc I www.stronatestowa.loc

Zapisz zmiany

Efekt naszej pracy możemy sprawdzić. W przeglądarce wpisujemy adres naszej strony - strona testowa.loc.

Uprawnienia do folderów

Serwer Apache działający jako grupa i użytkownik www-dane. W tym samym katalogu domowym właścicielem plików jest bieżący użytkownik. Dlatego, aby uniknąć problemów, musisz zmienić prawa do plików i folderów wewnątrz public_html oraz do niego samego. Aby to zrobić, wprowadź w terminalu.

System nazw domen DNS służy do określania, który adres IP należy do właściwej domeny w Internecie. Gdy program musi uzyskać dostęp do witryny za pomocą nazwy domeny, system operacyjny wysyła żądanie do serwera DNS, aby dowiedzieć się, do którego adresu IP powinien następnie wysyłać pakiety. Lecz nie zawsze tak jest. Na przykład, gdy uzyskujemy dostęp do domeny localhost, żądanie jest zawsze wysyłane do naszego komputera lokalnego.

Chodzi o plik hosts. Jeśli korzystałeś wcześniej z systemu Windows, prawdopodobnie słyszałeś już o tym pliku. Tam najczęściej służył do szybkiego zablokowania dostępu do zasobu. Ale jego zastosowanie jest znacznie szersze. W tym artykule przyjrzymy się, jak skonfigurować plik hosts w systemie Linux, a także jakie funkcje nam zapewnia.

Zanim przejdziemy do samego pliku hosts, musimy zrozumieć, w jaki sposób Linux wyszukuje adres IP dla nazwy domeny. Powiedziałem, że system operacyjny natychmiast wysyła żądanie do serwera DNS, ale to nie do końca prawda. Istnieje określona kolejność wyszukiwania, w której jest wykonywana. Ta kolejność jest ustawiona w pliku konfiguracyjnym /etc/nsswitch.conf

cat /etc/nsswitch.conf

Tutaj interesuje nas linia gospodarzy. Zawiera listę, uszeregowaną według priorytetu, usług używanych do wyszukiwania adresu IP dla nazwy domeny. Element files oznacza korzystanie z pliku /etc/hosts, a dns oznacza korzystanie z usługi nazw domen internetowych. Jeśli pliki znajdują się przed hostami, oznacza to, że system najpierw spróbuje znaleźć domenę w /etc/hosts, a dopiero potem w DNS. Tak jest domyślnie.

Konfiguracja plików hostów systemu Linux

Potrzebny nam plik znajduje się w katalogu /etc/. Aby go otworzyć, możesz użyć dowolnego edytora tekstu zarówno w wierszu poleceń, jak iw interfejsie graficznym, wystarczy go otworzyć z uprawnieniami administratora. Na przykład używając vima:

sudo vi /etc/hosts

sudo gedit /etc/hosts

Składnia pliku jest dość prosta. Zawiera kilka linii z nazwami domen i adresami IP, których musisz dla nich użyć. Każdy z nich wygląda tak:

domena adres_ip Alias

Zwykle pierwsza linia tworzy regułę przekierowania wszystkich żądań do domeny localhost na lokalny adres IP - 127.0.0.1:

127.0.0.1 host lokalny

Ten plik zawiera również domyślnie przekierowania dla nazwy komputera i adresów IPv6. Możesz stworzyć własne ustawienia dla dowolnej domeny. W tym celu dodaj linię na końcu pliku ..0.0.1:

Witryna 127.0.0.1

Należy pamiętać, że wskazana jest tutaj tylko domena, bez protokołu. Nie musisz podawać prefiksu http lub https, inaczej nic nie będzie działać. Ale dla subdomeny www musisz utworzyć osobny wpis lub zapisać go jako alias. Na przykład:

127.0.0..strona

Teraz, gdy poprosimy o domenę, strona otworzy nasz lokalny adres IP. Aby przywrócić dostęp do oryginalnego zasobu, po prostu usuń dodaną linię. Ale możesz użyć nie tylko adresu lokalnego, ale dowolnego innego. Jest to bardzo wygodne, jeśli właśnie zarejestrowałeś domenę, a strefa domeny nie została jeszcze zaktualizowana, ale już chcesz pracować z nową witryną. Po prostu dodaj dane do /etc/hosts i pracuj jak zwykle.

wnioski

W tym krótkim artykule przeanalizowaliśmy, w jaki sposób DNS jest konfigurowany za pomocą pliku hostów systemu Linux. Jak widać, z jego pomocą można zablokować dostęp do niechcianych zasobów, np. do których programy nie powinny mieć dostępu, a także wykorzystać to w pracy webmastera.

o autorze

Założyciel i administrator serwisu, pasjonat otwartego oprogramowania oraz systemu operacyjnego Linux. Obecnie używam Ubuntu jako głównego systemu operacyjnego. Oprócz Linuksa interesuję się wszystkim co związane z informatyką i współczesną nauką.

Pracując w innych OC możesz już wiedzieć, gdzie jest plik hosts, ale przechodząc na Ubuntu Linux, możesz się trochę zgubić, gdzie ten plik się znajduje i jak go edytować.

Co to jest plik hosts? Gdzie się znajduje w Ubuntu i jak go edytować, jeśli jesteś zainteresowany, przeczytaj poniższy materiał.

HOSTS to plik tekstowy, który zawiera bazę danych nazw domen i służy do tłumaczenia ich na adresy sieciowe hosta. Żądanie do tego pliku odgrywa bardzo ważną rolę i ma bardzo wysoki priorytet w stosunku do dostępu do serwerów DNS. W przeciwieństwie do DNS, który jest aktualizowany od 30 minut do 2-3 dni, zawartość pliku jest kontrolowana przez administratora komputera iw razie potrzeby może być aktualizowana w dowolnym momencie.

Pracując w innych OC możesz już wiedzieć, gdzie znajduje się plik hosts, ale przechodząc na jakikolwiek inny, na przykład Ubuntu Linux, będziesz długo szukał bez pytania, gdzie ten plik się znajduje i jak go edytować .

  • C:\WINDOWS\system32\drivers\etc — w systemie Windows
  • /etc/hosts — w systemie Ubuntu

Aby otworzyć plik hosts do edycji w Ubuntu, otwórz terminal (CTRL + ALT + T) i uruchom polecenie:

sudo gedit /etc/hosts

po czym ten plik otworzy się w standardowym edytorze wygodnym do edycji, standardowa zawartość pliku:

127.0.0.1 localhost 127.0.1.1 twój-pc # W przypadku hostów obsługujących protokół IPv6 pożądane są następujące wiersze::1 ff02::2 ip6-allrouters

Jeśli chcesz zarejestrować potrzebną domenę i IP, możesz napisać od razu po drugiej linii na samym początku pliku, po wpisaniu wszystkiego, czego potrzebujesz, kliknij przycisk zapisz w edytorze Gedit i gotowe, nie nie trzeba ponownie uruchamiać komputera.

Plik zastępy niebieskie ma następujący format:

(IP – adres IP hosta) (Hostname – nazwa hosta w domenie) (Domain – nazwa domeny) (Alias ​​– określa dodatkową nazwę hosta)

Możesz uzyskać bardziej szczegółowe informacje na temat pracy z plikiem hosts, uruchamiając polecenie w terminalu mężczyźni gospodarze.

Przykład nagrania:

193.109.247.234 linuxsoid.com 88.212.202.38 li.ru

wszystko jest takie proste, wprowadzamy zmiany, zapisujemy i gotowe, będą pytania, pytajcie w komentarzach do materiału.

mob_info