Есть вопросы? Позвоните нам
(061) 707-09-62
Заказать звонок

Настройка локальной сети вручную в Ubuntu.

ethernetУ многих новичков, установивших на свой компьютер Ubuntu, возникают проблемы с настройкой сети. Постараемся дать вам об этом представление и разрушить миф о сложностях процесса настройки.

Принцип устройства сети (на пальцах :) ).

IP-адрес:

Компьютер в сети, должен быть уникальным.
Уникальность ему предоставляет IP-адрес. IP-адрес – это последовательность единиц и нолей, равная 32 знакам (1100100111…) – страшно и непонятно :) .
Для наглядности и удобства эту последовательность разбили на 4 равные части и перевели в десятичную систему исчисления.
Что получилось? 32 знака (единицы и ноли) = 8 знаков * 4 группы = 255.255.255.255 (8 знаков = 2 в 8-й степени – 1 = 256 – 1 = 255).

То есть максимально возможная группа цифр – это 255.255.255.255.

Маска подсети:

Что такое маска подсети? А это часть ip-адреса. IP-адрес поделили на две неравные части. Первые 24 знака (бита) – маска, а остальные 8 – адрес хоста в подсети.
Маска подсети нужна для определения того, является ли компьютер которому отправляется пакет, компьютером той же подсети, что и наш. Если маска у нас одна, тогда шлем к компу-получателю, если же нет, то шлем пакет шлюзу (шлюз – это комп, маршрутизатор или программа для сопряжения компьютерных сетей, использующих разные протоколы).

Шлюз:

Как работает сеть? Если сказать просто, то так: компьютер отсылает пакет абы куда :) , но в пакете есть информация в которой записано кому он предназначен – информация о получателе. Пакет может прийти хосту, для которого он не предназначен. Хост проверит по записанной ключевой информации принадлежность пакета, убедится, что пакет не для него, и выбросит его как ненужный. И так происходит пока пакет не прийдет к получателю.

Что за информация записана в пакете, по которой хосты определяют принадлежность пакета получателю?

Записаны MAC-адрес получателя и ip-адрес получателя.
MAC-адрес вещь уникальная, в пределах земного шара :) .
При тривиальных условиях, то есть когда компьютеры в одной подсети, записывается MAC-адрес получателя и ip-адрес получателя, а когда пакет шлем через шлюз, то в пакете указывается MAC-адрес шлюза (его мы узнаем из ip-адреса шлюза с помощью ARP-запроса) и ip-адрес компьютера-получателя.

DNS:
DNS-сервер – это компьютер, который знают всё про всех :) . Это глобальное определение.
На деле, всё примерно так: есть DNS-серверы национальные (украинский, белорусский, немецкий, …), под ними DNS-серверы региональные (запорожская область, днепропетровская область и т.д.), под региональными – местные DNS-серверы. Национальные серверы знают друг о друге и о серверах которые ниже, региональные знают о серверах которые выше и ниже них. В общем железа хватает, для того, чтобы определить что кому переслать.

Пример: Есть желание попасть на http://yandex.ru. Наш компьютер формирует запрос для сервера – это компьютер на котором размещена страничка http://www.yandex.ru :) . Для того, чтобы узнать адрес этого сервера, ему нужно, сначала, посмотреть файл hosts (в windows – C:/windows/system32/drivers/etc/hosts, в linux – /etc/hosts) и, если в нём нет записи с этим именем, то послать запрос DNS-серверу, в котором прописаны символы – "http://yandex.ru". DNS-сервер посмотрит в таблицах соответствий имён ip-адресам, и найдет ip-адрес сервера. Этот 32-битный адрес он вернёт нам. Используя этот ip-адрес мы приспокойненько попадаем на нужную нам страничку.

Если же DNS-сервер не отвечает, то мы отправляем запрос второму DNS-серверу.
Если у вас не работает интернет, проверьте, может быть не прописаны или прописаны но неправильно DNS-серверы.
Проверить это можно "попинговав" сначала yandex.ru, а потом его ip-адрес: 77.88.21.11.

IP-адреса есть уникальные (белые, реальные, внешние) и неуникальные (серые, внутренние).

Адреса, относящиеся к подсетям, представленным ниже, не используются в интернете в качестве реальных адресов.

10.0.0.0 — 10.255.255.255 (одна сеть класса A)
172.16.0.0 — 172.31.255.255 (шестнадцать сетей класса B)
192.168.0.0 — 192.168.255.255 (256 сетей класса C)
Это "серые", "внутренние" адреса. Они используются в локальных компьютерных сетях, которые если и имеют выход в интернет, то только через шлюз, у которого есть внешний ip-адрес. Если у этого шлюза вторая сеть – интернет, и адрес внешний, то необходимо настроить на нем технологию транслирования сетевых адресов (network address translation,NAT). Это делается для того, чтобы сетевые пакеты из локальной сети, прошедшие через него в интернет, не имели серого адреса-отправителя, т.к. в этом случае сервер, для которого предназначен пакет, не поймет, кому именно из миллионов локальных сетей возвращать ответный пакет. При использовании NAT, шлюз меняет адрес отправителя на свой внешний адрес, а у себя записывает, что "ответные пакеты с этого сервера перенаправлять такому-то компьютеру…".
В этом случае используется SNAT (source network address translation).
Если же нам необходимо изменять адрес получателя (например, в нашей локальной сети есть сервер терминалов с серым адресом, а мы бы хотели иметь к нему доступ из интернета), то можно использовать на нашем шлюзе DNAT (destination network address translation) – "проброс портов".
То есть мы указываем в правилах файервола, что пакеты, предназначенные нам и пришедшие на порт 3160, перенаправлять на внутренний серый адрес сервера терминалов.

Определение состояния сетевых устройств и средств.

Если рассматривать самое простое соединение, т.е. компьютер в локальной сети и получает настройки автоматически, то необходимо выполнить команду:

Далее, для изменения настроек нам понадобятся права суперпользователя, по этому будем использовать программу sudo.

sudo dhclient eth0

(команду dhclient надо запускать с правами суперпользователя).

Команда ifconfig (без параметров), отображает информацию только об активных сетевых интерфейсах.

Просмотреть информацию по всем интерфейсам можно командой ifconfig -a, выбрать необходимый из них (eth0, или eth1, или eth0:1) и работать с ним.

ifconfig -a

ifconfig -a

В Ubuntu имена сетевых устройств имеют вид ethN, где N – число, означающее номер устройства связи в системе.
Нумерация устройств начинается с нуля. Если в компьютере две сетевых карты, то они будут с идентификаторами eth0 и eth1. Если в сетевую карту ethN вставлен сетевой провод, идущий в модем, роутер или свитч, будет написано "RUNNING", на первом рисунке это видно.
Интерфейс eth0 – это карта Ethernet, к которой можно подключить сетевой кабель. В текущий момент сетевой кабель подключен, поэтому интерфейс активен, и для него отображаются ip-адрес, широковещательный адрес и маска подсети:

 

Интерфейс eth0 – карта Ethernet. Сетевой кабель подлючен, интерфейс активен, присвоен ip(192.168.1.254) и маска подсети(255.255.255.0):

Интерфейс lo – интерфейс обратной петли и позволяет компьютеру обращатся к самому себе. Интерфейс имеет ip-адрес 127.0.0.1 и необходим для нормальной работы системы:

Команда ifconfig -a удобна в тех случаях, когда надо быстро выяснить состояние интерфейсов, в частности, если необходимо узнать их ip-адреса. Помимо сведений о конфигурации сетевых интерфейсов команда выдает еще много полезной информации, например, количество отправленных и полученных пакетов (параметры RX и TX).

Еще один интересный адрес, который можно увидеть у сетевой карты – параметр HWaddr (Hardware Address, аппаратный адрес). Это mac-адрес (Media Access Control, управление доступом к среде). Это 48-разрядный серийный номер сетевого адаптера, присваиваемый производителем. Так как lo создан программно, у него не может быть аппаратного адреса.

 

Настройка сетевого интерфейса при помощи ifconfig

Команда ifconfig позволяет конфигурировать сетевой интерфейс по вашему усмотрению и предлагает широкие возможности для этого.
Чтобы получить подробную информацию по команде, пишем в терминале:

man ifconfig.

Если компьютер со статическим ip-адресом и не имеет доступа ни к другим сетям ни к интернету, то команда настройки сетевого интерфейса будет такой:

sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up

Поясняю:

eth0 – идентификатор сетевого оборудования (сетевая карта).

192.168.1.2 – присваеваемый ip-адрес.

netmask 255.255.255.0 – присваеваемая маска подсети.

up – поднять интерфейс (то есть применить изменения, начать работу сетевой карте).

down – остановить интерфейс.

Команда: sudo ifconfig eth0 down. Т.е. остановить работу сетевой карты с eth0 идентификатором.

Бывает так, что провайдер интернет привязывает mac-адрес сетевой карты к учётке клиента. При замене сетевой карты или же компьютера, мы получим отсутствие интернета на нашей стороне. Как временное решение может подойти подмена реального mac-адреса, mac-адресом который был зарегистрирован у провайдера. Почему временное? Потому, что описанная ниже команда делает изменения которые удалятся, при перезагрузке компьютера.

Сначала выясняем наш старый mac-адрес, выполняем команду ifconfig без параметров.

Допустим он у нас такой: 00:00:00:00:00:01.

Производим следующие действия, то есть выполняем последовательность команд:

1) Отключаем интерфейс: "ifconfig eth0 down"

2) Изменяем MAC: "ifconfig eth0 hw ether 00:00:00:00:00:01"

3) Включаем интерфейс:"ifconfig eth0 up"

Все действия можно выполнить одной командой:

sudo ifconfig eth0 down && ifconfig eth0 hw ether 00:00:00:00:00:01 up

&& – означает, выполнить следующую команду при успешном выполнении предыдущей команды.

Как я писал выше, все эти настройки действительны лишь до перезагрузки системы. Сделаем их постоянными следующим образом:

 

Редактируем файл /etc/network/interfaces

Теперь приступим к редактированю файла настройки сетевых интерфейсов. Вот эти настройки и будут долговременными :) , пока мы их не поменяем в файле снова.

Набираем команду ifconfig -a. Видим список всех (активных и неактивных) сетевых устройств, которые именуются как eth0, eth1, eth2 и т.д.

На скриншоте вы видите три устройства:

еth0 — первая сетевая карта.

lo — локальная петля.

Локальная сеть подключена к сетевой карте eth0.

Почти вся информация о настройках сети и методах ее активации, хранится в файле /etc/network/interfaces, именно с ним мы и будем работать, используя редактор.

Открываем файл:

sudo gedit /etc/network/interfaces

auto lo – говорит о том, что интерфейс lo поднимается автоматически при загрузке системы.

Добавьте в файл строки:

auto eth0

iface eth0 inet static

address 192.168.1.254

netmask 255.255.255.0

gateway 192.168.1.1

auto eth0 – сетевая карта eth0 поднимается автоматически во время загрузки системы.

iface eth0 inet static – указывает, что интерфейс (iface) сетевой карты (eth0) находится в диапазоне адресов ipv4 (inet) со статическим ip (static).

address 192.168.1.254 – статический ip адрес, тут пишем свой ip-адрес.

netmask — стандартная маска сети.

gateway – ip-адрес основного шлюза.

Редактирование закончено. Сохраняем и закрываем файл.

Запросите у вашего провайдера услуг Интернет (Internet Service Provider, ISP) адреса основного и вспомогательного серверов DNS и опишите их в файле /etc/resolv.conf.
На примере я укажу адрес DNS-сервер своего провайдера, вы должны ввести свои данные.
Откройте файл для редактирования:

sudo gedit /etc/resolv.conf

Вставьте свои данные:

nameserver 192.168.1.1

nameserver 172.16.0.1

Сохраните и закройте файл.

Для настройки DHCP и получения сетевых параметров автоматически, нужно добавить две строчки (пусть у меня так поднимется карта eth1).

Откройте файл:

sudo gedit /etc/network/interfaces

Вставьте строчки следующего содержания:

auto eth1

iface eth1 inet dhcp

Ваш файл будет выглядеть так:

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address 192.168.1.254

netmask 255.255.255.0

gateway 192.168.1.1

auto eth1

iface eth0 inet dhcp

Если по каким-либо причинам вы хотите чтобы при загрузке у сетевой карты eth0 был другой mac-адрес, для этого нужно дописать строчку hwaddress ether 00:00:00:00:00:01:

auto eth0

iface eth0 inet static

address 192.168.1.254

netmask 255.255.255.0

gateway 192.168.1.1

hwaddress ether 00:00:00:00:00:01

 

Несколько IP-адресов на одной сетевой карте

На одной сетевой карте может быть несколько ip-адресов, это бывает необходимо, если в коммутатор идут два провода от разных сетей и один от компьютера. В этом случае можно настроить на компьютере адреса обоих сетей без использования дополнительной сетевой карты. Для этого неободимо идентифицировать так называемый алиас (alias) к определенному сетевому интерфейсу, и выглядеть это будет так: сетевой_интерфейс:1 или сетевой_интерфейс:2, т.е. eth0:1 или eth1:2. Идентифицировать его можно следующим образом:

ifconfig eth0:1 192.168.0.5 netmask 255.255.255.0 up

Интересно то, что можно настроить основной интерфейс через dhcp (автоматически) dhclient eth0, а алиас eth0:1 в статику, чего я в альтернативных операционных системах не нашел.

Все это хорошо, но после перезагрузки все настройки слетают. В Ubuntu есть файл /etc/network/interfaces. В него можно прописать опции сетевых карт, которые будут устанавливаться при загрузке системы (благодаря скрипту /etc/init.d/networking, запускающемуся автоматически).

Откройте файл для редактирования:

sudo gedit /etc/network/interfaces

Синтаксис простой: