URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50495
[ Назад ]

Исходное сообщение
"Необычный форвардинг"

Отправлено rt , 15-Ноя-04 00:20 
Мне нужно, что бы соединение с хоста А на хост Б было переброшено (уже от своего имени Б) на хост B. При этом хосты Б и B находятся в одной подсети и все имеют реальные адреса. Тоесть получается что-то вроде Mirror только пакеты отсылаются на другой хост а не обратно отправителю. Просто траффик между A и В платный. Можно это организовать с помощью iptables?

Содержание

Сообщения в этом обсуждении
"Необычный форвардинг"
Отправлено Beginner , 15-Ноя-04 08:08 
>Мне нужно, что бы соединение с хоста А на хост Б было
>переброшено (уже от своего имени Б) на хост B. При этом
>хосты Б и B находятся в одной подсети и все имеют
>реальные адреса. Тоесть получается что-то вроде Mirror только пакеты отсылаются на
>другой хост а не обратно отправителю. Просто траффик между A и
>В платный. Можно это организовать с помощью iptables?


iptables -t nat -A PREROUTING -p tcp -s host_A -d host_B -j DNAT --to-destination host_C
iptables -t nat -A POSTROUTING -p tcp -s host_A -d host_С -j SNAT --to-source host_B

Возможно заработает так, возможно потребуется еще что-нить для коррестного возврата ответов на хост А. Вторую цепочку можно заменить на простой маскарадинг.


"Необычный форвардинг"
Отправлено sed_ , 15-Ноя-04 08:36 
а как сделать чтобы весь траффик на один из адресов сервера перенаправлялось на комп во внутренней сетке.
сервер имеет два адаптера: внутренний и внешний. компьютеры в локалке не имеют выхода кроме как через сервер. внешних адресов 2. Вот нужно чтоб при соединении на один из внешних все пакеты отправлялись на указанный внутренний комп. то есть чтото вроде форвардинга или маскарадинга, но наоборот. просто нужно добавить какбы еще один комп с реальным адресом.
реально это сделать невозможно потомучто этот комп мобильный с одной аудитории в другую.

Спасибо


"Необычный форвардинг"
Отправлено Beginner , 15-Ноя-04 10:08 
>а как сделать чтобы весь траффик на один из адресов сервера перенаправлялось
>на комп во внутренней сетке.
>сервер имеет два адаптера: внутренний и внешний. компьютеры в локалке не имеют
>выхода кроме как через сервер. внешних адресов 2. Вот нужно чтоб
>при соединении на один из внешних все пакеты отправлялись на указанный
>внутренний комп. то есть чтото вроде форвардинга или маскарадинга, но наоборот.
>просто нужно добавить какбы еще один комп с реальным адресом.
>реально это сделать невозможно потомучто этот комп мобильный с одной аудитории в
>другую.
>
>Спасибо

точно так же
iptables -t nat -A PREROUTING -d host_A -j DNAT --to-destination host_B
iptables -t nat -A POSTROUTING -s host_B -o int_A -j SNAT --to-source host_A

host_A - внешний адрес
host_B - адрес внутри сети
int_A - интерфейс смотрящий наружу.
Но можно перенаправлять только отдельные потры, что по моему правильнее.


"Необычный форвардинг"
Отправлено sed_ , 15-Ноя-04 16:42 
>точно так же
>iptables -t nat -A PREROUTING -d host_A -j DNAT --to-destination host_B
>iptables -t nat -A POSTROUTING -s host_B -o int_A -j SNAT --to-source
>host_A
>
>host_A - внешний адрес
>host_B - адрес внутри сети
>int_A - интерфейс смотрящий наружу.
>Но можно перенаправлять только отдельные потры, что по моему правильнее.

Ок.
мне вобщем надо чтоб при обращении на порт сервер:7777, он(сервер) перенаправлял запросы на тотже порт внутреннего компа.

не могли бы привести пример рабочего варианта?


"Необычный форвардинг"
Отправлено Beginner , 15-Ноя-04 10:09 
Насчет "-p tcp" - это я погорячился, необходимо исключить из правил, а то только TCP трафик будет перенаправляться.