У IPtables есть список правил, и для каждого пакета он проверяет список правил по порядку. Как только найдено правило, соответствующее пакету и определяющее политику (ACCEPT, REJECT, DROP), определяется судьба соответствующего пакета; правила больше не рассматриваются.
Это означает, что порядок запуска команд важен. Когда вы используете iptables -A, вы добавляете правило в конец списка правил, так что вы получите список правил, который выглядит следующим образом:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT all -- anywhere anywhere
Так как REJECTправило , наступает прежде , чем в ACCEPTправило, он сработал первый, и , таким образом , переадресация не будет.
Поэтому вам нужно будет удалить REJECTправило вместо добавления ACCEPTправила. Чтобы удалить правило REJECT, запустите
iptables -D FORWARD -j REJECT
Для получения дополнительной информации прочитайте справочную страницу iptables.
-A, может быть, вы хотите использовать-Pдля установки P olicy (действие по умолчанию, когда не применяется другое правило в цепочке). Например,iptables -P FORWARD DROP(не может бытьREJECT).