Транспортный уровень: трансляция адресов

Долги за прошлую лекцию

(Пропала примерно половина прошлой лекции, но, возможно, всё равно надо оставить две темы)

Другие варианты транспорта?

TCP

vs

UDP

есть

подключение

нет

есть

подтверждения

нет

есть

отслеживание цельности потока

нет

есть

отслеживание качества потока

нет

несколько

количество пакетов

один

А ещё?

Netcat и Socat

NAT

Network address translation — что такое и зачем нужно.

NAT без транспортного уровня

Идея замены конкретного IP другим конкретным IP (и обратно) — например, если «внутренний» IP из интернет-диапазона.

/!\ Это всё уже не работает, потому что не нужно

Табличная подмена IP

NAT с идентификацией потока

Динамическая подмена IP на основании «состояния»

Ещё про VirtualBox

Примеры SNAT и DNAT

Syn flood атака и SYNPROXY

Д/З

Задание 7

  1. Суть: воспроизвести пример из лекции, с выходным NAT-ом и пробросом порта.
  2. Площадка (сетевые адреса настроены заранее, в отчёт не входят)
    • SNAT_DNAT.svg

    • A — адрес clienta

    • B — адрес clientb

    • R — «внешний» адрес router

  3. Отчёт:
    1. report 7 router

      • Настроить исходящий NAT на интерфейсе eth1, который работал бы для A и B (Например, для всей их сети)

      • Настроить проброс порта 1234 при подключении к R на порт 1234 адреса B

      • Запустить tcpdump на «внешнем» интерфейсе, который отловит столько TCP-пакетов, чтобы были видны оба TCP-соединения (возможно, не до конца), но успеет остановиться сам

    2. report 7 clientb

      • Принять одно TCP-соединение на порт 1234
    3. report 7 srv

      • Принять одно TCP-соединение на порт 1212 (в tcpdump на router-е должно быть видно, что это соединение от R, потому что SNAT)

    4. report 7 clienta

      • Отправить несколько строк на порт 1212 хоста srv

    5. (продолжение отчёта srv)

      • Отправить несколько строк на порт 1234 адреса R (его должен принять B, потому что DNAT)

  4. Четыре отчёта (названия сохранить, должно быть: report.07.router, report.07.srv, report.07.clienta, report.07.clientb) переслать одним письмом в качестве приложений на uneexlectures@cs.msu.ru

LecturesCMC/LinuxNetwork2022/07_TransportNAT (last edited 2022-04-08 16:40:33 by FrBrGeorge)