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

Исходное сообщение
"переадресация из запроса с интернет на локальный адресс"

Отправлено sergey , 07-Окт-03 15:37 
Есть сервер Freebsd-4.8 подключенный к интернет с реальным адресом,есть сервер WinXP c локальным адресом(192.168.0.100)на котором стоит IIS5 c веб-сайтом,вопрос такой каким образом можно сделать так что-бы клиенты из интернета могли заходить на этот сервер с локальным адресом.
Зараннее спасибо!

Содержание

Сообщения в этом обсуждении
"переадресация из запроса с интернет на локальный адресс"
Отправлено iLesik , 07-Окт-03 16:01 
>Есть сервер Freebsd-4.8 подключенный к интернет с реальным адресом,есть сервер WinXP c
>локальным адресом(192.168.0.100)на котором стоит IIS5 c веб-сайтом,вопрос такой каким образом можно
>сделать так что-бы клиенты из интернета могли заходить на этот сервер
>с локальным адресом.
>Зараннее спасибо!

cмотри iptables -j DNAT

iptables -t nat -A PREROUTING -p tcp -m tcp --dport ZZZZ -j DNAT --to-destination 90.0.0.X:YY

(все что пришло на порт zzzz главной машини уходит на 90.0.0.X:YY, На 90.0.0.X:YY default gateway должен быть ip основного компа)
(Не забудь FORWARD пустить и про
echo "1" > /proc/sys/net/ipv4/ip_forward)



"переадресация из запроса с интернет на локальный адресс"
Отправлено ValerySavchuk , 07-Окт-03 16:15 
>>Есть сервер Freebsd-4.8 подключенный к интернет с реальным адресом,есть сервер WinXP c
>>локальным адресом(192.168.0.100)на котором стоит IIS5 c веб-сайтом,вопрос такой каким образом можно
>>сделать так что-бы клиенты из интернета могли заходить на этот сервер
>>с локальным адресом.
>>Зараннее спасибо!
>
>cмотри iptables -j DNAT
>
>iptables -t nat -A PREROUTING -p tcp -m tcp --dport ZZZZ -j
>DNAT --to-destination 90.0.0.X:YY
>
>(все что пришло на порт zzzz главной машини уходит на 90.0.0.X:YY, На
>90.0.0.X:YY default gateway должен быть ip основного компа)
>(Не забудь FORWARD пустить и про
>echo "1" > /proc/sys/net/ipv4/ip_forward)
можно еще проще
есть такая прога socket (/usr/ports/sysutils/socket)
вешаешь ее к нужному порту через inetd
те в inetd.conf пишешь примерно следующее

http stream tcp nowait root /usr/local/bin/socket -q 192.168.0.100 80

недостаток: получатель соединения будет считать что подключение выполняется с твоей машины, тк соединение выполняет программа socket

хотя в определенной ситуации, когда надо скрыть адрес, это бывает
удобно


"переадресация из запроса с интернет на локальный адресс"
Отправлено sergey , 07-Окт-03 16:45 
а как с помощью этого socket ,сервер на юниксе будет знать что определенный запрос надо отправить на на локальный адрес? сама процедура перенаправления?

"переадресация из запроса с интернет на локальный адресс"
Отправлено ValerySavchuk , 07-Окт-03 17:00 
>а как с помощью этого socket ,сервер на юниксе будет знать что
>определенный запрос надо отправить на на локальный адрес? сама процедура перенаправления?
>
так явно пишем на какой хост и порт переводим данное соединение

http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/network...


"переадресация из запроса с интернет на локальный адресс"
Отправлено sergey , 07-Окт-03 17:15 
дело в том ,что мне нужно что бы пользователи из интернета попадали на веб сайт который находится на машине с локальным адресом ,а не с локальной сети!

"переадресация из запроса с интернет на локальный адресс"
Отправлено lavr , 07-Окт-03 17:20 
>дело в том ,что мне нужно что бы пользователи из интернета попадали
>на веб сайт который находится на машине с локальным адресом ,а
>не с локальной сети!

изучать до посинения RFC1918 (номер запоминается легко! :)


"переадресация из запроса с интернет на локальный адресс"
Отправлено ValerySavchuk , 07-Окт-03 17:21 
>дело в том ,что мне нужно что бы пользователи из интернета попадали
>на веб сайт который находится на машине с локальным адресом ,а
>не с локальной сети!
так они и попадут: inetd совместно с socket и перенаправят
это соединение на сервер во внутренней сети


"переадресация из запроса с интернет на локальный адресс"
Отправлено sergey , 07-Окт-03 18:00 
а что кроме установки socket еще нужно сделать на юниксе,
  например natd или ipfw настраивать как то нужно?

"переадресация из запроса с интернет на локальный адресс"
Отправлено ValerySavchuk , 07-Окт-03 18:24 
> а что кроме установки socket еще нужно сделать на юниксе,
>  например natd или ipfw настраивать как то нужно?

открыть 80 порт на вход из внешнего интернета

что-то типа

ipfw add pass tcp from any to {внешний IP} 80 setup


"переадресация из запроса с интернет на локальный адресс"
Отправлено dev , 07-Окт-03 23:49 
>Есть сервер Freebsd-4.8 подключенный к интернет с реальным адресом,есть сервер WinXP c
>локальным адресом(192.168.0.100)на котором стоит IIS5 c веб-сайтом,вопрос такой каким образом можно
>сделать так что-бы клиенты из интернета могли заходить на этот сервер
>с локальным адресом.
>Зараннее спасибо!

У меня ослик работает на внутренней виндовой машине.
Вот строчка из файла конфигурации natd:

# /etc/natd.conf
redirect_port tcp 192.168.0.26:4662 4662

В /etc/rc.conf:

natd_flags="-dynamic -config /etc/natd.conf"

Ну и в ipfw порт конечно открыть.
Только надо как-то еще IIS объяснить, какой у него правильный адрес - куда клиентов редиректить при необходимости.