Помогите понять команду 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
: Это указывает цель правила; что делать, если пакет соответствует ему.