Skip to main content

Ubuntu IP Masquerading

IP Masquerading (Июнь 2026)

IP Masquerading (Июнь 2026)
Anonim

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

Инструкции для IP Masquerading

Это может быть выполнено с помощью единственного правила 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, и в этом случае ваш masqueraded трафик должен быть разрешен через цепочку FORWARD для выполнения вышеприведенного правила:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state -state ESTABLISHED, RELATED -i ppp0 -j ACCEPT

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

* Лицензия

* Индекс руководства сервера Ubuntu