The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как организовать доступ к серверу во внутренней сети"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как организовать доступ к серверу во внутренней сети"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 23-Июл-04, 11:40  (MSK)
Подскажите, куда копать? Ситуация такая:
Есть сеть с адресами 192.168.хх.хх, выходит в интернет через шлюз на FreeBSD ( наружу смотрит адрес yy.yy.yy.yy, а внутрь - 192.168.хх.1 ) , на котором работает natd. Внутри сети есть машина 192.168.хх.2, на ней стоят web и ftp сервера.

Теперь вопрос: Можно ли сделать так, чтобы входящие запросы на yy.yy.yy.yy на порты 80, 21 перенаправлялись на этот внутренний сервер и его ответы уходили наружу от адреса yy.yy.yy.yy?

Пробывал говорить ipfw add xx fwd 192.168.хх.2 tcp from any to yy.yy.yy.yy 80, пакеты конечно прилетают на внутренний сервер, но что с ними потом делать? Они же не на адрес внутреннего сервера - он с ними делает "deny"

Или ткните носом - что почитать. Я дошел только до того, что мне, по идее нужен "двойной нат": у приходящих на yy.yy.yy.yy пакетов нужно заменить источник на 192.168.хх.1, а назначение на 192.168.хх.2. Это же бред? А как нормальные люди делают?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как организовать доступ к серверу во внутренней сети"
Сообщение от _Vic_ Искать по авторуВ закладки(??) on 24-Июл-04, 18:10  (MSK)
Пробую использовать ipf

Делаю
kldload ipl
/sbin/ipnat -F -f /etc/ipnat.rules

В ipnat.rules стоят правила:

rdr rl0 10.104.0.85/32 port 80 -> 192.168.52.2 port 80
map rl1 from 0/0 to 192.168.52.2/32 -> 192.168.52.1/32


10.104.0.85 -  на rl0 внешний адрес моего роутера
192.168.52.1 - на rl1 внутренний адрес моего роутера
192.168.52.2 - собственно сервер внутри сети с www, ftp и т.д.

Картина такая:
-------------------------------------------
ipmon -v -o NSI
24/07/2004 18:14:59.042866 @1 NAT:RDR 192.168.52.2,80 <- -> 10.104.0.85,80 [10.104.1.41,3008]
24/07/2004 18:14:59.042903 @2 NAT:MAP 10.104.1.41,3008 <- -> 192.168.52.1,3008 [192.168.52.2,80]
24/07/2004 18:19:22.936104 @2 NAT:EXPIRE 10.104.1.41,3008 <- -> 192.168.52.1,3008 [192.168.52.2,80] Pkts 9 Bytes 396
24/07/2004 18:19:22.936117 @1 NAT:EXPIRE 192.168.52.2,80 <- -> 10.104.0.85,80 [10.104.1.41,3008] Pkts 9 Bytes 396

-------------------------------------------
tcpdump -i rl1 -n host 192.168.52.2
18:15:02.040982 192.168.52.1.3008 > 192.168.52.2.80: S 363172358:363172358(0) win 57344 <mss 1460> (DF)
18:15:02.041109 192.168.52.2.80 > 192.168.52.1.3008: S 1400372720:1400372720(0) ack 363172359 win 57344 <mss 1460> (DF)

то есть до сервера пакеты доходят и он отвечает чего-то, но наружу через роутер ничего не выходит.

У меня на машине стоит файервол ipfw, на нем правила для выхода сетки наружу.

Как между собой ipfw и ipf взаимодействуют? Может ipfw резать пакеты, которые должен обрабатывать ipf? Или они независимо работают? В логах ipfw нет строк, что он пакет от 192.168.52.2 запретил.

Что можно еще сделать, чтобы ответы наружу пошли?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как организовать доступ к серверу во внутренней сети"
Сообщение от RaZOR emailИскать по авторуВ закладки(??) on 24-Июл-04, 23:05  (MSK)
а не пробовал пользовать что-то одно - или ipf, или ipfw?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 26-Июл-04, 10:17  (MSK)
>а не пробовал пользовать что-то одно - или ipf, или ipfw?

Сейчас на этой машине у меня настроено подключение по vpn к провайдеру и идет статисика пользователей через ipfw, поэтому не могу от него отказаться. ipf только начал смотреть. Но судя по тому, что внешние пакеты внутрь пролетают, при этом с заменой нужных адресов, ipf и ipfw работают независимо.

Но может кто-то подскажет, как в ipfw сделать так, чтобы пакеты, которые прилетают на внешний интерфес на порты 20, 21, 80 пробрасывались на внутреннюю машину на эти же порты, но на адрес внутренней машины, а ответы  обранто выдавались наружу с обратной заменой адресов?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как организовать доступ к серверу во внутренней сети"
Сообщение от RaZOR emailИскать по авторуВ закладки(ok) on 26-Июл-04, 10:30  (MSK)
natd?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 26-Июл-04, 11:58  (MSK)
>natd?

пробывал натить пакеты, приходящие на внешний интерфейс на порт 80.

На внутреннюю машину приходят пакеты, у которых адрес истрочника - внутренний адрес роутера, а адрес назначения - внешний адрес роутера. А дальше непонятно, что с ними делать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Shadow Искать по авторуВ закладки(??) on 24-Июл-04, 22:13  (MSK)
а что про такой порт как rinetd все забыли?
прост в настройке как "ДВА БАЙТА ПЕРЕДАТЬ"
или тебе надо еще и UDP прокидывать ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как организовать доступ к серверу во внутренней сети"
Сообщение от cray Искать по авторуВ закладки(??) on 26-Июл-04, 13:16  (MSK)
>Подскажите, куда копать? Ситуация такая:
>Есть сеть с адресами 192.168.хх.хх, выходит в интернет через шлюз на FreeBSD
>( наружу смотрит адрес yy.yy.yy.yy, а внутрь - 192.168.хх.1 ) ,
>на котором работает natd. Внутри сети есть машина 192.168.хх.2, на ней
>стоят web и ftp сервера.
>
>Теперь вопрос: Можно ли сделать так, чтобы входящие запросы на yy.yy.yy.yy на
>порты 80, 21 перенаправлялись на этот внутренний сервер и его ответы
>уходили наружу от адреса yy.yy.yy.yy?
>
>Пробывал говорить ipfw add xx fwd 192.168.хх.2 tcp from any to yy.yy.yy.yy
>80, пакеты конечно прилетают на внутренний сервер, но что с ними
>потом делать? Они же не на адрес внутреннего сервера - он
>с ними делает "deny"
>
>Или ткните носом - что почитать. Я дошел только до того, что
>мне, по идее нужен "двойной нат": у приходящих на yy.yy.yy.yy пакетов
>нужно заменить источник на 192.168.хх.1, а назначение на 192.168.хх.2. Это же
>бред? А как нормальные люди делают?

Я сделал по проще, из локалки у меня работает NATD, а в локалку IPNAT, и причём IPNAT не натит выход в инет, он тока редиректит ао внутрению сетку.
Пример из ipnat
rdr rl0 xxx.xxx.xxx.xxx/32 port 53 -> 192.168.1.2 port 53 udp
rdr rl0 xxx.xxx.xxx.xxx/32 port 80 -> 192.168.1.2 port 80 tcp
как видно из инета (внешний IP-адрес моего шлюза) прокидывается соединение на локальный IP с портом 53 и 80 соответственно указывается протокол UDP или TCP. Плюс к этому у меня работает firewall на IPFW и считалка трафика, работает без замечаний.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Xeon Искать по авторуВ закладки(ok) on 26-Июл-04, 13:27  (MSK)
Вот здесь отлично описано: http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-natd.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 27-Июл-04, 09:46  (MSK)
>Вот здесь отлично описано: http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-natd.html

Моя ситуация такая: есть 2 сети ( от 2 провайдеров ) с пересекающимися адресами из сетей 10.х.х.х . Я хочу сделать так, чтобы ресурсы ( www, ftp ) были доступны из обеих сетей. Для этого я ставлю одну машинку к одному провайдеру и все запросы от него хочу преобразовать, чтобы они преобразовывались в запросы от этой машинки с ее внутреннего адреса ко второй машинке, подключенной к сети другого провайдера. Вторая машинка отвечает первой, а первая перекидывает все в сеть первого провайдера как свой ответ.

Я такое решение придумал, так как не представляю, как сделать на одной машинке, чтобы у нее на разные интерфейсы приходили запросы из сетей с одинаковыми ip и чтобы она еще и правильно ( с того интерфейса, с которого пришел запрос ) отдавла ответ.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как организовать доступ к серверу во внутренней сети"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 27-Июл-04, 09:38  (MSK)

>Я сделал по проще, из локалки у меня работает NATD, а в
>локалку IPNAT, и причём IPNAT не натит выход в инет, он
>тока редиректит ао внутрению сетку.
>Пример из ipnat
>rdr rl0 xxx.xxx.xxx.xxx/32 port 53 -> 192.168.1.2 port 53 udp
>rdr rl0 xxx.xxx.xxx.xxx/32 port 80 -> 192.168.1.2 port 80 tcp
>как видно из инета (внешний IP-адрес моего шлюза) прокидывается соединение на локальный
>IP с портом 53 и 80 соответственно указывается протокол UDP или
>TCP. Плюс к этому у меня работает firewall на IPFW и
>считалка трафика, работает без замечаний.

Вот и я так сделал - см. немного выше. Но у меня ответы от внутренней машины не выходят наружу. Т.е. на внутреннюю машину запросы приходят и она выдает ответы, но наружу они не вылетают. Значит, где-то в ipnat что-то не работеат при моих настройках.

Я и спрашиваю ( сейчас, потому что с начала разговора уже ситуация меняется от моих изысканий): где я не прав в конфиге для ipnat?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Как организовать доступ к серверу во внутренней сети"
Сообщение от _Vic_ Искать по авторуВ закладки(??) on 27-Июл-04, 15:56  (MSK)
>Вот и я так сделал - см. немного выше. Но у меня
>ответы от внутренней машины не выходят наружу. Т.е. на внутреннюю машину
>запросы приходят и она выдает ответы, но наружу они не вылетают.
>Значит, где-то в ipnat что-то не работеат при моих настройках.
>
>Я и спрашиваю ( сейчас, потому что с начала разговора уже ситуация
>меняется от моих изысканий): где я не прав в конфиге для
>ipnat?


Итак, заработала следующая связка правил:

map rl1 from 0/0 to 192.168.52.2/32 -> 192.168.52.1/32
rdr rl0 10.104.0.85/32 port 80 -> 192.168.52.2 port 80

просто правило map поставил перед правилом rdr. На внутреннюю машину приходят пакеты со шлюза и шлюз ответы оправляет от своего имени.

Оказался важен порядок правил!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как организовать доступ к серверу во внутренней сети"
Сообщение от HFSC emailИскать по авторуВ закладки on 27-Июл-04, 18:44  (MSK)
>>Вот и я так сделал - см. немного выше. Но у меня
>>ответы от внутренней машины не выходят наружу. Т.е. на внутреннюю машину
>>запросы приходят и она выдает ответы, но наружу они не вылетают.
>>Значит, где-то в ipnat что-то не работеат при моих настройках.
>>
>>Я и спрашиваю ( сейчас, потому что с начала разговора уже ситуация
>>меняется от моих изысканий): где я не прав в конфиге для
>>ipnat?
>
>
>Итак, заработала следующая связка правил:
>
>map rl1 from 0/0 to 192.168.52.2/32 -> 192.168.52.1/32
>rdr rl0 10.104.0.85/32 port 80 -> 192.168.52.2 port 80
>
>просто правило map поставил перед правилом rdr. На внутреннюю машину приходят пакеты
>со шлюза и шлюз ответы оправляет от своего имени.
>
>Оказался важен порядок правил!

ipfw add divert natd tcp from $int_net to $ext_ip 80 in via $int_int
ipfw add divert natd tcp from $int_net to $web_ip 80 out via $int_int
ipfw add divert natd tcp from any to $ext_ip 80 in via $ext_int
ipfw add divert natd tcp from $web_ip 80 to $int_net out via $int_int
ipfw add divert natd tcp from $web_ip 80 to $ext_ip in via $int_int
ipfw add divert natd tcp from $web_ip 80 to any out via $ext_int


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру