Параметры файла hosts в ubuntu. Как настроить виртуальные хосты в Ubuntu или Debian. Другие утилиты диагностики

Если нужно конфигурировать сетевую карту, то выберите IP-адрес, полное доменное имя (FQDN), а также возможные алиасы, которые будут указываться в файле /etc/hosts . Синтаксис следующий:

IP_address myhost.example.org aliases

Если не требуется, чтобы компьютер был виден в интернете (т. е. имел зарегистрированный домен и допустимый диапазон назначенных IP-адресов — у большинства пользователей их нет), просто проверьте, чтобы IP-адрес находится в диапазоне приватных сетевых адресов IP. Допустимые диапазоны:

Диапазон приватных сетевых адресов Обычный префикс 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 может быть любым числом в диапазоне 16 - 31. y может быть любым числом в диапазоне 0 - 255.

Допустимым приватным IP-адресом может быть 192.168.1.1. Допустимым полным доменным именем FQDN для этого IP может быть lfs.example.org.

Даже если сетевая карта не используется, полное доменное имя FQDN все еще может потребоваться. Оно необходимо в некоторых программах для того, чтобы они работали должным образом.

Создайте файл /etc/hosts следующим образом:

Cat > /etc/hosts < "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost <192.168.1.1> # End /etc/hosts (network card version) EOF

Значения <192.168.1.1> и следует изменить в соответствие с требованиями конкретных пользователей или иными требованиями (если адрес IP назначается сетевым / системным администратором и машина подключается к существующей сети). Необязательные имена алиасов можно опустить.

Если не требуется конфигурировать сетевую карту, создайте файл /etc/hosts следующим образом:

Cat > /etc/hosts < "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # End /etc/hosts (no network card version) EOF

Предыдущий раздел:

Файл hosts используется для локальной установки соответствия между IP адресом и доменом. Расположенная в нём информация имеет наивысший приоритет и распространяется только в пределах компьютера, на котором этот файл изменялся.

Видео о работе с файлом hosts

Где находится файл hosts?

Найти файл hosts в системе не составит никакого труда.

В случае данный файл расположен в следующей директории:

/etc/hosts

В случае Windows:

C:/Windows/System32/Drivers/etc/hosts

В путь расположения файла hosts можно изменить в реестре, доступ к которому можно получить через редактор regedit . Запустить его можно следующими способами:

1) Пуск -> Выполнить -> regedit -> OK ;

2) Windows + R -> regedit -> ОК .

Интересующая нас запись реестра располагается в:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath

  • Открываем параметр DataBasePath и в поле Значение указываем новый путь.

Как должен выглядеть файл hosts?

По-умолчанию в чистой системе в файле hosts не указываются никакие значения, а присутствуют исключительно закомментированные строки (начинаются с символа «# ») с описанием файла.

Некоторое программное обеспечение может вносить свои изменения в файл hosts, например, для указания, с какого сервера необходимо скачивать обновления.

Как изменить файл hosts?

  • Открываем hosts в каком-либо доступном в системе текстовом редакторе. Для Windows подойдет стандартный «Блокнот» либо «Wordpad».
  • Опускаемся в конец файла и вводим значения в следующем порядке:
IP-адрес доменное имя
  • После внесения изменений сохраняем файл.
  • Ниже представлен пример указания для домена yourdomain.tld IP-адреса 127.0.0.1 .

Проверить внесенные изменения на функциональность можно введя указанный домен браузере, либо пропинговав его в командной строке.

Как сохранить файл hosts?

Иногда возникает ситуация, что файл hosts не сохраняется и все внесенные изменения не работают. Возникает это в нескольких случаях:

  1. Отображается ошибка «Отказано в доступе» (либо англоязычный вариант — You don’t have permissions). Вам нужно проверить, что вы открываете файл с правами суперпользователя (администратора). Поскольку это системный файл, его не могут менять пользователи, которым не присвоены права администратора.
  2. Файл сохраняется в неверном формате, например, hosts.txt. В первую очередь нужно проверить, имеется ли возможность в текстовом редакторе указать, чтобы файл сохранился без расширения. Если же нет, вам нужно включить в настройках системы отображение расширений файлов, сохранить файл в формате.txt, а затем изменить его имя, предварительно удалив старый файл hosts.

Как закомментировать строку в hosts?

Для комментирования строки используется символ «# », который устанавливается в её начале и таким образом действие записи в этой строке прекращается. Этот способ удобен в случае, если какая-либо запись может потребоваться в дальнейшем, либо необходимо добавить текст с описанием. Также, комментарий можно вставлять и не в начале строки, а, например, после записи IP и домена.

Author Shekin Reading 6 min Published by July 21, 2015

A little-known feature called “ the hosts file ” can be used to modify your system depending on your needs. Whether you need to create abbreviations to block websites or something else , all of this can be done using the hosts file.
But how can I make changes to it ? Here we will tell you how , and provide some examples , so you can start using the file right now .

What is the hosts file?
If we talk in plain language, the hosts file is a simple text file that can be used on any operating system for translating host names into IP addresses. When you type a host name – for example, facebook.com or сайт – your system will check the hosts file to get the IP address, which is required for connecting to the appropriate server. But if you open this file on your computer, you will quickly find that there is not stored a directory of all websites on the Internet. There may be just a few lines and nothing more. Your system is always first checks the hosts file, and everything not specified in it, will be found on the DNS servers configured in your network settings (usually a server of your Internet provider).

But it also means that you can use the Hosts file to add addresses that cannot be provided DNS servers (for example, it may be aliases of different locations on your home network that otherwise would be available only if the local network is installed and configured your own DNS server), or to bypass the IP addresses provided by your DNS servers by default.

For example, if you ask your browser to open facebook.com the DNS server will return the IP address of Facebook on your PC. But if you suddenly want to block Facebook on your computer, you can add to hosts file entry that points to your computer that all requests for facebook.com need to redirect to some other IP address that is different from the real IP address of Facebook. To block this social network, you can simply register a transfer of requests facebook.com the IP address 127.0.0.1 , which will always return to your system. You can do a lot with this file, and this is just a very simple example – it all depends on your desires and needs.

Warning : keep in mind, hosts this is a system file , edit it only if you know what you’re doing it !

How to edit hosts file
In Linux Mint you can find hosts file in /etc/hosts . Since this is a plain text file, you can just use a plain text editor (whether terminal or graphical). Unfortunately, there is only one graphic tool that provides partial control of the hosts file is the application Domain Blocker for Linux Mint.

This program works by adding entries to your hosts file which redirects your specified domains to 127.0.0.1 – that is on your computer. Anyway, that’s all you can do with Domain Blocker – all other use of the hosts file require you to manually edit the file with a text editor.

As hosts it is a system file , you’ll need administrative rights to save changes to the file. However, you can edit it using terminal commands such as

sudo nano / etc/hosts

sudo gedit /etc/hosts

You can also replace the nano or gedit on the command to start your favorite text editor . When you’re finished editing the file in nano , you can press Ctrl +X and then y to confirm the overwriting of changes.

How to understand the format of the contents of the hosts file ?
In the hosts file each record is on its own line. For the purposes of our article you can use a very simple syntax – you type the IP address to which you want to redirect the host name (domain) , then the tab character (TAB) and the actual domain . For example , to block Facebook , you can enter 127.0.0.1-facebook.com where is the Tab key on your keyboard . To make sure it is entered correctly , you can also look at the screenshot and compare it with what is in your file.

Hosts – change and manage the /etc/hosts file

Here is another example of use of this opportunity . For example , if your home network is the computer (for example, its IP address is 192.168.100.1 ) running a simple website that makes something useful for you. You can enter the following in the hosts file : 192.168.100.1 –myhomeserver . Now , if you open your browser and just type in the address bar http://myhomeserver it will automatically show you the contents of the host 192.168.100.10 . It is much easier than to enter the IP address every time.

Potential problems
The only problem that I came across, related to the work of the Chrome browser. Chrome tends to ignore the hosts file, if you don’t do at least one of two possible things:
– to enter http:// in front of each address. For example, if you blocked Facebook via hosts file, Chrome will bypass the lock if you simply enter facebook.com in the address bar. If you enter http://facebook.com in the address bar, Chrome “listen” hosts file and block the website of this social network.
– disable the option “Use a web service to help resolve navigation errors ” in the Chrome settings, and then you don’t have to type http:// before the address each time

Try it!
Hosts is a small magic file, which offers several useful features. Even if you don’t need any features that it provides (although, perhaps , you think ), to see how it works will be very helpful. If you ever get into a situation where you could use the hosts file, you are familiar with them and know how to configure.

What is in your hosts file ? Are there any unique cases of such use ? Tell us in the comments !

Доброго времени, уважаемые читатели. Публикую вторую часть . В текущей части основной упор сделан на реализацию сети в Linux (как настроить сеть в Linux, как продиагностировать сеть в Linux и поддерживать в рабочем состоянии сетевую подсистему в Linux ).

Настройка TCP/IP в Linux для работы в сети Ethernet

Для работы с сетевыми протоколами TCP/IP в Linux достаточно наличие только петлевого интерфейса , но если необходимо объединить хосты между собой, естественно, необходимо наличие сетевого интерфейса, каналов передачи данных (например витая пара), возможно, какого-либо сетевого оборудования. Так же, необходимо наличие установленных ( , и др.), обычно поставляемые в . Так же необходимо наличие для сети (например /etc/hosts) и поддержку сети .

Параметры сети

Начнем понимание сетевых механизмов Linux с ручного конфигурирования сети, то есть со случая, когда IP адрес сетевого интерфейса статичен . Итак, при настройке сети, необходимо учесть и настроить следующие параметры:

IP-адрес - как уже говорилось в первой части статьи - это уникальный адрес машины, в формате четырех десятичных чисел, разделенных точками. Обычно, при работе в локальной сети, выбирается из частных диапазонов, например: 192.168.0.1

Маска подсети - так же, 4 десятичных числа, определяющие, какая часть адреса относиться к адресу сети/подсети, а какая к адресу хоста. Маска подсети является числом, которое складывается (в двоичной форме) при помощи логического И, с IP-адресом и в результате чего выясняется, к какой подсети принадлежит адрес. Например адрес 192.168.0.2 с маской 255.255.255.0 принадлежит подсети 192.168.0.

Адрес подсети - определяется маской подсети. При этом, для петлевых интерфейсов не существует подсетей.

Широковещательный адрес - адрес, используемый для отправки широковещательных пакетов, которые получат все хосты подсети. Обычно, он равен адресу подсети со значением хоста 255, то есть для подсети 192.168.0 широковещательным будет 192.168.0.255, аналогично, для подсети 192.168 широковещательным будет 192.168.255.255. Для петлевых интерфейсов не существует широковещательного адреса.

IP адрес шлюза - это адрес машины, являющейся шлюзом по-умолчанию для связи с внешним миром. Шлюзов может быть несколько, если компьютер подключен к нескольким сетям одновременно. Адрес шлюза не используется в изолированных сетях (не подключенных к глобальной сети), потому что данным сетям некуда отправлять пакеты вне сети, то же самое относиться и к петлевым интерфейсам.

IP-адрес сервера имен (DNS - сервера) - адрес сервера преобразующего имена хостов в IP адреса. Обычно, предоставляется провайдером.

Файлы настроек сети в Linux (конфигурационные файлы)

Для понимания работы сети в Linux, я бы обязательно посоветовал ознакомиться со статьей " ". В целом, вся работа Linux основана на , который рождается при загрузке ОС и плодит своих потомков, которые в свою очередь и выполняют всю необходимую работу, будь то запуск bash или демона. Да, и вся загрузка Linux основана на , в которых прописана вся последовательность запуска мелких утилит с различными параметрами, которые последовательно запускаются/останавливаются при запуске/остановке системы. Аналогично запускается и сетевая подсистема Linux.

Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина, думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов, станет более-менее понятно, например у Debian (за основу возьмем этот дистрибутив) за инициализацию сети отвечает скрипт /etc/init.d/networking , просмотрев который:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Provides: networking # Required-Start: mountkernfs $local_fs # Required-Stop: $local_fs # Should-Start: ifupdown # Should-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Short-Description: Raise network interfaces. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || exit 0 . /lib/lsb/init-functions process_options() { [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options still exists and it will be IGNORED! Read README.Debian of netbase." } check_network_file_systems() { [ -e /proc/mounts ] || return 0 if [ -e /etc/iscsi/iscsi.initramfs ]; then log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted." 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

можно найти несколько функций, проверяющих наличие подключенных сетевых файловых систем (check_network_file_systems(), check_network_swap() ), а так же проверку существования какого-то пока непонятного конфига /etc/network/options (функция process_options() ), а в самом низу, конструкцией case "$1" in и в соответствии с введенным параметром (start/stop/force-reload|restart или любое дугое) производит определенные действия. Из этих самых "определенных действий ", на примере аргумента start видно, что сначала запускается функция process_options , далее отправляется в лог фраза Configuring network interfaces , и запускается команда ifup -a . Если посмотреть man ifup , то видно что данная команда читает конфиг из файла /etc/network/interfaces и согласно ключу -a запускает все интерфейсы имеющие параметр auto .

The ifup and ifdown commands may be used to configure (or, respectively, deconfigure) network interfaces based on interface definitions in the file /etc/network/interfaces.

-a, --all
If given to ifup, affect all interfaces marked auto. Interfaces are brought up in the order in which they are defined in /etc/network/interfaces. If given to ifdown, affect all defined interfaces. Interfaces are brought down in the order in which they are currently listed in the state file. Only interfaces defined in /etc/network/interfaces will be brought down.

ip-server:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.254 broadcast 192.168.1.255

В данном конфиге строки allow-hotplug и auto - это синонимы и интерфейсы будут подняты по команде ifup -a . Вот, собственно, и вся цепь работы сетевой подсистемы. Аналогично, в других дистрибутивах: в RedHat и SUSE сеть запускается скриптом /etc/init.d/network . Рассматрев его, аналогично можно найти, где лежит конфигурация сети.

/etc/hosts

Данный файл хранит перечень IP адресов и соответствующих им (адресам) имен хостов .Формат файла ничем не отличается от мастдайного:

Ip-server:~# cat /etc/hosts # ip host.in.domain 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

Исторически, данный файл использовался вместо службы DNS. В настоящее время, файл так же может использоваться вместо службы DNS, но только при условии, что в вашей сети количество машин измеряется в единицах, а не в десятках или сотнях, потому что в таком случае, придется контролировать корректность данного файла на каждой машине.

/etc/hostname

Данный файл содержит NetBIOS-имя хоста:

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

Данный файл хранит имена и адреса локальной и других сетей. Пример:

Ip-server:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

При использовании данного файла, сетями можно управлять по имени. Например добавить маршрут не route add 192.168.1.12 , а route add .

/etc/nsswitch.conf

Файл определяет порядок поиска имени хоста /сети, за данную настройку отвечают строки:

Для хостов: hosts: files dns Для сетей: networks: files

Параметр files указывает использовать указанные файлы (/etc/hosts и /etc/networks соответственно), параметр dns указывает использовать службу dns .

/etc/host.conf

Файл задает параметры разрешения имен для резолвера

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

Данный файл указывает библиотеке resolv - возвращать все допустимые адреса узла, которые встретились в файле /etc/hosts, а не только первый из них.

/etc/resolv.conf

Данный фал определяет параметры механизма преобразования сетевых имен в IP адреса. Простым языком, определяет настройки DNS . Пример:

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

Первые 2 строчки указывают сервера DNS . Третья строка указывает домены поиска. Если при разрешении имени, имя не будет FQDN-именем, то данный домен подставиться в виде "окончания". Например при выполнении команды ping host, прингуемый адрес преобразуется в host.domain.local. Остальные параметры можно почитать в man resolv.conf . Очень часто, в Linux используется динамическая генерация данного файла, с помощью т.н. программы /sbin/resolvconf. Данная программа является посредником между службами, динамически предоставляющими сервера имен (например DHCP client ) и службами, использующими данные сервера имен. Для того чтобы использовать динамически генерируемый файл /etc/resolv.conf , необходимо сделать данный файл символической ссылкой на /etc/resolvconf/run/resolv.conf . В некоторых дистрибутивах путь может быть другой, об этом обязательно будет написано в man resolvconf .

Настройка сети

Ознакомившись с основными конфигурационными файлами, можно посмотреть на . Выше уже говорилось о команде ifup , ifdown , но данные средства не совсем универсальны, допустим в дистрибутивах RH данных команд по умолчанию нет. Кроме того, в новых дистрибутивах появилось новое высокоуровневое средство управления сетью - , которая принадлежит пакету iproute. Ему (пакету iproute) я посвящу . А в текущем посте я его рассматривать не буду. Команды, описываемые ниже принадлежат .

Итак, чтобы быть уверенным в работоспособности команды в любом дистрибутиве Linux, необходимо пользоваться двумя основными командами-старичками. Это , и arp. Первая команда ( отвечает за настройку сетевых интерфейсов (ip, маска, шлюз ), вторая () - настройка маршрутизации , третья (arp) - управление arp-таблицей . Хочется заметить, что выполнение данных команд без отключения стандартного скрипта запуска SystemV сетевой подсистемы внесет изменения только до первой перезагрузки/перезапуска сетевой службы, т.к. если пораскинуть мозгами, то можно понять, что скрипт /etc/init.d/networking при очередном запуске перечитает указанные выше конфиги и применит старые настройки. Соответственно, выход для постоянной установки настроек - либо команда ifconfig с соответствующими параметрами - вписать в , либо поправить руками соответствующие конфиги сетевых интерфейсов.

Так же, если выполняется команда ifconfig с недостающими параметрами (например только IP адрес), то остальные дополняются автоматически (например бродкаст адрес добавляется по умолчанию с хостовым адресом, оканчивающимся на 255 и маска подсети по умолчанию берется 255.255.255.0).

Маршрутизация для имеющихся интерфейсов в современных ядрах всегда поднимается автоматически силами ядра. Вернее сказать, прямые маршруты в сеть согласно настроек IP и подсети, в которую смотрит поднятый интерфейс формируются автоматически, силами ядра. Поле gateway (шлюз) для таких записей показывает адрес выходного интерфейса или *. В старых версиях ядра (номер ядра с которого маршруты стали подниматься автоматом - не подскажу ) необходимо было добавлять маршрут вручную .

Если есть необходимость организовать свои маршруты , то необходимо воспользоваться . Данной командой можно добавлять и удалять маршруты, но опять же, это поможет только до перезапуска /etc/init.d/networking (или другого скрипта, отвечающего за сеть в Вашем дистрибутиве). Чтобы маршруты добавлялись автоматом, необходимо так же, как и с командой ifconfig - добавить команды добавления маршрутов в rc.local, либо поправить руками соответствующие конфиги сетевых интерфейсов (например в Deb - /etc/network/options ).

По каким правилам формируются маршруты к сетям , я в

Диагностика сети Linux

Существует большое количество инструментов диагностики сети в Linux, зачастую, они очень похожи на утилиты от Microsoft. Я рассмотрю 3 основные утилиты диагностики сети, без которых выявить неполадки будет проблематично.

Думаю, что данная утилита знакома чуть ли не каждому. Работа этой утилиты заключается в отправке т.н. пакетов ICMP удаленному серверу, который будет указан в параметрах команды, сервер возвращает отправленные команды, а ping подсчитывает время требуемое отправленному пакету, чтобы дойти до сервера и вернуться. Например:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) bytes of data. 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 time=42.7 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq=2 ttl=57 time=43.2 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 time=42.5 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 time=42.5 ms 64 bytes from www.yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 time=41.9 ms ^C --- ya.ru ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4012ms rtt min/avg/max/mdev = 41.922/42.588/43.255/0.500 ms

Как видно, из приведенного примера, ping выводит нам кучу полезной информации. Прежде всего , мы выяснили, что можем установить соединение с хостом ya.ru (иногда говорят, что "хост ya.ru нам доступен"). Во-вторых , мы видим, что DNS работает корректно , потому что "пингуемое" имя было корректно преобразовано в IP адрес (PING ya.ru (87.250.251.3)). Далее , в поле icmp_seq= указана нумерация отправляемых пакетов . Каждому отправляемому пакету последовательно присваивается номер и если в данной нумерации будут "провалы", то это нам расскажет о том, что соединение с "пингуемым" неустойчиво, а так же может означать, что сервер, которому шлют пакеты перегружен. По значению time= мы видим, сколько времени пакет путешествовал до 87.250.251.3 и обратно. Остановить работу утилиты ping можно клавишами Ctrl+C.

Так же, утилита ping интересна тем, что может позволить увидеть, где именно возникли неполадки. Допустим, утилита ping выводит сообщение network not reachable (сеть недоступна) , либо другое аналогичное сообщение. Это, скорее всего, говорит о некорректной настройке вашей системы. В таком случае, можно послать пакеты по IP-адресу провайдера, чтобы понять, в каком месте возникает проблема (между локальным ПК или "дальше"). Если Вы подключены к интернету через маршрутизатор, то можно послать пакеты по его IP. Соответственно, если проблема проявиться уже на этом этапе, это говорит, о неправильном конфигурировании локальной системы, либо о повреждении кабеля, если маршрутизатор отзывается, а сервер провайдера нет, то проблема - в канале связи провайдера и т.д. Наконец, если неудачей завершилось преобразовании имени в IP, то можно проверить связь по IP, если ответы будут приходить корректно, то можно догадаться, что проблема в DNS.

Следует отметить, что данная утилита не всегда надежный инструмент для диагностики. Удаленный сервер может блокировать ответы на ICMP запросы.

traceroute

Простым языком, команда называется трассировка маршрута . Как можно понять из названия - данная утилита покажет по какому маршруту шли пакеты до хоста. Утилита traceroute несколько похожа на ping , но отображает больше интересной информации. Пример:

# traceroute ya.ru traceroute to ya.ru (213.180.204.3), 30 hops max, 60 byte packets 1 243-083-free.kubtelecom.ru (213.132.83.243) 6.408 ms 6.306 ms 6.193 ms 2 065-064-free.kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5.701 ms 5.636 ms 4 KubTelecom-lgw.Krasnodar.gldn.net (194.186.6.177) 81.430 ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.011 ms 6 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

Как видно, можно проследить маршрут от маршрутизатора провайдера 243-083-free.kubtelecom.ru (213.132.83.243) (Юг россии) до конечного хоста в www.yandex.ru (213.180.204.3) в москве.

dig

Данная утилита посылает запросы серверам DNS и возвращает информацию о заданном домене. Пример:

# dig @ns.kuban.ru roboti.ru ; <<>> DiG 9.3.6-P1 <<>> @ns.kuban.ru roboti.ru ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- 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

Команда dig послала запрос серверу DNS - ns.kuban.ru (@ns.kuban.ru - данный параметр указывать не обязательно, в таком случае источником информации о DNS будет взят сервер из настройки вашей системы) о доменном имени roboti.ru . В результате чего, получила ответ, в котором мы можем увидеть в разделе ANSWER SECTION информацию об IP адресах домена, в разделе AUTHORITY SECTION информацию о т.н. авторитетных DNS серверах. Третья строка снизу говорит нам о том, какой сервер предоставил ответ.

Другие утилиты диагностики

ping, dig и другие утилиты диагностики с параметрами, можно найти в посте .

Подключение новой сетевой карты

Подключение и запуск новой сетевой карты сводится к выполнению нескольких шагов:

1. Физическое подключение карты

3. Просмотр вывода на обнаружение системой новой сетевой карты:

Посмотрим вывод ДО подключения новой карты :

Server:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection [ 5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection [ 15.285527] e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

в выводе видно, что в системе есть 2 сетевые карты eth1 и eth2. Подключаем третью и смотрим вывод:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection [ 5.534684] e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection [ 39.274875] udev: renamed network interface eth2 to eth3 [ 39.287661] udev: renamed network interface eth1_rename_ren to eth2 [ 45.670744] e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [ 96.977468] e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

В dmesg мы видим, что появилась новая сетевушка - eth3, которая на самом деле - eth2, но переименована менеджером устройств udev в eth3, а eth2 - это на самом деле переименованная eth1 (об udev мы поговорим в отдельном посте). Появление нашей новой сетевой в dmesg нам говорит, что сетевая карта поддерживается ядром и корректно определилась . Осталось дело за малым - настроить новый интерфейс в /etc/network/interfaces (Debian), потому что данная карта не была инициализирована стартовым скриптом /etc/init.d/network . ifconfig данную карту видит:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:311847 errors:0 dropped:0 overruns:0 frame:0 TX packets:126 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:104670651 (99.8 MiB) TX bytes:16184 (15.8 KiB)

но опять же - не конфигурирует. Как конфигурировать сетевую карту говорилось выше.

Резюме

Думаю, на сегодня это все. Когда начал писать данную статью, думал что впишусь в один пост, но он получился громаден. Посему было решено разбить статью на две. Итого, я постарался изложить, не пошаговое хауту по настройке сети, а изложить принцип и объяснить понимание того, как же запускается и работает сеть в Linux. Очень надеюсь, что мне это удалось. Буду рад вашим комментариями и дополнениям. Со временем, буду статью дополнять.

There’s a single file on your computer that serves as a small gateway between you and the web. It’s called the hosts file. If you need to block websites or create personalized web shortcuts on Linux, you can tackle these jobs by adding or tweaking a few lines in the hosts file.

What’s the Linux Hosts File?

The hosts file is a plain text file that all operating systems use to translate hostnames (also known as web addresses or URLs) into IP addresses. When you type in a hostname, such as wikipedia.org, your system will look into the hosts file to get the IP address needed to connect to the appropriate server.

If you open the hosts file, you’ll quickly notice that it doesn’t have the directory of the entire internet in there. Instead, there might be just a couple lines and that’s it. What gives?

Turns out, your system will check the hosts file first before looking up a site on With DynDNS gone, here are the best free dynamic DNS providers, services, and DDNS alternatives to replace it. (usually your ISP’s DNS servers).

This means that you can use the hosts file to add to what the DNS servers can’t provide (such as aliases for locations on your local network, which is otherwise only possible if you have a DNS server set up within your local network) or override the IP addresses that your DNS servers would normally provide.

For example, if you ask for wikipedia.org, the DNS servers will return Wikipedia’s IP address to your computer. But if you wanted to block Wikipedia on that computer, you can add an entry in the hosts file that tells your computer that wikipedia.org points to some other IP address that’s different from Wikipedia’s actual IP address.

There are many other things you can do with the hosts file, but these are just some basic examples and other uses highly depend on your needs.

The Linux Hosts File’s Location

On Linux, you can find the hosts file under /etc/hosts . Since it’s a plain text file, you can open the hosts file using your preferred text editor.

However, since the hosts file is a system file, you’ll need administrative rights to save changes. So to edit the file using a Linux terminal-based text editor such as nano , you will need to first type sudo to gain superuser access:

Sudo nano /etc/hosts

To use a graphical text editor such as gedit, you can try gksu instead:

gksu gedit /etc/hosts

You have to use the terminal so you can launch the appropriate application with administrative rights. Just replace nano or gedit with your favorite terminal-based or graphical text editor. With nano, once you’re done editing the file, hit Ctrl + X , and then y to confirm overwriting the changes.

How to Add Sites to the Hosts File

In the hosts file, each entry has its own line. The syntax is simple. Type the IP address you want the hostname to translate to, press the tab key on your keyboard, and then type the hostname.

For example, to block Wikipedia, you’d type (remembering to use the tab key rather than the spacebar):

127.0.0.1 wikipedia.org

127.0.0.1 is the loopback IP address that will always point back to your own system. Since the web isn’t stored on your machine, your browser will say the site can’t be found. It is now effectively blocked.

If you feel intimidated by the terminal, check out Linux Mint’s Domain Blocker application (also known as mintnanny). It will add entries into the hosts file that point the hostnames you specify to 127.0.0.1. But to do anything else, you will still need to make changes with a text editor.

Create Shortcuts in the Hosts File

If you have a computer on your home network (say with an IP address of 192.168.1.10) that has a simple website that does something useful for you, you can type the following in your hosts file:

192.168.1.10 homeserver

Then, if you open your browser and just type in http://homeserver , it’ll automatically redirect to 192.168.1.10. And that’s much easier than typing in the IP address every time.

Alternatively, you can use the hosts file to create shortcuts to certain sites on the web. Use a command such as nslookup to find a website’s IP address, then add it to your hosts file alongside the desired shortcut, just as in the example above. But this only works on websites with dedicated IP addresses. It probably won’t work with most of the sites you visit.

Potential Issues With the Hosts File

So we’ve established how to make changes to the host file, but you may still run into issues when using Google Chrome. This web browser tends to ignore the hosts file unless you do one of two possible things:

  1. Type http:// at the beginning of each address. For example, if you have Wikipedia blocked in the hosts file, then Chrome will circumvent the block if you just type wikipedia.com into the address bar. If you type http://wikipedia.com into the address bar, it will follow the hosts file.
  2. Disable “Use a web service to help resolve navigation errors” in Chrome’s settings and then you won’t have to type http:// at the beginning every time. This is one of Using a Chromebook, but concerned about privacy? Tweak these 7 settings in the Chrome browser on Chrome OS to stay secure online. worth doing anyway.