Проброс порта c порта сервера внутри сети, на другую машину внутри сети

Помогите, плиз, решить следующию задачу:
Есть локалка на 15 машин, и сервер(192.168.0.1) ubuntu 10.04
Как сделать так, чтобы про коннекте на сервер на порт 12345, сервер перебрасывал этот коннект на 192.168.0.15 на порт 12345? При этом порт 12345 на сервере должен быть всегда открыт.

Вариант объяснения 2.

В локалке есть роутер для инета.
на серваке одна(!) сетевая с адресом 192.168.0.1
Нужно чтобы любой комп из локалки коннектился на сервак на порт 12345, а попадал на 192.168.0.15 на порт 12345.
Я перерыл кучу инфы, и не знаю как это сделать

Вариант объяснения 3.

Еще раз)
Есть локалка (инет не причем). В локалке есть сервер с одной сетевкой (192.168.0.1) на убунте.
Есть еще 15 компов в этой локалке.
Так вот... Любой из этих 15 компов, периодически, стучится на сервер на порт 12345, а сервер это коннект должен переадресовать на комп 192.168.0.15 на порт 12345. Как это сделать?

0
balamutick - 20 Август, 2010 - 21:54
Изображение пользователя balamutick.

Хороший вопрос кстати. Если это единственная тема про это на форуме, то добавлю её в подшивку (после появления решения).

Чуток полезного есть тут: NAT и iptables (Как раздать интернет через вторую сетевую карту)

0
dyug - 21 Август, 2010 - 10:54

Ключевая фраза пробросить порт внутрь сети.
Решение есть - кто должен пробросить прот собственно?
если линуховая машина - то вот так
iptables -t nat -A PREROUTING -p tcp --dport 44891 -j DNAT --to 192.168.0.13:44891
Это ко мне приходят торенты для deluge

0
balamutick - 21 Август, 2010 - 17:54
Изображение пользователя balamutick.

iptables -t nat -A PREROUTING -p tcp --dport 44891 -j DNAT --to 192.168.0.13:44891 Вот это скорее всего самый верный путь.

Первое, что нашёл в поиске:
Проброс портов в Ubuntu с помощью iptables

Единственное, что в вашем случае:
1. Это правило подменяет IP приемника на внутренний IP:
sudo iptables -t nat -A PREROUTING -p tcp -d ВНЕШНИЙ_IP --dport 13107 -j DNAT --to-destination ВНУТРЕННИЙ_IP:13107
2. Это правило обратно подменяет IP отправителя на внешний:
sudo iptables -t nat -A POSTROUTING -p tcp --dst ВНУТРЕННИЙ_IP --dport 13107 -j SNAT --to-source ВНЕШНИЙ_IP

ВНЕШНИЙ IP это IP сервера (пример: 192.168.0.1)
ВНУТРЕН. это IP машины, на которой теперь работает демон на том порту (чат как понимаю ?) (пример: 192.168.0.15) .

Т.е. смысл в том, что ВСЁ делается точно так же как и проброс из инета на внутренную карту, только в вашем случае это одна и та же карта(это важно) и "внешний" ip адрес, это адрес вашего сервера в локалке, внутренний это адрес машины в сети.

Т.е. я вам описал алгоритм, и надеюсь я не ошибаюсь.

0
dyug - 22 Август, 2010 - 10:43

Да, правильно, я просто не учел что у меня машина в инет маскарадится другим правилом.
Поэтому мне необходим только проброс во внутрь.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры