LINUX.ORG.RU
решено ФорумAdmin

iptables с localhost до lan

 , ,


0

1

Подключаюсь к сервису на сервере через проброс порта через ссш тунель, все работало замечательно, пока сервис не переехал дальше за шлюз.

Можно как то подключение к порту локалхоста перенаправить на порт в локальной сети через iptables ???

Форвардинг порта без ссш тунеля работает, но не для локалхоста почему то

★★★
Ответ на: комментарий от Anoxemian

разве REDIRECT не в пределах хоста только работает?

DNAT да почему то у меня с локалхоста на сервер в локалке не перекидывает

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

что то не хотит все равно

iptables -t nat -A OUTPUT -d 127.0.0.1/32 -o lo -p tcp -m tcp -m multiport --dports 1111,2222 -m comment --comment tunnel -j DNAT --to-destination 192.168.x.x

sysctl -w net.ipv4.conf.all.route_localnet=1
wolverin ★★★
() автор топика
Ответ на: комментарий от wolverin

Если я правильно понял, у тебя галиматья написана.

iptables -t nat -A PREROUTING -i lo -p tcp -m tcp -m multiport --dports 1111,2222 -m comment --comment tunnel -j DNAT --to-destination 192.168.x.x

UPD.

Проверил, все не так. Тебе, видимо, просто SNAT не хватает, а так все верно вроде бы.

Anoxemian ★★★★★
()
Последнее исправление: Anoxemian (всего исправлений: 2)
Ответ на: комментарий от wolverin

тебе надо SNAT добавь, то что я написал - удали, я тупанул. iptables -t nat -A POSTROUTING -o {192.168.x.x_INTERFACE} -j SNAT --to-source {YOUR_LOCAL_192.168.x.x}

Ибо твой 192.168.x.x понятия не имеет о 127.0.0.1, который сгенерил запрос )

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

извините, не понимаю зачем SNAT нужен, мне нужно чтобы пакеты идущие на локалхост ушли на сервер в локальной сети, а не менялся источник пакетов

пакеты все однозначно приходят на интерфейс lo, но там на шлюзе никто их не слушает, их слушают по другому ip на этих же портах

wolverin ★★★
() автор топика
Последнее исправление: wolverin (всего исправлений: 1)
Ответ на: комментарий от wolverin

возможно разрешение в FORWARD не хватает с lo на внутренний интерфейс…

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

Извиняю, у тебя на сервер летит пакет с источником 127.0.0.1 -> 192.168.x.x Куда ответ последует? Просто сделай.

Тебе надо из пакета

127.0.0.1 => 127.0.0.1:1111 надо сделать 192.168.х.х => 192.168.x.x:1111

это dnat+snat

Anoxemian ★★★★★
()
Последнее исправление: Anoxemian (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

это вместе с моим правилом нужно ваше добавить? или одно ваше? если только последнее, то ничего такой трафик само по себе не создает 127.0.0.1 -> 192.168.x.x

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

Я уже проверил, потому и написал что тупанул. Думал о транзите, а у тебя ж локальная генерация.

Anoxemian ★★★★★
()

Можно средствами ssh указать адрес проброса, не помню только как,
на подобии ssh ssh@www.net -p 22 -ключXYLтипа 127.0.0.1:2222:192.168.x.x:2222
А потом во втором терминале ssh ssh@127.0.0.1 -p 2222 подключиться уже к 192.168.x.x через www.net

drl
()

Непонятно ничего, объясните для тех кому, ехать, а не шашечки.

drl
()
Ответ на: комментарий от Anoxemian

спасибо, действительно вашего второго правила не хватало

wolverin ★★★
() автор топика
Ответ на: комментарий от drl

нет у меня никаких терминалов, бинарник запускает тунель и подключение к сервису в 2х потоках, просто сервер за шлюзом оказался

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