Ubuntu IP Masquerading

Документация по руководству сервера

Целью IP Masquerading является предоставление машинам с частными, не маршрутизируемыми IP-адресами в сети доступа к Интернету через машину, выполняющую маскировку. Трафик из вашей частной сети, предназначенной для Интернета, необходимо манипулировать, чтобы ответы могли перенаправляться обратно на компьютер, который сделал запрос. Для этого ядро ​​должно изменить IP-адрес source каждого пакета так, чтобы ответы направлялись обратно на него, а не на частный IP-адрес, который сделал запрос, что невозможно через Интернет. , Linux использует Connection Tracking (conntrack), чтобы отслеживать, какие соединения принадлежат каким машинам, и соответственно перенаправлять каждый возвращаемый пакет. Таким образом, трафик, выходящий из вашей частной сети, «маскируется» как исходящий с вашего шлюза Ubuntu. Этот процесс упоминается в документации Microsoft как общий доступ к подключению к Интернету.

Инструкция по маскировке 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 – трафик, соответствующий этому правилу, должен «перепрыгнуть» (-j) к цели MASQUERADE для манипуляции, как описано выше

Каждая цепочка в таблице фильтров (таблица по умолчанию и где происходит большая или вся фильтрация пакетов) имеет политику по умолчанию ACCEPT, но если вы создаете межсетевой экран в дополнение к устройству шлюза, вы можете установите политики в DROP или REJECT, и в этом случае ваш маскарадированный трафик должен быть разрешен через цепочку FORWARD для работы вышеуказанного правила:

 
 sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ПРИНЯТЬ 

 sudo iptables -A FORWARD -d 192.168.0.0/ 16-м состоянии - состояние УСТАНОВЛЕНО, СВЯЗАНО -i ppp0 -j ПРИНЯТЬ 

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

Оцените статью
Solutics.ru
Добавить комментарий