поэтому в моей сети есть клиент, подключенный к маршрутизатору через мой компьютер с помощью arpspoof. Когда я знаю, что хочу остановить пересылку пакетов, я выполняю:
iptables -A FORWARD -j REJECT
это работает, как я ожидал. Но когда я пытаюсь сделать что-то вроде:
iptables -A FORWARD -j ACCEPT
Я не могу заставить пакеты пройти, как в начале.
Я делаю что-то не так или есть другие аргументы, которые я должен использовать, отличные от "ПРИНЯТЬ"?
iptables
forwarding
СНиПы
источник
источник
-A
, может быть, вы хотите использовать-P
для установки P olicy (действие по умолчанию, когда не применяется другое правило в цепочке). Например,iptables -P FORWARD DROP
(не может бытьREJECT
).Ответы:
У IPtables есть список правил, и для каждого пакета он проверяет список правил по порядку. Как только найдено правило, соответствующее пакету и определяющее политику (ACCEPT, REJECT, DROP), определяется судьба соответствующего пакета; правила больше не рассматриваются.
Это означает, что порядок запуска команд важен. Когда вы используете
iptables -A
, вы добавляете правило в конец списка правил, так что вы получите список правил, который выглядит следующим образом:Так как
REJECT
правило , наступает прежде , чем вACCEPT
правило, он сработал первый, и , таким образом , переадресация не будет.Поэтому вам нужно будет удалить
REJECT
правило вместо добавленияACCEPT
правила. Чтобы удалить правило REJECT, запуститеДля получения дополнительной информации прочитайте справочную страницу iptables.
источник
-A
Флаг говорит IPTables , чтобы добавить правило в цепочке, а это означает , что в конечном итоге подREJECT
правило, и так как первое правило, он никогда не используется.Вы перечислите свои правила с,
iptables -L FORWARD
и вы увидите это сами. Чтобы избавиться от добавленного вами правила, запуститеПока в цепочке больше нет таких правил.
источник
Что насчёт места в конце
FORWARD
правила для перехода в новую цепочку, в которой будет только одно правило. Это может бытьACCEPT
илиREJECT
. Сказать...После этого вы можете изменить это одно правило в
accept-chain
нечто вродеотключить трафик или
-j ACCEPT
включить.И что можно включить и выключить маршрутизацией
для отключения пересылки пакетов и
"1"
- для включения.источник
Заказ имеет значение. Это добавит ваше правило вверху вместо добавления.
iptables -I FORWARD 1 -j ACCEPT
-Я должен вставить и # 1 это позиция
источник