LINUX.ORG.RU
ФорумAdmin

iptables: No chain/target/match by that name

 ,


0

1

Имеется роутер под Linux, раздающий интернет в организации.

Сохранил текущие настройки через iptables-save, среди них есть проброс портов вида:

-A PREROUTING -d 193.108.ххх.ххх -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.ххх.ххх

Однако при попытке пробросить другие порты командой

iptables -A PREROUTING -d 193.108.ххх.ххх -p tcp -m tcp --dport 3128 -j DNAT --to-destination 192.168.ххх.ххх
Выдаёт

iptables: No chain/target/match by that name

Что не так? Спасибо.

(P.S. сорри, что-что, а логика настройки и работы iptables до меня не доходит)

P.S. сорри, что-что, а логика настройки и работы iptables до меня не доходит

да всё там просто. цепочка правил. вот как тебе сказали недостаёт -t nat, что значит «добавлять эти правила в таблицу nat.»
всё остальное в википедии.

dada ★★★★★
()

как уже подсказали выше - в таблице filter(а она используется по умолчанию) НЕТ цепочки PREROUTING. Она есть в таблице nat, поэтому

iptables -t nat -A PREROUTING -d 193.108.ххх.ххх -p tcp -m tcp --dport 3128 -j DNAT --to-destination 192.168.ххх.ххх
Pinkbyte ★★★★★
()

Если iptables не указать таблицу (-t table), то по умолчанию он использует таблицу filter, а в ней нет цепочки PREROUTING. Добавь «-t nat» к команде.

berrywizard ★★★★★
()
Ответ на: комментарий от pianolender

модуль указывает, но это не обязательно.

uspen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.