Помогите понять команду iptables

Что означает каждая часть этой команды?

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

2 ответа

Решение

Из справочных страниц iptables(8):

iptables:

Iptables и ip6tables используются для настройки, обслуживания и проверки таблиц правил фильтрации пакетов IPv4 и IPv6 в ядре Linux. Несколько разных таблиц могут быть определены. Каждая таблица содержит несколько встроенных цепочек и может также содержать определенные пользователем цепочки.

-t nat:

Iptables и ip6tables используются для настройки, обслуживания и проверки таблиц правил фильтрации пакетов IPv4 и IPv6 в ядре Linux. Несколько разных таблиц могут быть определены. Каждая таблица содержит несколько встроенных цепочек и может также содержать определенные пользователем цепочки.

К этой таблице обращаются, когда встречается пакет, который создает новое соединение. Он состоит из трех встроенных компонентов: PREROUTING (для изменения пакетов, как только они поступают), OUTPUT (для изменения локально генерируемых пакетов перед маршрутизацией) и POSTROUTING (для изменения пакетов, когда они собираются выйти). Поддержка IPv6 NAT доступна начиная с ядра 3.7.

-A POSTROUTING:

Добавить одно или несколько правил в конец выбранной цепочки. Когда имена источника и / или назначения разрешаются более чем на один адрес, правило будет добавлено для каждой возможной комбинации адресов.

-o eth0: (eth0 это:)

Имя интерфейса, через который будет отправляться пакет (для пакетов, входящих в цепочки FORWARD, OUTPUT и POSTROUTING). Когда "!" аргумент используется перед именем интерфейса, смысл инвертируется. Если имя интерфейса заканчивается на "+", то любой интерфейс, начинающийся с этого имени, будет совпадать. Если эта опция опущена, любое имя интерфейса будет совпадать.

-j MASQUERADE:

Это указывает цель правила; что делать, если пакет соответствует ему. Целью может быть определенная пользователем цепочка (отличная от той, в которой находится это правило), одна из специальных встроенных целей, которые немедленно решают судьбу пакета, или расширение (см. Ниже ДОПОЛНЕНИЯ). Если эта опция опущена в правиле (и -g не используется), то совпадение с правилом не повлияет на судьбу пакета, но счетчики в правиле будут увеличены.

В следующий раз попробуйте сначала немного почитать.

sudoЭто означает "супер пользователь, делай!" Как системный администратор или опытный пользователь Linux, это одна из самых важных команд.

iptables: Используется для настройки, обслуживания и проверки таблиц правил фильтрации IP-пакетов в ядре Linux.

-t: Эта опция указывает таблицу соответствия пакетов, над которой должна работать команда.

nat: Эта таблица используется при обнаружении пакета, создающего новое соединение.

-A: Добавление одного или нескольких правил в конец выбранной цепочки.

POSTROUTINGОдна из трех встроенных функций nat для изменения пакетов, когда они собираются выходить.

-o eth0: Имя интерфейса, через который будет отправлен пакет.

-j MASQUERADE: Это указывает цель правила; что делать, если пакет соответствует ему.

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