LINUX.ORG.RU

no chain/target/match by that name при попытке форварднуть порты

 


0

1

Добрый день.

Имеется Raspberry Pi 3 с установленным Raspbian Jessie. Он подключён физически по eth0 к сети 10.112.112.0/24 с IP-адресом 10.112.112.254. Есть поднятый PiVPN сервер (это сборка openVPN, абсолютно то же самое) со стандартной подсетью 10.8.0.0/24, адресом машинки 10.8.0.1 и стандартным интерфейсом tun0. Пайка имеет белый айпи и открыт порт на OpenVPN.

Что хотел сделать: в сети есть машины, которым надо форварднуть два порта, 80 и 4028. Например, есть машина 10.112.112.100, и я хочу, чтобы мой компьютер извне, который подключился к этой пайке по openVPN, мог при запросе 10.8.0.1:10080 и 10.8.0.1:10040 попадать на 10.112.112.100:80 и 10.112.112.100:4028 соответственно.

Я пишу правила в iptables:

sudo iptables -t nat -A PREROUTING -p tcp -d 10.112.112.100 --dport 80 -j DNAT --to-destination 10.8.0.1:10080
sudo iptables -A FORWARD -p tcp -d 10.8.0.1 --dport 10080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

И на первой же строчке получаю ошибку:

 no chain/target/match by that name 

Что я делаю не так? Правильная ли вторая строчка?

Посмотрите, что у вас в ″/proc/net/ip_tables_targets″, если там нет DNAT, значит правило верное, но какие-то проблемы с загрузкой модулей. Может всё исправится с очередным обновлением.

Судит о правильности отдельного правила в FORWARD смысла мало. Может у вас и так ACCEPT на всё, а может вам нужно будет писать второе правило в FORWARD для ответных пакетов от 10.8.0.1.

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