TCP/IP в Linux (2 лекции и задание)

Неожиданно прочтённые мной лекции по настройке L2 и L3 маршрутизации в Linux(две пары)

* Видео

Задание

  1. Импортировать образ виртуальной машины для VirtualBox,

  2. Создать нужное количество клонов
    • если на хост-системе недостаточно памяти, можно ограничить объём памяти одной виртуалки 512 Мб
    • для экономии места и времени делать связную копию

    • в клоне обязательно перегенерировать все mac-адреса

    • не забудьте один клон оставить чистым
  3. Настроить топологию сети как предписано в варианте задания
    • Для каждого узла все настройки «с нуля» должны содержаться в одном шелл-сценарии (etcnet, etckeeper и прочая специфика отменяется)

    • «Холодный старт» вируталки должен выглядеть так:
      • запустить виртуалку
      • войти в суперпользователя
      • запустить сценарий

Отчёт по заданию

Отчёт — это набор из 5 сценариев, по одному на узел.

Сценарии присылать на почту (возможно, несколько), будет объявлено в группе.

Варианты

variants.png}

Текстовая версия:

==== Описание =====

H*
Обычный клиент, имеет один статически настроенный интерфейс
R*
Маршрутизатор, имеет два статически настроенных интерфейса, принадлежащих различным локальным сетям
C*

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

P*

Маршрутизатор, имеет три статически настроенных интерфейса, принадлежащих различным локальным сетям. Два из этих интерфейсов — «внешние», правила маршрутизации настроены так, что все соединения на 443 и 80 порт уходят через один интерфейс, а все остальные — на другой

S*

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

B*
Сетевой мост, объединяющий две физические сети в один сегмент.
V*
Сетевой мост, объединяющий VLAN-пакеты с определённым ID из двух физических сетей в один сегмент. ID выбирается произвольный.
I*
Подключение к внешней сети

Требования

Полезные советы

Что будет в задании

В задании будет набор из четырёх-пяти виртуалок, объединённых в несколько сетей с выходом в интернет + описание требуемой топологии сети и ролей узлов в ней.

Возможная тематика:

  1. Статическая настройка IP (файлы /etc/net/ifaces/имя_интерфейса/ipv4address и /etc/net/ifaces/имя_интерфейса/options)

  2. Динамическое получение настроек IP (/etc/net/ifaces/имя_интерфейса/options)

  3. Настройка сервера, обеспечивающего выход в интернет
    • Скорее всего, внешний интерфейс настроен динамически
      • Файл /etc/resolv.conf, который при этом сгенерится, надо будет разложить на все машины, где нужно, чтобы DNS работал

    • NAT (одно правило типа MASQUERADE), есть на этом вики)
    • работа роутером (включение sys.net.ipv4.ip_forward в 1, настройка /etc/net/sysctl.conf)

    • если есть какие-то внутренние подсети, добавление маршрута до них
  4. Настройка маршрутизатора
    • работа роутером
    • возможно, дополнительные маршруты (/etc/net/ifaces/имя_интерфейса/ipv4rules)

    • policy routing (ip rule / ip route … table столько-то) (файлы /etc/net/ifaces/имя_интерфейса/ipv4route и /etc/net/ifaces/имя_интерфейса/ipv4rules)

  5. Настройка моста, объединяющего один или несколько интерфейсов
  6. Настройка vlan-ов (конкретно в смысле IEEE_802.1Q)

Документация