Руководство по настройке интернет-соединения в ubuntu server

Настройка IP адреса в CentOS

В системах, основанных на дистрибутиве RedHat, файлы настройки сети немного отличаются. Тут за начальную настройку сети отвечает фреймворк Wiched. Настройки получения IP адреса хранятся отдельно для каждого сетевого интерфейса в файлах /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса, например, enp2s0. Настройки статического ip для сетевого адаптера с адресом enp2s0 будут выглядеть следующим образом:

Чтобы изменения вступили в силу перезапускаем сеть:

Готово, настройка ip адреса linux с помощью стандартных средств системы завершена и вы можете дальше использовать свой компьютер.

Подключение к Linux из Windows по SSH

Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:

Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:

Для того, чтобы подключиться к устройству, на котором запущен SSH-сервер, необходимо ввести имя пользователя и IP-адрес. Команда для подключения по SSH используя PowerShell выглядит так:

Здесь ubuntu — имя пользователя на удалённом компьютере, а 192.168.56.1 — IP-адрес Linux-сервера, на котором запущен демон SSH.

При первом подключении необходимо подтвердить использование специального персонального ключа для шифрованного соединения по SSH-протоколу (введите слово Yes), затем введите пароль пользователя (в данном случае для пользователя ubuntu):

Как видите, соединение прошло успешно. Теперь можно выполнять все команды так же, как если бы вы их выполняли используя стандартный Linux SSH-клиент:

Для завершения терминальной сессии на удалённом компьютере введите команду exit. Теперь вы знаете как выполняется подключение к Linux из Windows по SSH.

Настройка DNS

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

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

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

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

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

Настройка статического IP-адреса на сервере Ubuntu

В Ubuntu 20.04 система идентифицирует сетевые интерфейсы, используя «предсказуемые имена сетевых интерфейсов».

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

Команда печатает список всех доступных сетевых интерфейсов. В этом примере имя интерфейса :

Файлы конфигурации Netplan хранятся в каталоге . Вероятно, вы найдете в этом каталоге один или несколько файлов YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется , или , но в вашей системе он может быть другим.

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

/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Чтобы назначить статический IP-адрес в сетевом интерфейсе, откройте файл конфигурации YAML в текстовом редакторе :

/etc/netplan/01-netcfg.yaml

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

Каждый файл Netplan Yaml начинается с ключа, который содержит как минимум два обязательных элемента. Первый обязательный элемент — это версия формата конфигурации сети, а второй — тип устройства. Типом устройства может быть , , или .

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

Под типом устройства ( ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс который настроен для получения IP-адресации от DHCP-сервера .

Чтобы назначить статический IP-адрес интерфейсу , отредактируйте файл следующим образом:

  • Установите DHCP на .
  • Укажите статический IP-адрес. В разделе вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
  • Укажите шлюз.
  • В разделе установите IP-адреса серверов имен.

/etc/netplan/01-netcfg.yaml

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

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

Проверьте изменения, набрав:

Это оно! Вы назначили статический IP-адрес своему серверу Ubuntu.

Основы использования Netplan

Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл со следующим содержимым:

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

1. Синтаксис конфигурации Netplan

Новичкам синтаксис конфигурационного файла Netplan может показаться запутанным, но разобраться в нём вполне можно. Он чем-то напоминает JSON, но не имеет таких жёстких ограничений:

поле0  поле1 значение  поле2    — элемент1    — элемент2    — элемент3

Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0. Это всё, что касается общего синтаксиса, теперь про Netplan:

network  version 2  renderer программа_бэкенд  вид_интерфейса    имя_интерфейса       параметр значение

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

  • renderer — указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager и systemd-networkd;
  • вид_интерфейса — вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
  • имя_интерфейса — имя сетевого интерфейса в системе, например enp3s0 или eth0;
  • параметры — настройки, с помощью которых указывается, как нужно подключаться к сети.

2. Параметры Netplan

Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:

  • renderer — программа для обработки конфигурации;
  • dhcp4 — получение IPv4 адреса по DHCP;
  • dhcp6 — получение IPv6 адреса по DHCP;
  • dhcp-identifier — если передать значение «mac», то будет использоваться MAC-адрес в качестве идентификатора DHCP;
  • addresses — добавляет статические адреса к интерфейсу, можно несколько;
  • gateway4 — указывает шлюз IPv4;
  • gateway6 — указывает шлюз IPv6;
  • nameservers — указывает DNS-серверы;
  • macaddress — устанавливает новый MAC-адрес;
  • routes — позволяет настроить маршруты таблицы маршрутизации;
  • routing-policy — дополнительная настройка маршрутов, для IP или подсети;
  • access-points — список точек доступа для Wi-Fi;
  • password — пароль для точки доступа Wi-Fi;
  • mode — режим работы сетевой карты Wi-Fi.

3. Команды Netplan

Синтаксис самой команды netplan очень прост:

netplan опции команда

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

  • try — попробовать применить конфигурацию с возможностью отмены;
  • apply — применить конфигурацию;
  • generate — проверка текущей конфигурации и запись на диск;
  • config — записать текущую конфигурацию сети в YAML.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка сети с помощью ifconfig

Получить информацию об имеющихся интерфейсах на старых версиях Debian можно с помощью команды

ifconfig

Изучите вывод этой команды и посмотрите какой интерфейс Вам доступен. Обычно это eth0.
, если нужно получать ip автоматически

iface eth0 inet dhcp

Если нужно задать статический ip

iface eth0 inet static
address
192.168.1.1
netmask 255.255.255.0

Чтобы изменения пришли в силу нужно выполнить

ifup eth0

Выключить wi-fi

ifconfig wlan0 down

Включить/выключить ceть

ifconfig eth0 up/down

Перезапустить/остановить/запустить сетевые службы

/etc/init.d/networking restart/stop/start

Настроить DNS можно через файл /etc/resolv.conf

nameserver 8.8.8.8

При

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

В старых версиях Dbian это было просто, они назывались eth0, eth1 и так далее.

Поэтому для включения сетевого интерфейса, в приведённой выше команде нужно менять 0 на 1 и т.д.

В новых версиях Debian и в других Unix-подобных дистрибутивах, например

OpenBSD

сетевые интерфейсы называются более разнообразно (msk0, sk0 и др.)

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

Включить автоматическое получение ip

dhclient eth0

Выключить автоматическое получение ip можно вытащив сетевой шнур и вставив обратно. Говорят, что
должно сброситься.

Советую выполнить

man interfaces

и изучить вывод.

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

Сетевой конфигуратор NetworkManager сейчас используется практически повсеместно. Если нужно настроить IP в терминале вы можете использовать утилиту nmcli. Сначала смотрим доступные подключения. Для этого выполните:

Допустим, что необходимое вам подключение называется Проводное соединение 2. Тогда осталось установить IP адрес, шлюз и DNS сервер:

Затем надо сообщить утилите, что IP адрес будет настраиваться вручную:

В этом примере IP адрес задается немного по другому. Сначала идёт выбранный ip адрес, а затем маска в формате /24. Это аналог записи 255.255.255.0, только короче.

Использование RDP для удалённого подключения

Помимо VNC, для управления Linux-сервером из Windows можно воспользоваться RDP (Remote Desktop Protocol). Для этого на компьютере с Ubuntu 20.04 установите утилиту xrdp:

Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:

Установите Xfce:

Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:

Перезапустите сервис xrdp:

Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:

Если всё сделано правильно, вы увидите рабочий стол Xfce:

Настройка сетевых интерфейсов в 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

2 и более IP на одном интерфейсе

Достаточно часто возникают ситуации, когда необходимо назначить несколько ip на одном интерфейсе. Сделать это очень просто. В самом начале я показал, как быстро через консоль в Debian можно назначить несколько ip c помощью программы. Теперь сделаем так, чтобы эти настройки сохранялись после перезагрузки. Для этого редактируем наш любимый и ненаглядный /etc/network/interfaces:

С такими настройками я получу 2 ip адреса на сетевом интерфейсе:

  1. Первый от dhcp сервера.
  2. Второй адрес на этой же сетевой карте будет указан статически.

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

Если же просто перезагрузите сервер, то все будет правильно — динамика и статика. Почему так происходит — не знаю.

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

Dummy interfaces

В отличие от Cisco IOS и систем семейства BSD, в Linux может быть только один loopback interface, который всегда называется и несет на себе тот самый адрес 127.0.0.1/8. Если надо просто несколько адресов для разных демонов, можно присвоить их на тот же интерфейс .

Но что делать, если требуется несколько независимых локальных интерфейсов?

Некоторые советуют решать эту проблему использованием не по назначению интерфейсов других типов, вроде мостов. Не слушайте их. Правильное решение — использовать интерфейсы типа dummy, которые аналогичны loopback во всем, кроме названия. Исторически так сложилось, что loopback — это уникальный интерфейс , и для совместимости сделали отдельный тип.

1
2
3

$ip link add name dum0 type dummy

$ip link set dum0 up

$ip address add192.0.2.10/32dev dum0

А зачем мне несколько интерфейсов loopback?

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

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

Какой выбрать? Любой интерфейс маршрутизатора потенциально может уйти в down, но сессии BGP и SSH должны работать. Поскольку loopback или dummy самопроизвольно не уйдет в down никогда, можно присвоить ему отдельный адрес и анонсировать его остальной сети через протокол OSPF (Open Shortest Path First), который использует multicast и не зависит от конкретных адресов интерфейсов. В этом случае адрес на loopback останется доступным, если у маршрутизатора есть хотя бы один живой канал в остальную сеть.

Примеры использования ip

Вот теперь мы дошли к самому интересному — примерам использования утилиты ip Linux. То что я здесь опишу на самом деле лишь маленькая капля из всего того что может утилита ip.

1. Просмотр IP адресов

Чтобы посмотреть все IP адреса, связанные с сетевыми интерфейсами используйте такую команду:

Или:

Для просмотра информации в кратком виде используйте опцию -br:

Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:

Или:

Можно отобразить только статические IP адреса:

Или только динамические:

2. Добавление IP адреса

Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:

$ ip addr add IP_адрес/маска dev интерфейс

Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:

Маску можно указать и в сокращённом виде:

3. Удаление IP адреса

Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:

Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:

Или же можно удалить адреса только определённой подсети:

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

Чтобы посмотреть список сетевых интерфейсов используйте объект link:

Или:

5. Включение или выключение интерфейсов

Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:

$ ip link set dev интерфейс действие

В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:

А чтобы включить его обратно:

6. Настройка MTU

Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:

7. Настройка MAC адреса

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

Затем можно установить адрес:

А потом включить интерфейс обратно:

8. Таблица ARP

Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:

Или

9. Добавление записи в таблицу ARP

Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:

В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.

10. Очистка таблицы ARP

Вы можете удалять IP адреса по одному с помощью команды del:

Можно удалить все записи для определённого сетевого интерфейса:

Или очистить таблицу полностью командой flush:

Для просмотра таблицы маршрутизации используйте объект route и команду show:

Или:

12. Добавление маршрута

Синтаксис добавления нового маршрута в таблицу маршрутизации такой:

$ ip route add подсеть/маска via шлюз

Вместо шлюза можно указать сетевой интерфейс с помощью которого надо отправлять пакеты:

$ ip route add подсеть/маска dev устройство

Например, добавим новый маршрут для сети через тот же IP адрес:

Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:

Настройка сети с помощью Iproute2

Актуально для Debian 9 и выше.

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

ip a

На выходе будет что-то похожее на

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 30:f9:ed:d9:ea:d3 brd ff:ff:ff:ff:ff:ff
inet 192.0.2.131/24 brd 192.0.2.255 scope global enp3s0
valid_lft forever preferred_lft forever
inet6 fe80::32f9:edff:fed9:ead3/64 scope link
valid_lft forever preferred_lft forever
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether b8:76:3f:f5:c4:1f brd ff:ff:ff:ff:ff:ff
inet 192.168.43.4/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp1s0
valid_lft 2800sec preferred_lft 2800sec
inet6 fe80::ba76:3fff:fef5:c41f/64 scope link noprefixroute
valid_lft forever preferred_lft forever

Раньше интерфейсы назывались eth0, eth1 и так далее, сейчас у них более разнообразные названия.
1: Первый интерфейс это
lo
он направлен на локальную машину и имеет IP
127.0.0.1/8
2: Второй интерфейс
enp3s0 это моё поключение к по Ethernet к другому ПК.

В этом примере компьютер с Debian (1) соединён с компьютером
с

Windows

(2) напрямую через Ethernet кабель

Через это подключение я захожу на комп номер 1 по SSH.

IP компьютера с Debian вы видите выше
192.0.2.131/24
, а у компа с Windows IP
192.0.2.130/24
его здесь, естественно не видно.

Как настроить этот IP читайте

3: Третий интефейс
wlp1s0
это подключение к местному Wi-Fi от мобильного телефона.
IP получен динамически
192.168.43.4/24

Лучшие сетевые утилиты Linux

ping хост — позволяет отправить ICMP запрос на удалённый хост. Пакеты будут отправляется непрерывно, пока вы не нажмете Ctrl+C. Когда пакет будет отправлен, хост должен отправить ответное ICMP сообщение, это и будет означать, что другой хост работает. Подробнее про ping читайте тут.

telnet хост порт — позволяет проверить доступность определенного порта на хосте. По умолчанию telnet использует порт 23, но также можно использовать и другие.  Нажмите Ctrl+] чтобы завершить работу telnet. Подробнее читайте в статье команда telnet linux.

arp — протокол ARP используется для преобразования IP адресов интернет в физические адреса используемой сети. Эта команда, если передать ей опцию -a позволяет вывести таблицу маршрутизации на вашем устройстве. С помощью опции -d можно удалить все записи. Так или иначе все записи удаляются по истечении 20 минут после добавления.

route — с помощью маршрутизации операционная система определяет к какому узлу надо передать тот или иной пакет. Без параметров эта утилита выводит текущую таблицу маршрутизации. Параметр flush позволяет удалить все маршруты, а add добавить новый маршрут. Подробнее читайте тут.

traceroute ip_адрес — очень полезная утилита, для отслеживания маршрута пакетов. Чаще всего с помощью этой команды выполняется проверка сети linux. Пакет отправляет сообщение на компьютер-отправитель со всех шлюзов между источником и пунктом назначения. Подробнее в статье Команда traceroute.

nslookup домен — отправить запрос DNS серверу, на преобразование доменного имени в IP. Например, nslookup ya.ru вернет IP адрес сервера ya.ru. Подробнее тут.

ip — популярная современная утилита для просмотра сетевых подключений в системе Linux. Позволяет посмотреть сетевые интерфейсы, IP адреса, маску сети, таблицу маршрутизации и многое другое. Подробнее в статье Команда ip в Linux.

iw — позволяет управлять беспроводными интерфейсами, просматривать список подключённых или доступных беспроводных сетей.

ifconfig интерфейс — устаревший аналог утилиты ip. Позволяет посмотреть информацию о сетевых подключениях, IP адрес, маску сети и другие параметры. Без параметров выводит список всех интерфейсов в системе, в параметрах можно передать конкретный интерфейс, по которому надо получить данные. Кроме того, можно поднимать или отключать сетевые интерфейсы. Подробнее тут.

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

ethtool — позволяет смотреть и изменять параметры сетевой карты.

ss — позволяет вывести все открытые локальные сокеты и проанализировать какие программы их используют. Можно отдельно выводить UDP, TCP и Unix сокеты, а также смотреть к каким удалённым сокетам подключены программы компьютера. Подробнее тут.

netstat — устаревший аналог ss, вместо подсистемы ядра здесь используется файловая система proc, а также данные выводятся немного в другом формате.

nc — утилита позволяет создавать новые сетевые сокеты и подключаться к существующим по сети. Это может понадобиться для тестирования работы сети или приложений. Подробнее тут.

iperf — программа позволяет проверить скорость и стабильность сетевого подключения.

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

Изменение hostname в CentOS

Для изменения hostname в CentOS нужно проделать несколько манипуляций с конф. файлами. Чтобы узнать текущее имя выполним команду hostname.

# hostname
test

Текущее имя системы test. Я хочу изменить его на techlist, делаем следующее.

Вносим изменения в файл network:
nano /etc/sysconfig/network

Добавим в файл строку:
HOSTNAME=techlist

Вносим изменения в файл hosts:
nano /etc/hosts

Добавим ip-адрес и имя в файл:
192.168.1.6 techlist / ваш ip ваше имя

Вносим изменения в файл sysctl.conf
nano /etc/sysctl.conf

Добавим в конец файла:
kernel.hostname = techlist

Перезапустим network для принятия изменений:
systemctl restart network

Проверяем изменения:
# hostname
techlist

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

Для работы с сетевыми протоколами TCP/IP в Linux достаточно наличие только петлевого интерфейса, но если необходимо объединить хосты между собой, естественно, необходимо наличие сетевого интерфейса, каналов передачи данных (например витая пара), возможно, какого-либо сетевого оборудования. Так же, необходимо наличие установленных (, и др.), обычно поставляемые в . Так же необходимо наличие конфигурационных файлов для сети (например /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 адреса. Обычно, предоставляется провайдером.

Возможные ошибки

1. Error in network definition *.yaml line xxx column yyy: expected mapping 

Ошибка появляется при проверке (generate) или применении (apply) настроек сети.

Причина: ошибка синтаксиса YAML.

Решение: внимательно смотрим на количество отступов, которое сделано для строки xxx. Количество пробелов должно точно соответствовать количеству в других строках. Если параметр вложенный, он также должен отделяться от родителя нужным количеством пробелов. Пример неправильной настройки:

network:
    version: 2
  renderer: networkd

* обратите внимание, что version имеет 4 пробела для отступа, а renderer — 2. Так как version и renderer равнозначные параметры для родителя network, они должны иметь одинаковое количество пробелов

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

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

Adblock
detector