Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Прокинуть соединение  (Прочитано 1144 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NikolasI

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Прокинуть соединение
« : 25 Март 2010, 11:22:51 »
Есть веб-сервер на ubuntu server. Имеет две сетевухи, одна смотрит в интернет, другая смотрит во внутреннюю сеть.
Возникла потребность прокинуть все обращения с одной внешней IP на одну внутренню машину напрямую. Все порты.
Подскажите - как это сделать? может статейка есть полезная?

Оффлайн mazzo

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля

Оффлайн NikolasI

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: Прокинуть соединение
« Ответ #2 : 25 Март 2010, 12:26:23 »
Просто надо установить соединение оборудования, а по каким портам и протоколам работает точно не знаем.
Попытаюсь еще порыть - может где и  найду через что работает...

и естественно понятно что через iptables, но я с ними сталкивался только раз и то не особо удачно...
Подскажите что и куда прописать или мануал толковый, лучше с подобным моей ситуацией примером. :)
« Последнее редактирование: 25 Март 2010, 12:38:01 от NikolasI »

Оффлайн mazzo

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
Re: Прокинуть соединение
« Ответ #3 : 25 Март 2010, 13:43:24 »
ну уж лучше повтыкать что за оборудование , просканить nmap и т.д. , чем гадать и прокидывать все

Оффлайн shushpanchik

  • Активист
  • *
  • Сообщений: 294
    • Просмотр профиля
    • SKSS - "Современные компьютерные сети и системы"
Re: Прокинуть соединение
« Ответ #4 : 25 Март 2010, 16:27:21 »
Первое что нужно сделать - это определить порт по которому осуществляется соединение. В помощь tcpdump -i pppX. Запускаешь tcpdump и одновременно ломишься с внешней машины необходимым способом (который будет использоваться в дальнейшем для соединения оборудования) на сервак. И видишь порт по которому происходит обращение. Будет примерно так:

(Нажмите, чтобы показать/скрыть)
Как видно, там где выделено синим цветом, будет стоять номер порта. Скорее всего будет именно 3 обращения, но не факт

Затем например в rc.local пишем:

iptables -t nat -A POSTROUTING -d <IP локальной машины> -p tcp -m tcp --dport <порт> -j SNAT --to-source <внутренний IP сервера>
iptables -t nat -A PREROUTING -d <внешний IP сервера> -i pppХ -p tcp -m tcp --dport <порт> -j DNAT --to-destination <IP локальной машины>:<порт>

IP локальной машины - адрес машины внутри сети к которой надо приконнектиться
порт - соответственно порт на это машине, выловленный tcpdump'ом
внешний IP сервера - думаю понятно, если адрес не статический можно покрутить через $IFNAME и $LINKNAME. думаю что он таки статический, ибо у тебя веб-сервер
pppX - поднятое соединение с интернетом

У меня подобным образом организован проброс Remote administrator и удаленный рабочий стол на одну из машин внутри сети.

 

Страница сгенерирована за 0.052 секунд. Запросов: 22.