Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Защита

Нет необходимости указывать протокол для приложения, т.к. эта информация уже содержится в профиле. Также, обратите внимание, что имя приложения — app — заменяет номер порта.

Для просмотра деталей по портам, протоколам и т.д. для приложения, введите:

sudo ufw app info Samba

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

ubuntu-bug имя_пакета

3.3. IP маскировка

Назначение IP маскировки в том, чтобы позволить машинам в вашей сети с частными, не маршрутизируемыми IP-адресами, иметь доступ в Интернет через машину, осуществляющую маскировку. Трафик из вашей сети, предназначенный для Интернета, должен быть обработан так, чтобы ответы могли вернуться обратно на машину, которая организовала запрос. Чтобы это сделать, ядро должно изменить IP-адрес источника в каждом пакете так, чтобы ответы возвращались на сервер, а не на частный IP-адрес (что невозможно в Интернете), с которого сделан запрос. Linux использует Connection Tracking (conntrack) для хранения записи о том, каким машинам принадлежат соединения, и перенаправляет каждый возвращенный пакет соответствующим образом. Таким образом, трафик, покидающий вашу сеть, "замаскирован", как будто исходит от машины, которая выполняет роль шлюза. В документации Microsoft этот процесс упоминается как технология

Internet Connection Sharing.

3.3.1. Маскарадинг ufw

Маскарадинг IP может быть реализован использованием пользовательских правил ufw. Это возможно благодаря тому, что текущий бэк-энд для ufw

— это iptables-restore с файлами правил, хранящихся в /etc/ufw/*.rules. Эти файлы — замечательный способ добавить родные правила iptables без участия ufw, и эти правила больше ориентированы на шлюз или мост сети.

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

183

Защита

В начале, перенаправление пакетов должно быть включено в ufw. Для этого необходимо настроить два конфигурационных файла: в /etc/default/ ufw измените DEFAULT_FORWARD_POLICY на «ACCEPT»:

DEFAULT_FORWARD_POLICY="ACCEPT"

После этого отредактируйте /etc/ufw/sysctl.conf и раскомментируйте:

net/ipv4/ip_forward=1

Аналогично, для форвардинга IPv6, раскомментируйте

net/ipv6/conf/default/forwarding=1

Теперь мы добавим правила в файл /etc/ufw/before.rules. Правила по умолчанию задают только таблицу фильтрации, а для включения маскарадинга должна быть отредактирована таблица nat. Добавьте нижеследующее в начало файла, сразу после комментариев в заголовке:

#nat Table rules *nat

:POSTROUTING ACCEPT [0:0]

#Forward traffic from eth1 through eth0.

-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed COMMIT

Комментарии не обязательны, но считается хорошей практикой документировать свою конфигурацию. При этом, редактируя любой файл правил в /etc/ufw, убедитесь, что эти строки являются последними во всех изменённых таблицах:

# не удаляйте строку "COMMIT", иначе эти правила не будут обрабатываться

COMMIT

Для каждой таблицы требуется соответствующий оператор правила COMMIT. В этих примерах показаны только таблицы nat и filter, но вы можете точно так же добавить правила для таблиц raw и mangle.

В приведённом примере замените eth0, eth1 и 192.168.0.0/24 на подходящие для вашей сети интерфейсы и диапазон IP.

Наконец, отключите и заново включите ufw для того, чтобы изменения вступили в силу:

184

Защита

sudo ufw disable && sudo ufw enable

Маскарадинг IP должен быть включён. Также вы можете добавить дополнительные правила FORWARD в /etc/ufw/before.rules. Рекомендуется добавлять эти правила в цепочку ufw-before-forward.

3.3.2. Маскарадинг iptables

iptables также может быть использован для маскировки соединений.

Аналогично случаю с ufw, первым шагом будет включение перенаправления пакетов IPv4. Для этого отредактируйте /etc/sysctl.conf и раскомментируйте следующую строчку

net.ipv4.ip_forward=1

Если вы хотите включить и перенаправление IPv6, раскомментируйте:

net.ipv6.conf.default.forwarding=1

Затем выполните команду sysctl для включения новых настроек в конфигурационном файле:

sudo sysctl -p

Маскарадинг IP теперь может быть завершён одним правилом iptables, которое может слегка отличаться, в зависимости от конфигурации вашей сети:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

Команда вверху предполагает, что ваш внутрисетевой диапазон адресов

— 192.168.0.0/16, а интерфейс, смотрящий в Интернет — ppp0. Синтаксис выглядит следующим образом:

-t nat — правило для обращения к таблице NAT

-A POSTROUTING — правило, добавляемое (-A) к цепочке POSTROUTING

-s 192.168.0.0/16 — правило применяется для трафика, происходящего из обозначенного адресного пространства

-o ppp0 — правило применяется к трафику, который планируется направить через определенное сетевое устройство

-j MASQUERADE — трафик, попадающий под данное правило, должен быть перенаправлен "jump" (-j) с маскировкой (MASQUERADE) для обработки, как описано выше

185

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]