Как настроить сеть в линукс
Перейти к содержимому

Как настроить сеть в линукс

  • автор:

Настройка сети в Linux, диагностика и мониторинг

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

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

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

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

Начнем понимание сетевых механизмов 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». В целом, вся работа Linux основана на процессе init, который рождается при загрузке ОС и плодит своих потомков, которые в свою очередь и выполняют всю необходимую работу, будь то запуск bash или демона. Да, и вся загрузка Linux основана на скриптах bash, в которых прописана вся последовательность запуска мелких утилит с различными параметрами, которые последовательно запускаются/останавливаются при запуске/остановке системы. Аналогично запускается и сетевая подсистема Linux. Каждый дистрибутив Linux имеет слегка отличающийся от других механизм инициализации сети, но общая картина, думаю, после прочтения будет ясна. Если просмотреть стартовые скрипты сетевой подсистемы какого-либо дистрибутива Linux, то, как настроить конфигурацию сети с помощью конфигурационных файлов, станет более-менее понятно, например у Debian/Ubuntu (за основу возьмем эту ветвь дистрибутивов) за инициализацию сети отвечает скрипт /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 ]  check_network_file_systems() pvfs2 check_network_swap()  [ -e /proc/swaps ]  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 " 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.

Соответственно, прочитав man interfaces (rus) или man interfaces (eng), становиться ясно, как же в Debian/Ubuntu настроить какой-либо сетевой интерфейс с помощью конфига /etc/network/interfaces. Ниже, пример данного конфигурационного файла для 3х интерфейсов: петлевой (lo), со статичным IP (eth2) и IP получаемым по dhcp (eth0):

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/networks

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

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 home-network.

/etc/nsswitch.conf

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

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

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

/etc/resolv.conf

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

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 используется динамическая генерация данного файла, с помощью утилиты resolvconf. Она является посредником между службами, динамически предоставляющими сервера имен (например DHCP client) и службами, использующими данные сервера имен. Статические адреса DNS серверов, в случае использования resolvconf, задаются внутри /etc/network/interfaces (подробнее об этом — в разделе настройки).

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

Настройка сети подробно разобрана в отдельной статье.

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

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

ping

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

[root@proxy ~]# 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, но отображает больше интересной информации. Пример:

[root@proxy ~]# 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 и возвращает информацию о заданном домене. Пример:

[root@proxy ~]# 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

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

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

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

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

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

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

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

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. Очень надеюсь, что мне это удалось. Буду рад вашим комментариями и дополнениям. Со временем, буду статью дополнять.

Как настроить сеть в Ubuntu: пошаговая инструкция

Как только вы установили операционную систему, нужно подключить компьютер или сервер к интернету. В Ubuntu настройки сети нужно задавать самостоятельно. Пользователи, которые делают это впервые, часто сталкиваются с трудностями. В этой статье мы рассмотрим несколько способов подключения и основные параметры.

Как работает сеть?

Чтобы в Ubuntu настроить сеть, нужно сначала разобраться, как она работает.

Принцип обмена информацией между устройствами заключается в отправке пакетов данных. Каждый такой пакет кроме самих данных содержит адреса отправителя и получателя. Это IP-адрес (уникальный числовой идентификатор) и MAC-адрес (физический адрес для связи по локальной сети).

При подключении к сети компьютер может обмениваться данными только с устройствами из своей локальной сети по MAC-адресу. Для соединения с остальными устройствами необходим IP-адрес.

Задают его с помощью протокола DHCP. Упрощённо процесс можно представить так.

  1. Компьютер направляет запрос в локальную сеть, чтобы опознать DHCP-сервер, который отзывается и направляет в ответ IP-адрес.
  2. Затем компьютер направляет запрос IP маршрутизатору, чтобы получить доступ к Интернету.
  3. Следующим действием компьютер так же определяет DNS-серверы или уточняет стандартные сведения у маршрутизатора.

Настройка основных параметров сети в Ubuntu

Перед подключением к Интернету систему нужно подготовить и настроить несколько параметров.

Важно отметить, что для работы в Терминале предусмотрено 2 вида команд. Если вначале стоит знак $, нужны права пользователя. Если видите знак #, вводить их можно только с правами суперпользователя, то есть с правами пользователя они банально не будут выполняться. При этом эти символы указывать не нужно, они ставятся автоматически.

Чтобы настройка сети в убунту была выполнена корректно, желательно отключить утилиты для автоматического подключения. Например, может помешать Network Manager, его значок расположен на верхней панели справа.

Отключить его можно с помощью следующей команды.

$ sudo stop network-manager

Для включения введите противоположную команду.

$ sudo start network-manager

Проверьте параметры сетевого фильтра. Обычно ничего менять не нужно.

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

Определите имя сетевого адаптера. Для этого введите такую команду.

$ sudo lshw -C network

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

Как выполнить в Ubuntu сетевые настройки через терминал

Терминал является наиболее удобным инструментом, с помощью которого выполняется настройка сети ubuntu server.

Для начала нужно посмотреть перечень установленных сетевых интерфейсов. Для этого введите одну из команд.

Система выдаст подробную информацию.

В нашем случае доступно 2 интерфейса.

  • lo ― локальная петля. Она нужно для соединения по сети к этому же устройство, при этом не нуждается в дополнительной настройке.
  • enp0s3 ― сетевой адаптер Ethernet.

Параметр «up» означает, что интерфейс активен, у параметра «down» противоположное значение.

Нам необходимо в ubuntu включить сетевой интерфейс, чтобы сеть находилась в состоянии «up». Для этого нужно ввести команду.

В данном случае «enp0s3» – это имя сетевого интерфейса, у вас оно может быть другим.

В Ubuntu настройка сети в консоли выполняется через изменения в конфигурационном файле «interfaces». Открывается он командой.

$ sudo gedit /etc/network/interfaces

Здесь выполняется настройка ip адреса ubuntu. Если у вас он динамический, введите следующее.

iface [имя интерфейса] inet dhcp

auto [имя интерфейса]

В верхней части редактора нажмите кнопку «Сохранить».

Если IP статический, потребуется ввести больше параметров.

iface [имя интерфейса] inet static – IP-адрес адаптера.

address [адрес] – порт ethernet.

netmask [адрес] – маска подсети. gateway [адрес] – шлюз.

dns-nameservers [адрес] – сервер DNS .

auto [имя интерфейса] – команда для подключения к заданной сетевой карте при запуске операционной системы.

Выглядит настройка так.

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

Параметры для временной настройки задаются командой.

$ sudo ip addr add 10.2.119.116/24 dev enp3s0

В данном примере

10.2.119.116 — это IP-адрес сетевой карты. У вас он, скорее всего, будет отличаться.

/24 — количество бит в префиксной части адреса.

enp3s0 — интерфейс сети или логическое имя, которое мы узнавали ранее.

Настройка DNS сервера Ubuntu

Динамический интерфейс подключения предполагает автоматическое определение DNS серверов. Поэтому рассмотрим только статический, где для ubuntu прописать DNS придётся вручную.

Для версий операционной системы выше 12.04 тоже нужно изменить параметры в файле «interfaces». Чтобы его открыть, вводим команду.

$ sudo gedit /etc/network/interfaces

Откроется текстовый редактор, где нужно вписать дополнительную строку.

dns-nameservers [адрес]. Вам нужно ввести актуальные параметры, они могут отличаться от используемых в примере.

Если у вас стоит более ранняя версия Ubuntu (Linux), настроить DNS нужно через другой конфигурационный файл. Соответственно, открывается он следующей командой.

$ sudo gedit /etc/resolv.conf

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

Настройка соединения PPPoE

Настройка выполняется с помощью команды.

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

В следующем окне нужно выбрать сетевую карту. Если она одна, этот пункт будет пропущен.

Затем система задаст вопрос о популярных параметрах, где нужно выбрать «Да». Дальше введите логин и нажмите «ОК». Последует ещё 3 окна для определения сервера DNS, ограничения размера и на автоподключение. Везде нужно выбрать «Да».

Соединение с интернетом установлено.

Настройка соединения DIAL-UP

Эту настройку можно выполнить двумя способами.

Самый простой – запустить утилиту pppconfig.

Дальше просто следует инструкциям. Если не хватает каких-либо данных, уточните параметры у провайдера.

Можно выполнить настройку с помощью утилиты wvdial, но это несколько сложнее.

Введите команда для установки пакета через терминал.

$ sudo apt install wvdial

Запустите с помощью команды утилиту для автоматической конфигурации.

В результате эта утилита создаст файл «wvdial.conf», куда уже перенесены все данные с модема. Откройте его с помощью команды.

$ sudo gedit /etc/wvdial.conf

Перед вами появится текстовый документ, где нужно подкорректировать 3 параметра.

Idle Seconds = 0 (соединение не будет отключено, если компьютер не будет использован длительное время)

Dial Attempts = 0 (нет ограничений количества попыток установки соединения)

Dial Command = ATDP (импульсный набор номера).

Когда все параметры будут указаны, введите команду для установки соединения DIAL-UP.

Настройка сети через Network Manager

В дистрибутиве Ubuntu предусмотрена особая утилита с графическим интерфейсом, называется она Network Manager. Чтобы её вызвать, нужно нажать на значок стрелок на верхней панели.

Нажмите на него, чтобы открыть окно. В контекстном меню выберете пункт «Изменить соединения».

Справой стороны увидите кнопку «Добавить», нажмите на неё. В следующем окне выбирайте «Ethernet» и нажмите «Создать…».

Дальше нужно задать параметры.

Первый из них – название соединения. В качестве примера укажем «тестовое соединение». Ниже по очереди заполним вкладки.

  1. Общий. Ставим галки в двух верхних пунктах.

  1. Ethernet. Нужно выбрать сетевую карту из списка.
  2. Параметры IPv4. Для динамического интерфейса нужно выбрать «Автоматически (DHCP)». Для статического – «Вручную», при этом придётся самостоятельно внести все параметры, а запросить их можно у провайдера.

Нажмите «Сохранить» и убедитесь, что стоит галочка в выпадающем меню напротив «Управление сетью». Иногда может потребоваться перезапуск сетевого интерфейса в ubuntu, поэтому заключительный этап – перезагрузка компьютера.

Заключение

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

Утилита имеет графический интерфейс, поэтому задать нужные параметры проще.

Кроме того, чтобы обеспечить подключение к сети Интернет, важно задать дополнительные параметры, в том числе выполнить настройку DNS сервера, соединения PPPoE и DIAL-UP.

Сетевые настройки Linux

В этой статье поговорим о настройках сетевого подключения в Linux. Расскажем про команду ifconfig. Посмотрим, как настраивать дистрибутивы Ubuntu, CentOS и прочие).

Перед началом настройки сетевого подключения в Linux нужно сначала проверить, каковы текущие настройки сети. Для этого нам вполне подойдёт команда ifconfig. В принципе, для получения информации мы можем использовать её и без прав ROOT, но если хотим получить привилегии суперпользователя, вводим sudo ifconfig. Результатом выполнения команды станет получение списка имеющихся сетевых подключений и их параметров:

1-20219-e7d956.png

Итак, мы видим, что на нашем компьютере используются два сетевых интерфейса: eth0 и lo. Давайте рассмотрим их подробнее.

Интерфейс lo является локальной петлёй, имеющей IP-адрес 127.0.0.1. Она предназначена для обеспечения сетевого доступа к компьютеру. В принципе, этот интерфейс не требует дополнительных настроек.

Что касается интерфейса eth0, то это не что иное, как Ethernet — сетевая карта, имеющая следующие сетевые параметры: — 192.168.1.18 — это IP-адрес; — 255.255.0.0 — маска сети; — 00:11:5b:91:25:3e — MAC-адрес.

При этом значение RUNNING показывает нам, что в данный момент наш сетевой интерфейс eth0 работает. Кстати, нужно понимать, что в различных версиях Linux имя сетевого интерфейса может быть разным — eth0, eth1, eth2 и т. д.

Если хотим посмотреть тип соединения, скорость и поддерживаемые параметры, набираем:

 
sudo ethtool eth0

Вывод будет следующим:

2-20219-fd19e6.png

Из него мы видим, что скорость работы сетевого Linux-интерфейса eth0 — 100 Мб/с с Full Duplex (включённым полным дуплексом). Тут можно уточнить, что полный дуплекс отличается от полудуплекса (Half Duplex) тем, что обеспечивает передачу входящих и исходящих данных одновременно, а не поочередно.

Переходим к сетевым настройкам Linux

Узнав информацию о текущих подключениях, можно переходить к настройкам локальной сети в Linux. У нас есть 3 способа сделать это: — через графическую оболочку; — используя команду ifconfig либо инструмент Network Manager; — используя конфигурационные файлы сетевого сервиса Network либо Networking.

В принципе, последний способ считается одним из самых удобных и надёжных. Чтобы настроить сеть в Linux, нужно открыть файл, который содержит конфигурацию интерфейса. Здесь всё будет зависеть от того, какой именно Linux-дистрибутив используется.

LinusSpec_Welcome_800x450-20219-35881a.png

Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Ubuntu, Kubuntu и прочие)

Файл с параметрами сетевых подключений здесь:

 
/etc/network/interfaces

Чтобы поменять в Linux настройки сети, файл надо открыть с root-правами любым текстовым редактором. Например, используя nano:

 
sudo nano /etc/network/interfaces

Чтобы обеспечить автоматическое получение адресов от DHCP-сервера, нужно прописать:

 
allow-hotplug eth0 iface eth0 inet dhcp

Если же адрес нужно прописать статически, указываем:

 
allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1

В этой конфигурации мы рассмотрели лишь пример обычной домашней сети, в которой адрес компьютера 192.168.1.2, а адрес DNS-сервера и шлюза (их функции обычно выполняет wifi-роутер) — 192.168.1.1.

Вариант № 2. RedHat-based дистрибутивы (OpenSuse, CentOS, Fedora)

Наш файл с настройками сети Linux находится здесь:

 
/etc/sysconfig/network-scripts/ifcfg-eth0

Мы открываем его с помощью nano или vim:

 
vim /etc/sysconfig/network-scripts/ifcfg-eth0

Если нужно обеспечить автоматическое получение настроек от DHCP-сервера:

 
DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00-1C-1B-11-F6-07 ONBOOT=yes

А вот статический IP-адрес:

 
DEVICE=eth0 HWADDR=00-1C-1B-11-F6-07 IPADDR=192.168.1.2 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 ONBOOT=yes

В этом случае IP-адреса DNS-серверов прописываются в файле:

 
/etc/resolv.conf

Вот, к примеру, для публичных DNS-серверов от Google:

 
nameserver 8.8.8.8 nameserver 8.8.4.4

В принципе, это всё, и настройка сети в Linux завершилась. Осталось лишь выполнить перезапуск сети:

 
service network restart
 
/etc/init.d/network restart

Вместо поскриптума

Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.

Например, следующей командой мы выключим сетевую карту eth0:

 
sudo ifconfig eth0 down

А вот команда, включающая сетевую плату в Linux:

 
sudo ifconfig eth0 up

Также мы можем полностью остановить работу сетевых интерфейсов:

 
service network stop
 
/etc/init.d/network stop

Теперь включаем всё обратно:

 
service network start
 
/etc/init.d/network restart

На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS:

Настройка сети из консоли в Ubuntu

В Ubuntu подключение к сети настраивается с помощью сервиса Network Manager. Чтобы подключиться к сети, достаточно пару раз кликнуть мышкой, выбрать соединение - и готово. То же самое, и даже ещё проще, при использовании проводного соединения - тут интернет подключается автоматически, как только загрузился апплет.

Но не всегда доступен графический интерфейс: после неудачной установки драйвера или очередного обновления не запускается графическая оболочка, а на серверах она и вовсе не используется. В этой небольшой инструкции будет разобрана настройка сети Ubuntu из консоли. Мы поговорим о том, как настроить получение IP-адреса по DHCP, а также настроить работу DNS. Рассмотрим ручную и автоматическую настройку, также попробуем сделать это через системные конфигурационные файлы.

Как работает сеть?

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

Компьютеры обмениваются между собой информацией с помощью пакетов. Все данные в сети интернет передаются с помощью пакетов небольшого размера. Если не углубляться в подробности, то каждый пакет содержит адрес отправителя, адрес получателя и сами данные. Эти адреса есть не что иное, как привычные нам IP-адреса. Кроме IP, у компьютера есть физический адрес, который используется для общения между компьютерами в локальной сети. Это MAC-адрес и задается он производителем сетевой карты.

Как только компьютер подключился к сети, независимо от того проводное это соединение или беспроводное, он может общаться только с компьютерами в локальной сети и только по физическим адресам. Для того, чтобы получить доступ в глобальную сеть, машине в ней нужно получить IP-адрес. Для этого используется протокол DHCP. Если кратко: наш компьютер спрашивает все компьютеры в локальной сети, кто здесь DHCP-сервер, DHCP ему отвечает и выдаёт IP-адрес. Таким же образом компьютер узнаёт IP маршрутизатора, через который он может получить доступ к Сети, а затем пытается найти DNS-серверы или узнать стандартные у маршрутизатора. С теорией разобрались, перейдем к практике.

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потому что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig:

net

В нашей системе только один интерфейс - это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

net1

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

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

sudo service networking restart

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

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

  • address - наш IP-адрес;
  • gateway - шлюз, через который будем получать доступ в интернет;
  • netmask - маска сети;
  • network - адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast - широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast - это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

sudo service networking restart

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Ubuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Ручная настройка сети в Ubuntu

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

Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.

Как и в предыдущем примере, смотрим сетевые интерфейсы:

net

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

Получение IP-адреса по DHCP

Сначала включаем интерфейс:

sudo ip link set enp0s3 up

Затем с помощью команды dhclient запрашиваем ip:

sudo dhclient enp0s3

Всё, настройка сети Ubuntu 16.04 завершена, у нас есть IP-адрес, и осталось только настроить DNS, но это мы рассмотрим ниже.

Настройка статического IP

sudo ip link set enp0s3 up

Устанавливаем IP-адрес, маску сети и broadcast-адрес для нашего интерфейса:

sudo ip addr add 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

Указываем IP-адрес шлюза:

sudo ip route add default via 192.168.1.1

net2

Здесь 192.168.1.7 - наш IP-адрес, 255.255.255.0 - маска сети, 192.168.1.255 - широковещательный адрес. Замените эти значения на свои.

Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:

sudo ip -4 addr flush dev enp0s3

Настройка DNS

Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 4.4.4.4

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

Выводы

В этой статье была рассмотрена настройка сети Ubuntu из консоли. Я пытался не просто показать команды, с помощью которых это можно сделать, но и объяснить, как это работает. Теперь вы будете знать, что нужно делать, если у вас нет доступа к графическому интерфейсу, но срочно нужно попасть в сеть. Если остались вопросы, пишите в комментариях!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *