Практическая работа №7. Управление сетью

Цель занятия: изучение инструментов конфигурирования сети в UNIX, включающих настройку параметров TCP/IP-сети.

Изучаемые команды: arp, ifconfig, netstat, ping, route, ssh, telnet, traceroute

Сценарий: Настройка сетевого интерфейса

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

Начальные условия: Командная строка суперпользователя после входа в систему.

  1. Получить сведения обо всех настроенных сетевых интерфейсах с помощью команды ifconfig -a:

    desktop ~ # ifconfig -a
    ens33     Link encap:Ethernet  HWaddr 00:0D:60:8D:42:AA  
              inet addr:192.168.1.5  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:204779 errors:0 dropped:0 overruns:0 frame:0
              TX packets:107606 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:302429520 (288.4 Mb)  TX bytes:9177476 (8.7 Mb)
              Base address:0x8000 Memory:c0220000-c0240000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:228 errors:0 dropped:0 overruns:0 frame:0
              TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:17724 (17.3 Kb)  TX bytes:17724 (17.3 Kb)
  2. Получить сведения обо всех настроенных сетевых интерфейсах с помощью команды ip a. И сравнить вывод команд.

  3. Проверить возможность соединения с локальной машиной с помощью команды ping 127.0.0.1.

    desktop ~ # ping 127.0.0.1
    PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
    64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.052 ms
    64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.051 ms
    64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms
  4. Перед конфигурированием интерфейса ens33 необходимо убедиться, что он отключен. Отключение сетевого интерфейса ens33 производится командой ifconfig eth0 down.

    desktop ~ # ifconfig ens33 down
    desktop ~ # ifconfig -a
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:228 errors:0 dropped:0 overruns:0 frame:0
              TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:17724 (17.3 Kb)  TX bytes:17724 (17.3 Kb)
  5. Для назначения статического IP-адреса выданного динамически введем след. команду: ifconfig ens33 <IP-адрес ВМ> up.

    desktop ~ # ifconfig ens33 192.168.1.1 up
    desktop ~ # ifconfig -a
    ens33     Link encap:Ethernet  HWaddr 00:0C:F1:2E:0E:F9
              inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
              Interrupt:11 Base address:0x2000 Memory:c0210000-c0210fff
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:228 errors:0 dropped:0 overruns:0 frame:0
              TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:17724 (17.3 Kb)  TX bytes:17724 (17.3 Kb)

    При этом по умолчанию используется сеть класса C, т.е. маска сети «255.255.255.0».

Для задания специфической маски подсети используется параметр netmask. Например, данная команда задаёт параметры сети класса A: ifconfig ens33 <IP address> netmask 255.0.0.0 up.

  1. С помощью команды arp можно узнать текущую ARP-таблицу операционной системы (соответствие MAC-адресов канального уровня IP-адресам). Таблица автоматически поддерживается операционной системой в процессе сетевого обмена.

Сценарий: Настройка таблицы маршрутизации

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

Начальные условия: Командная строка суперпользователя, сетевой интерфейс настроен на статический IP-адрес.

  1. Для просмотра таблицы маршрутизации воспользуемся командой route -n:

  2. Без использования ключа -n для всех имён будут использоваться символьные значения: route

  3. Для добавления новой строки в таблицу нужно воспользоваться параметром add: route add -host 30.30.30.1 dev ens33.

    Эта команда добавляет явный маршрут до отдельного хоста с указанным IP-адресом через интерфейс ens33.

  4. В качестве назначения маршрута можно указывать также целую сеть (параметр -net. Рассмотрим команду, которая задаёт маршрут в сеть «30.30.30.0» через шлюз «30.30.30.1»: route add 30.30.30.0 gw 30.30.30.1.

  5. Аналогичным образом маршрут удаляется, используется параметр del: route del -host 30.30.30.1.

  6. Рассмотрим простой маршрут движения пакетов до хоста в Internet с помощью программы traceroute ya.ru:

Сценарий: Изучение службы доменных имён

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

Начальные условия: Командная строка суперпользователя, сетевой интерфейс настроен на статический IP-адрес.

  1. Просмотрим содержимое файла /etc/hosts, содержащего имена локальных хостов: cat /etc/hosts

  2. Проверим работоспособность DNS с помощью команды обращения к хосту в Internet по имени ping ya.ru:

  3. Для корректной работы службы доменных имен необходимо прописать используемые серверы DNS в файле /etc/resolv.conf. Просмотрим его содержимое cat /etc/resolv.conf:

  4. С помощью команды host ya.ru узнаем информацию DNS о хосте в Internet:

  5. Вторым аргументом команды host ya.ru ns1.yandex.ru имя DNS-сервера, с которого необходимо получить информацию:

Сценарий: Простая диагностика работы сети

Сценарий рассматривает самые простые способы диагностики работы сети.

Начальные условия: Командная строка суперпользователя, сетевой интерфейс настроен на статический IP-адрес.

  1. Для проверки работоспособности сетевых служб воспользуемся командой удалённого терминала: telnet ya.ru 80. В данном случае будет установлено соединение с хостом в Internet по порту 80 (HTTP):

  2. Если во время соединения с удалённым узлом ввести команду netstat -t (можно применять команду ss -tulpn), то можно увидеть, что состояние этого соединения – «ESTABLISHED»:

  3. Информацию обо всех соединениях в системе можно получить с помощью команды netstat -a (можно применять команду ss -tulpn). В этом случае будет выводиться информация обо всех TCP-, UDP- и локальных сокетах:

Сценарий: Работа по удалённому терминалу

Сценарий рассматривает работу по удалённому сетевому терминалу с использованием программы ssh.

Начальные условия: Командная строка суперпользователя, сетевой интерфейс настроен на статический IP-адрес.

  1. С помощью команды ssh user@<IP вашей ВМ>

  2. Выполним команду who, чтобы убедиться, что находимся на удалённой машине. Для всех пользователей, работающий удалённо, указывается IP-адрес.

  3. Для завершение сеанса удалённого терминала нужно выйти из командной оболочки с помощью команды exit.

После окончания выполнения практической работы приведите сетевые параметры интерфейса в исходное состояние.

Last updated