Помогите с iptables

vbgt99912

Хочу у пакетов с определенного $IP_SURE на определенный порт виртуального интерфейса $IP_VPN подменить получателя и отправителя на localhost (как будто это локальный пакет). Не уверен, что нужен отправитель, а получатель точно (см. ниже про sshd).
Как это можно сделать?
То, что у меня не работает:

Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere $IP_VPN tcp dpt:5001 to:127.0.0.1

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- anywhere localhost.localdomain tcp dpt:5001 to:127.0.0.1
SNAT tcp -- anywhere $IP_VPN tcp dpt:5001 to:127.0.0.1

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere $IP_VPN tcp dpt:5001 to:127.0.0.1

Далее эти пакеты перехватывает sshd и напрявляет в туннель в Putty.
При этом сейчас с локальной машины при обращении

$wget http://$IP_VPN:5001
$wget http://127.0.0.1:5001

Все происходит успешно, а с $IP_SURE:
 
$wget http://$IP_VPN:5001
--22:19:02-- http://$IP_VPN:5001/
=> `index.html'
Connecting to $IP_VPN:5001... failed: Connection timed out.
Retrying.

Ober

Напиши, что ты хочешь получить, а не как. Почему обычный SNAT тебе не подходит? Можно вывод iptables-save посмотреть? ip_forward, ip_dynaddr включены? Правила для форвардинга где?

vbgt99912

Напиши, что ты хочешь получить, а не как.
в конечном итоге - поднять сервер VNC за файерволом и сделать его доступным для компов из уже поднятой для разных целей VPN. Сервер VPN хочу использовать как сервер для ssh-туннеля. Уже работает часть кроме расшаривания на всю VPN, работает только с самого сервака

Ober

Для хостов внутри vpn настроен роутинг и форвардинг, там где это необходимо? С помощью чего vpn делается?

stat2843915

simpleproxy -L $IP_VPN:5001 -R 127.0.0.1:5001 не канает что ле?

vbgt99912

simpleproxy -L $IP_VPN:5001 -R 127.0.0.1:5001 не канает что ле?
Работает, спасибо!
Оставить комментарий
Имя или ник:
Комментарий: