Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.Настройка и управление сетевой подсистемой Linux пакет iproute2

2. Настройка сетевых интерфейсов в дистрибутивах DebainUbuntu

22.2.1. Файл конфигурации /etc/network/interfaces

Файл является основным файлом настроек сетевых интерфейсов, соответствующих сетевым картам, в дистрибутивах Debain/Ubuntu.

Клиент DHCP

В примере ниже показано, что наша текущая система Ubuntu 11.04 настроена таким образом, что клиент используется для сетевого интерфейса (соответствующего первой сетевой карте).

root@ubu1104srv:~# 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
auto eth0
iface eth0 inet dhcp

Использование клиента является отличной практикой в случае настройки клиентских машин, но в случае настройки серверов чаще всего требуется использовать .

Фиксированный IP-адрес

В примере ниже показано содержимое файла в случае использования .

root@ubu1104srv:~# 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
auto eth0
iface eth0 inet static
address 192.168.33.100
network 192.168.33.0
netmask 255.255.255.0
gateway 192.168.33.1

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

22.2.2. Утилита /sbin/ifdown

Рекомендуется деактивировать сетевой интерфейс перед изменением его конфигурации (хотя это и не обязательно). Данная операция может быть осуществлена с помощью утилиты .

Утилита не выведет какого-либо сообщения при деактивации сетевого интерфейса с фиксированным IP-адресом. Однако после деактивации сетевого интерфейса информация о нем больше не будет содержаться в выводе утилиты .

root@ubu1104srv:~# ifdown eth0
root@ubu1104srv:~# ifconfig
lo   Link encap:Local Loopback 
     inet addr:127.0.0.1 Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:106 errors:0 dropped:0 overruns:0 frame:0
     TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:11162 (11.1 KB)  TX bytes:11162 (11.1 KB)

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

22.2.3. Утилита /sbin/ifup

Ниже приведен вывод утилиты при активации сетевого интерфейса с использованием клиента DHCP

(Обратите внимание на то, что данный вывод был получен в дистрибутиве Ubuntu 10.10, при этом в дистрибутиве Ubuntu 11.04 утилита не генерирует вывода по умолчанию).

root@ubu1010srv:/etc/network# ifup eth0
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/08:00:27:cd:7f:fc
Sending on LPF/eth0/08:00:27:cd:7f:fc
Sending on Socket/fallback
DHCPREQUEST of 192.168.1.34 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.33.100
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.33.77 from 192.168.33.100
DHCPREQUEST of 192.168.33.77 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.33.77 from 192.168.33.100
bound to 192.168.33.77 -- renewal in 95 seconds.
ssh stop/waiting
ssh start/running, process 1301
root@ubu1010srv:/etc/network#

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

Установка MTU и TTL

MTU (Maximum Transfer Unit) — параметр определяет величину максимальной единицы передачи.
Это максимальное количество октетов (байт), которое интерфейс способен поддерживать
за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет
1500 (максимальный размер пакета Ethernet).TTL (Time To Live) — время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами.
Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу.
Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для ).
Для DNS-записей TTL определяет время актуальности данных при кешировании запросов.

Для изменения велечины MTU отредактируем файл конфигурации , например так:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
mtu 600

Для изменения велечины TTL наберите:

$ sudo su
затем
$ echo "128" > /proc/sys/net/ipv4/ip_default_ttl

Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите

Управление ARP-таблицей

В локальной сети текущий хост для определения физических адресов (MAC-адресов) по IP-адресам удаленных узлов использует протокол ARP и локальный ARP -кэш (ARP-таблицу). Управление ARP-таблицей осуществляется командой ip neigh. Каждый узел локальной сети (в том числе и хабы/свичи) содержат свою локальную ARP-таблицу (кэш), которая устанавливает соответствие между IP и MAC-адресами узлов подсетей, в которые входит данную сеть. В ARP-таблице имеются два вида записей:

  • Динамические записи, которые периодически обновляются с использованием протокола ARP (если запись «устаревает», то она удаляется).
  • Статические записи, которые создаются пользователем с помощью соответствующих команд и существуют до тех пор, пока текущий узел не будет выключен/перезагружен.
nout:~# # отображение содержимого таблицы ARP
nout:~# ip neigh show
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE
nout:~# # добавление статической записи в ARP таблицу
nout:~# ip neigh add 192.168.1.100 lladdr 00:00:00:11:00:22 dev wlan0
nout:~# ip neigh show
192.168.1.100 dev wlan0 lladdr 00:00:00:11:00:22 PERMANENT
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE
nout:~# # удаление записи
nout:~# ip neigh del 192.168.1.100 dev wlan0
nout:~# ip neigh show
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE

Настройка сетевых интерфейсов в CentOS

Настройка сетевых интерфейсов в CentOS происходит правкой конфигурационных файлов. Файлы интерфейсов хранятся в директории /etc/sysconfig/network-scripts, каждый отвечает за свой интерфейс, таким образом сколько интерфейсов, столько и файлов. Во время установки создается дефолтный файл с именем — ifcfg-enp0s3.

Содержание файла ifcfg-enp0s3:

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="cac20b32-66a0-46bd-9b68-ec786f52d2f8"
DEVICE="enp0s3"
ONBOOT="yes"

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

  • TYPE — задает тип сетевого адаптера, в данном случае «Ethernet».
  • BOOTPROTO — способ назначения ip-адреса. Может иметь значения: dhcp — динамический ip-адрес, static или none — статический ip-адрес.
  • DEFROUTE — использовать интерфейс в качестве маршрута по умолчанию. Значения yes или no.
  • IPV4_FAILURE_FATAL — В случае отсутствия IPv4 протокола закрывать соединение, по умолчанию no.
  • NAME — имя интерфейса.
  • DEVICE — имя устройства.
  • UUID — идентификационный номер интерфейса.
  • ONBOOT — старт интерфейса при загрузке, значения yes или no.
  • IPV6INIT — включение поддержки IPv6 протокола, значения yes или no.
  • IPV6_AUTOCONFIPV6_DEFROUTEIPV6_PEERDNSIPV6_PEERROUTESIPV6_FAILURE_FATAL — дополнительные параметры для IPv6 протокола.

Подобная конфигурация означает получение динамического ip-адреса при каждом запуске. Для назначения статического адреса нужно изменить несколько параметров.

  • BOOTPROTO=none — изменяем на none, тем самым указывая что ip будет статическим.
  • IPADDR=192.168.1.6 — назначаем сам адрес.
  • NETMASK=255.255.255.0 — задаем маску подсети.
  • GATEWAY=192.168.1.1 — указываем адрес шлюза.
  • DNS1=192.168.1.1 — задаем адреса DNS серверов.

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

TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.6 
NETMASK=255.255.255.0 
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=cac20b32-66a0-46bd-9b68-ec786f52d2f8
DEVICE=enp0s3
ONBOOT=yes

Перезапустим интерфейс для применения изменений.

ifdown enp0s3 && ifup enp0s3

3. Настройка сетевых интерфейсов в дистрибутивах Red HatFedora

22.3.1. Файл конфигурации /etc/sysconfig/network

Файл является глобальным файлом конфигурации (для всех сетевых карт). Он позволяет установить, хотим ли мы использовать сетевое соединение (NETWORKING=yes|no), желаемое имя узла (HOSTNAME=), а также адрес шлюза (GATEWAY=).

# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=rhel6
GATEWAY=192.168.1.1

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

22.3.2. Файлы конфигурации /etc/sysconfig/network-scripts/ifcfg-*

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

Клиент DHCP

Ниже приведено содержимое файла конфигурации в случае использования клиента DHCP (BOOTPROTO=»dhcp»)

Также обратите внимание на параметр NM_CONTROLLED, который предназначен для запрета управления этой сетевой картой демоном. Данный параметр, в отличие от многих других, не описан (и даже не упомянут) в текстовом файле .

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="08:00:27:DD:0D:5C"
NM_CONTROLLED="no"
BOOTPROTO="dhcp"
ONBOOT="yes"

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

Фиксированный IP-адрес

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

# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"
HWADDR="08:00:27:DD:0D:5C"
NM_CONTROLLED="no"
BOOTPROTO="none"
IPADDR="192.168.1.99"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
ONBOOT="yes"

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

Параметры BROADCAST= и NETWORK= из предыдущих версий дистрибутивов RHEL/Fedora являются устаревшими.

22.3.3. Утилиты /sbin/ifup и /sbin/ifdown

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

# ifdown eth0 && ifup eth0
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:DD:0D:5C 
     inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
     inet6 addr: fe80::a00:27ff:fedd:d5c/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:2452 errors:0 dropped:0 overruns:0 frame:0
     TX packets:1881 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:257036 (251.0 KiB)  TX bytes:184767 (180.4 KiB)

Настройка Ubuntu и Debian сетевым шлюзом для раздачи интернета в локальную сеть

  • 28-Chaos-3176
  • 135 Comments

В этой заметке будет рассказано как с помощью iptables настроить системы с Ubuntu и Debian для раздачи интернета другим компьютерам локальной сети. На простом примере будет показано как машину с двумя сетевыми интерфейсами (в один поступает интернет, из другого — «выходит») сделать шлюзом.

Настроить этот функционал через веб-интерфейс можно с помощью Webmin, через графический интерфейс – с помощью GAdmintools. Но мы рекомендуем настраивать шлюз напямую, а не через сторонние утилиты.

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

(с Debian 9 эта команда устарела, используйте вместо нее)

Она выдаст список работающих в данный момент сетевых интерфейсов. Среди них надо опознать те, что начинаются со слов «Link encap:Ethernet» — это интерфейсы сетевых карт. Как правило, это eth0 и eth1.
Теперь потребуется опознать в какой из них поступает интернет, а из какого «выходит». Проще всего это сделать по их ip-адресам.
Итак, допустим через eth0 вы получаете интернет (например через adsl-модем по протоколу ppp), а eth1 связывает вас с локальной сетью.
Если локальная сеть настроена через Network Manager, то мы рекомендуем прописать эти настройки непосредственно в системном конфигурационном файле сети:

Здесь исправьте настройки вашего сетевого интерфейса, подключенного к локальной сети (в нашем случае eth1), соответствующим образом:

Значение address — это айпи вашей машины в локальной сети, по этому адресу собственно и будет располагаться шлюз.
Значение netmask — в локальных сетях для этого диапазона чаще всего такая. Для других диапазонов можно вычислить здесь.
Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно.

Либо, это можно проделать всего одной командой:

Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces

В любом случае, после этих изменений перезапустите networking:

Командой:

()

проверьте, что изменения вступили в силу и все работает.

Теперь осталось дело за малым. В случае если вы уже пытались настроить вашу систему шлюзом, но у вас не получилось или по каким-то другим причинам вы желаете обнулить все настройки файрвола iptables, то это можно сделать следующими командами:

Если прямой необходимости в сбросе настроек iptables нет, то лучше этого не делать.

Следующие команды настроят ваш iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через Ubuntu-шлюз:

Если необходимые вам сетевые интерфейсы отличаются от eth0 и eth1, то просто измените первую строку соответствующим образом.
Если ваша локальная сеть находится вне диапазона 192.168.x.x, то маску подсети для указания в первой строке вы сможете легко вычислить через сервис Network Calculators.

Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:

И последний штрих: надо отредактировать файл sysctl.conf:

Добавьте в него вот эти две строки для активации роутинга:

В Debian 9 достаточно добавить (раскомментрировать) всего одну строку:

После этого ваш интернет-шлюз готов к работе. Можете настраивать клиентские машины. На нашем примере для них gateway будет 192.168.0.10

Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки iptables теряют активность после перезагрузки системы), то сохраните нынешнюю рабочую конфигурацию iptables в файл командой:

После этого в сам файл сетевых настроек /etc/network/interfaces () к параметрам вашего сетевого интерфейса, например, из которого к вам поступает интернет (в нашем случае – это eth0) добавьте строку:

То есть оно станет примерно такого вида:

Только не меняйте значения в строке iface, просто добавьте указанную строку последней в разделе auto eth0 (ну или какого-то другого сетевого интерфейса). После этого при перезагрузке сохраненные настройки iptables будут подниматься автоматически.

Если вы хотите добавить к этому автоматическую раздачу адресов (dhcp) и прокси, то воспользуйтесь для этого, например, вот этой инструкцией.

Автоматическая настройка

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

Запрашивать сетевые настройки с сервера вместо того, чтобы хранить их на каждом компьютере, довольно удобно. В самом деле: один сервер, один администратор, один файл с общими настройками. Более того, можно вообще не хранить персональных настроек для каждого компьютера в сети, а ограничиться настройками групповыми, лишь бы IP-адреса внутри группы различались. Одним из первых был разработан протокол RARP (reverse ARP), который, как следует из названия, занимается преобразованием, обратным ARP: по интерфейсному адресу компьютер узнаёт у сервера сетевой. В ethernet-сетях для этого посылается широковещательный ethernet-фрейм типа «RARP-запрос», который означает «Вот мой MAC-адрес. Кто-нибудь, дайте мне IP!». На что специальная программа-сервер отвечает RARP-ответом «Вот тебе IP!» — фреймом, содержащим IP-адрес, который сервер нашёл в своей таблице. Если в сети нет ни одного RARP-сервера или ни в одном из них не зарегистрирован интерфейсный адрес компьютера-клиента, тот останется без IP. Похожую схему использует и протокол BOOTP, применяющийся для сетевой загрузки компьютеров. Предполагается, что, получив IP-адрес, клиент заберёт с сервера (по протоколу TFTP, trivial FTP) некий файл, загрузит его в память и передаст управление. Поэтому в BOOTP передаётся не только IP-адрес клиента, но и IP-адреса TFTP-сервера и маршрутизатора по умолчанию и имя файла-загрузчика.

В современных сетях чаще всего используется протокол DHCP (Dynamic Host Configure Protocol, протокол динамической настройки сетевых абонентов). Он имеет очень широкие возможности: с сервера можно получить IP-адрес, сетевую маску и широковещательный адрес, имя домена, адреса маршрутизатора и серверов доменных имён, а также великое множество других параметров, вплоть до не предусмотренных в DHCP явно, так что их тип задаётся обычным числом, а интерпретация значения целиком определяется клиентом. Урезанную часть DHCP поддерживают «умные» сетевые устройства (те, что снабжены BootROM, т. е. ПЗУ с загрузочной программой). Но полностью обрабатывать все поля DHCP умеет специальный демон-клиент. В Linux этот демон называется (DHCPclient daemon). В его ведение, как минимум, входит настройка сетевого интерфейса, маршрута по умочанию и .

Так что всё, что Мефодий делал вручную или вписывал в настроечный файл, можно получить «за просто так», если в сети работает DHCP-сервер:

# ifconfig 
 lo Link encap:Local Loopback 
 inet addr:127.0.0.1 Mask:255.0.0.0
 . . .
# cat /etc/resolv.conf 
# /sbin/dhcpcd -h sakura -N eth0
 dhcpcd.exe: interface eth0 has been configured with new IP=192.168.102.124
# ps gax | grep "dhcpcd"
 1011 ? S 0:00 /sbin/dhcpcd -h sakura -N eth0
# cat /etc/resolv.conf
 nameserver 192.168.102.1
 search nipponman.ru
# ifconfig 
 eth0 Link encap:Ethernet HWaddr 00:0C:29:56:C1:36 
 inet addr:192.168.102.124 Bcast:192.168.102.255 Mask:255.255.255.0

Пример 9. Использование

Протокол DHCP даже позволяет передавать серверу желаемое имя и адрес компьютера. Впрочем, выдача IP-адреса привязана, как правило, к MAC-адресу. Здесь есть особая хитрость. DHCP может неплохо работать, когда IP-адресов не хватает на всех: компьютеров с разными NAC-адресами в сети больше, чем выделенных IP, но эти компьютеры никогда не включаются все одновременно. Компьютер, определяемый в DHCP по MAC-адресу, не «присваивает» выданный IP навсегда: адрес сдаётся в «аренду» (lease) на некоторое время. Если до истечения срока аренды бывший владелец не подтвердил желание пользоваться адресом и дальше (не послал повторный DHCP-запрос), адрес считается незанятым. Но когда компьютер подключается к сети после долгого перерыва, сервер DHCP сначала просматривает «арендную историю» на предмет того, какой IP этому абоненту уже выдавался. Если этот IP не занят, то будет выдан именно он. И только когда к сети подключится совсем новый абонент, а все адреса уже когда-нибудь кому-то выдавались, среди них будет выбран и отдан в аренду новичку тот, что дольше всех оставался невостребованным.

Наконец, чтобы избавиться и от этой ручной работы, можно перенастроить на использование DHCPD:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
 DEVICE=eth0
 BOOTPROTO=dhcp
 NETMASK=255.255.255.0
 ONBOOT=yes

Пример 10. Настройка интерфейса на DHCP по умолчанию

Настройка DNS в Debian

Назначить DNS сервера в Debian можно несколькими способами. Правкой файла /etc/resolv.conf и использованием утилиты resolvconf, только не путайте, это совершенно разные вещи.

Прежде чем настраивать DNS нужно узнать стоит ли пакет resolvconf или нет. Узнать можно так:

dpkg -l

Если есть такая строка в выводе, то resolvconf установлен:
ii  resolvconf         1.76.1       all            name server information handler

Если  resolvconf не установлен, то можно добавить адреса DNS сразу в файл /etc/resolv.conf, сохранить изменения и перезапустить интерфейс.

nano /etc/resolv.conf

Содержание файла:
nameserver 192.168.1.1 # тут у меня адрес шлюза/роутера

Можно добавить столько серверов, сколько необходимо, например DNS гугла:
nameserver 8.8.8.8
nameserver 8.8.4.4

Со временем система обживается, появляются новые программы изменяющие содержимое файла resolv.conf, поэтому лучше использовать утилиту resolvconf. Если утилита отсутствует, например при минимальной установке системы, то ее необходимо поставить.

apt-get install -y resolvconf

После установки файл /etc/resolv.conf заменяется ссылкой на /etc/resolvconf/run/resolv.conf. Если понадобится внести свои значения DNS, то сделать это можно через файл интерфейсов.

nano /etc/network/interfaces

Добавляем свои DNS, прописываем значения
dns-nameservers 8.8.8.8 8.8.4.4  # писать адреса через пробел

Перезапустим интерфейс:
ifdown eth0 && ifup eth0

Проверяем:
cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 192.168.1.1

После чего добавленные DNS адреса, пропишутся в файл resolv.conf автоматически.

Прямое подключение к сети

Итак, откройте редактор соединений на вкладке Wired:

В списке по умолчанию содержатся автоматически созданные подключения, по одному для каждого сетевого адаптера. Тут надо сразу сказать, что сетевые адаптеры, так же как и разделы винчестера, имеют в Linux вполне определённые имена: , и т.д. Как видно, на моём компьютере установлено две сетевых платы.

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

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

Если же требуется какая-либо настройка подключения, например, ручное указание IP-адреса, то вам всего лишь нужно выбрать нужное подключение из списка и нажать кнопку «Edit». Откроется окно редактирования соединения:

Первая вкладка содержит технические параметры, которые менять обычно не нужно. Для настройки IP-адресов перейдите на вкладку «IPv4 Settings».

Тут вы можете выбрать из списка способ своего подключения, чаще всего используются «Automatic (DHCP)» и «Manual»:

Первый подразумевает автоматическое получение IP и DNS, он выбран по умолчанию. Второй — ручное задание этих параметров. При выборе второго способа разблокируются поля настроек.

Необходимые значения настроек можно узнать у провайдера или же у системного администратора. Для ввода IP нажмите кнопку «Add», в списке появится новая пустая строчка, введите в каждое поле этой строчки свои параметры. Адреса DNS можно задать в одной из нижних строчек, через запятую.

Не забудьте после ввода всех необходимых настроек нажать на кнопку «Apply…» для их сохранения

Обратите внимание, пока вы не введёте корректные настройки, эта кнопка будет заблокирована. Кстати, при конфигурировании интернета в уже установленной Ubuntu для применения настроек у вас возможно попросят ваш пароль, и только после его ввода вы сможете использовать изменённое соединение

Имейте это ввиду и не пугайтесь.

Хочу сразу обратить внимание на переключатель «Connect automatically» в настройках любого соединения:

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

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

Подключение к интернету с использованием VPN

Во-первых сразу скажу, что под VPN на территории СНГ обычно подразумевается PPTP, хотя на самом деле второе — это подмножество первого. Мало того, даже PPPoE — это тоже один из видов VPN. Но я в дальнейшем буду следовать устоявшейся терминологии и под VPN иметь ввиду PPTP, дабы не запутывать вас, хотя конечно такое обобщение в корне не верно.

На этом странности с VPN не заканчиваются. По непонятной причине VPN подключения к интернету очень популярны среди провайдеров на территории СНГ, хотя в остальном мире они вообще не используются. К счастью, ради пользователей России и её соседей начиная с версии 10.04 в Ubuntu включена по умолчанию поддержка PPTP.

Добавить новое соединение VPN можно на одноимённой вкладке менеджера настройки сети:

Просто нажмите кнопку «Add», появится окно выбора типа VPN, в нём доступен только один пункт — «Point-to-Point Tunneling Protocol (PPTP)». Он-то вам и нужен, так что смело нажимайте кнопку «Create…», после чего вы попадёте в редактор настроек подключения:

Введите свой логин и пароль, а также выставьте необходимые параметры соединения, нажав на кнопку «Advanced…». Узнать о настройках можно у провайдера. Зачастую на его сайте можно найти инструкцию по подключению компьютера с Linux к интернету, в этом случае просто следуйте ей. Если что, обращайтесь в техподдержку провайдера за необходимыми настройками соединения.

Для активирования подключения загляните в пункт «VPN Connections» списка соединений:

Надеюсь, вы разобрались во всём и смогли получить доступ к интернету, если же нет — ничего страшного, вы можете вернуться к этой статье в любой момент. А сейчас пора наконец приступить к установке Ubuntu на ваш компьютер:

Установка

К сожалению, несмотря на полную открытость и бесплатность, некоторые программы оказываются чуть ли не вне закона из-за бредового патентного законодательства США в области ПО. В России на данный момент за бесплатные открытые программы денег с разработчиков и пользователей не требуют, но поскольку Ubuntu — дистрибутив интернациональный, то приходится считаться с законами всех крупных стран.

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

Virtual Private Network — виртуальная частная сеть.

Point-to-point tunneling protocol — туннельный протокол точка-точка

Связано это в первую очередь с некорректным поведением компании Microsoft, которая всячески смешивала эти понятия в своих продуктах, поскольку в Windows реализована поддержка только собственного и далеко не лучшего VPN протокола Microsoft, коим как раз и является PPTP. Ну а существование других технологий и операционных систем в Microsoft как всегда предпочли не замечать.

То есть на самом деле PPTP.

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

Управление маршрутизацией с помощью iproute2

Из статьи Основные понятия сетей мы знаем, что если текущему узлу необходимо куда-либо отправить IP пакет, то сетевая подсистема ядра использует таблицу маршрутизации. Если пакет отправляется в ту же подсеть, которой принадлежит хост, то с помощью ARP определяется физический адрес хоста назначения и пакет отправляется напрямую хосту назначения. Если адрес назначения принадлежит не «локальной сети», то пакет отправляется на шлюз (читай — направляется по маршруту), который указан в таблице маршрутизации для сети, которой принадлежит хост назначения. При этом, выбирается та сеть, в которой адрес сети наиболее заполнен (читай — меньше хостов в подсети). Если для хоста назначения не найден маршрут, то пакет отправляется на «шлюз по умолчанию». Все шлюзы должны находиться в той же подсети, что и исходный хост.

Допустим, в локальной сети есть некоторый хост с адресом 192.168.1.100/24, а так же есть хост 192.168.1.1, который является шлюзом в глобальную сеть, а так же есть хост с адресом 192.168.1.2, который является связующим маршрутизатором с сетью 192.168.24.0/24 (то есть имеет еще один интерфейс  в сеть 192.168.24.0/24 и на нем включен форвардинг). Для того, чтобы хост с адресом 192.168.1.100/24 имел доступ в сеть Интернет и к локальной сети 192.168.24.0/24, необходимо внести в таблицу маршрутизации соответствующие записи, например с помощью команды ip route add:

# ip route add default via 192.168.1.1
# ip route add 192.168.24.0/24 via 192.168.1.2
# ip route show
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.100
192.168.24.0/24 via 192.168.1.2 dev eth1
default via 192.168.1.1 dev eth

Первая команда добавляет маршрут по умолчанию (default) через узел 192.168.1.1 (параметр via ). Вторая команда устанавливает маршрут на сеть 192.168.24.0/24 через узел 192.168.1.2.

Для вывода на экран содержимого таблицы маршрутизации используется команда ip route show. В данном случае в таблице маршрутизации три записи: первая о том, что сеть 192.168.1.0/24 доступна непосредственно на интерфейсе eth1 (запись добавляется автоматически), и две записи, добавленные пользователем: альтернативный маршрут и маршрут по умолчанию.

Добавление постоянного статического маршрута при инициализации сети

О настройке сети через конфигурационные файлы я рассказывал в статье  Настройка сети в Linux, диагностика и мониторинг, в сегодняшней статье я немного дополню эту информацию. С помощью файла /etc/network/interfaces есть возможность задать постоянные маршрута при поднятии интерфейса и удаление маршрута при выключении интерфейса. Это делается с помощью параметра up и down соответственно. Нижеприведенная конфигурация позволяет задать маршрут до сети 192.168.100.0/24 через шлюз 192.168.1.1:

iface eth1 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      up ip route add 192.168.100.0/24 via 192.168.1.1
      down ip route del 192.168.100.0/24
      gateway 192.168.1.3

Выводы

На этом, данную заметку заканчиваю. Подведу краткие итоги. Для управления физическими интерфейсами применяется команда ip link из пакета iproute. Для настройки свойств физического подключения (скорость, технология, тип дуплекса используется команда ethtool. Для того, чтобы хост мог взаимодействовать с другими узлами подсети в рамках локального сегмента (широковещательного домена) на нем должен быть установлен IP-адрес и определена маска подсети. Для управления IP-адресами в Linux можно использовать команду ip addr. В локальной сети данный узел для определения физических адресов(MAC) по IP — адресам других узлов использует протокол ARP и локальный ARP -кэш (таблица). Управление ARP -таблицей осуществляется командой ip neigh. Для взаимодействия с удаленными подсетями на данном узле необходимо определить шлюз по умолчанию или/и альтернативные шлюзы. Все шлюзы должны находиться в той же подсети, что и исходный узел. Управление таблицей маршрутизации на узле может осуществляться командой ip route. У параметров команд пакета iproute2 есть сокращенный синтаксис, например, ip link show eth0 можно записать как ip l sh eth0.

Что почитать

man ip
man interfaces

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

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

Adblock
detector