The OpenNET Project / Index page

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

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

"Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 26-Окт-09, 23:44 
Здравствуйте. Хотелось бы получить консультацию по такому вопросу:
есть компьютер-маршрутизатор, он же выполняет функции веб сервера,
подключены два внутренние сети, одна по nfe0 (и её же VPN по ng0), вторая сеть - по ADSL-модему, который подключен к общей сети. Т.е. организация такая:

Router 192.168.1.1
|.......|
|nfe0--------Prov1 homenet
|.ng0--------Prov1 internet(VPN)
|.......|        
|.......|        Switch               ______
|fxp0--------|1  2|-------------|ADSL  |
|fxp1|         |    3|-Comp1     |modem|-----Prov2 homenet
|____|        |    4|-Comp2     |______|
                 |__5|-...            192.168.1.254
  

А задача состоит вот в чем: у провайдера 1 есть внутренние адреса на 10.0.0.0/8 (ну и еще некоторые разные, не столь важно) и еще белые адреса (но их в расчет пока можно и не брать). У второго провайдера вот такие диапазоны (почти все - белые айпи): 81.20.192.0/20, 93.180.0.0/18, 172.16.0.0/12, 195.34.224.0/19, 95.179.0.0/17 и недавно появился 10.0.0.0/8. Нужно чтобы при заходе по адресу domain1.ru (привязан к айпи внешнему подключения Prov1) для пользователей Prov1 этот сайт был внутренним ресурсом, пользователям же Prov2 веб-сервер (nginx, если что) выдавал сообщение о том, что им надо вместо адреса domain1.ru использовать domain2.ru (или происходил жесткий редирект на него, адрес приявязан в белому айпи Prov2), соответственно для пользователей Prov2 domain2.ru доолжен быть внутренним ресурсом. А сайт domain3.ru должен для всех грузиться одинаково (либо это для всех будет внешка, либо, хотя бы для Prov1 это должа быть внутренняя сеть, на крайний случай, редирект на domain4.ru для абонентов Prov2).

Если просто прописать маршрутизацию, то:
во-первых, теряется диапазон 10.0.0.0/8 для Prov2
во-вторых, при попытке пользователя Prov2 зайти на сайт domain1.ru по правилам маршрутизации ответ отправляется через ADSL-модем, так что пользователь считате, что сервер ему просто не отвечает, а на самом деле его комп отвергает подключение от совсем другого айпи, на который не посылал запрос)

Если такое в принципе осуществимо, то надеюсь на вашу помощь в этой интересной задачке :)

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от adews (ok) on 27-Окт-09, 14:02 
Может зайти с другого конца?
Имхо, маршрутизация здесь ни при чём. Пользователям в разных сетях должны выдаваться разные IP по запросу одного и того-же доменного имени, смотрите в сторону DNS
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 27-Окт-09, 15:18 
>Может зайти с другого конца?
>Имхо, маршрутизация здесь ни при чём. Пользователям в разных сетях должны выдаваться
>разные IP по запросу одного и того-же доменного имени, смотрите в
>сторону DNS

Т.е. вы предлагаете организовать у себя на сервере еще и DNS-сервер? Где тогда можно подробнее почитать как осуществить выдачу DNSкой для разных айпи клиента разных айпи сервера?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от ALex_hha (ok) on 27-Окт-09, 15:34 
>>Может зайти с другого конца?
>>Имхо, маршрутизация здесь ни при чём. Пользователям в разных сетях должны выдаваться
>>разные IP по запросу одного и того-же доменного имени, смотрите в
>>сторону DNS
>
>Т.е. вы предлагаете организовать у себя на сервере еще и DNS-сервер? Где
>тогда можно подробнее почитать как осуществить выдачу DNSкой для разных айпи
>клиента разных айпи сервера?

то, что вам нужно называется - view

http://www.zytrax.com/books/dns/ch7/view.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 27-Окт-09, 15:39 
>[оверквотинг удален]
>>>разные IP по запросу одного и того-же доменного имени, смотрите в
>>>сторону DNS
>>
>>Т.е. вы предлагаете организовать у себя на сервере еще и DNS-сервер? Где
>>тогда можно подробнее почитать как осуществить выдачу DNSкой для разных айпи
>>клиента разных айпи сервера?
>
>то, что вам нужно называется - view
>
>http://www.zytrax.com/books/dns/ch7/view.html

Спасибо за подсказку, почитаю и буду пробывать :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 13:39 
>[оверквотинг удален]
>>>разные IP по запросу одного и того-же доменного имени, смотрите в
>>>сторону DNS
>>
>>Т.е. вы предлагаете организовать у себя на сервере еще и DNS-сервер? Где
>>тогда можно подробнее почитать как осуществить выдачу DNSкой для разных айпи
>>клиента разных айпи сервера?
>
>то, что вам нужно называется - view
>
>http://www.zytrax.com/books/dns/ch7/view.html

dns настроил, но вот проблема - он не виден ни из внутренней сети, ни из внешней.
т.е. я пытаюсь сделять nslookup мой_домен 192.168.1.1 (и с сервера и с другой локальной машины) и nslookup мой_домен мой_внешний_айпи - и просто наступает таймаут, а dns не отвечает. а вот на nslookup мой_домен 127.0.0.1 отвечает нормально.
соответственно, проблема в pf. я в нем уже по-разному пробывал разрешать, сейчас написано вот так:
pass in proto { tcp udp } from any to any port domain
...
pass out all keep state  

и все равно не работает

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от Koba LTD on 28-Окт-09, 13:47 
>[оверквотинг удален]
>таймаут, а dns не отвечает. а вот на nslookup мой_домен 127.0.0.1
>отвечает нормально.
>соответственно, проблема в pf. я в нем уже по-разному пробывал разрешать, сейчас
>написано вот так:
>pass in proto { tcp udp } from any to any port
>domain
>...
>pass out all keep state
>
>и все равно не работает

netstat
в студию

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 16:24 
>[оверквотинг удален]
>>написано вот так:
>>pass in proto { tcp udp } from any to any port
>>domain
>>...
>>pass out all keep state
>>
>>и все равно не работает
>
>netstat
>в студию

#netstat
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0 192.168.1.1.ftp        192.168.1.1.62966      ESTABLISHED
tcp4       0      0 192.168.1.1.62966      192.168.1.1.ftp        ESTABLISHED
tcp4       0      0 localhost.ftp-proxy    192.168.1.3.4887       ESTABLISHED
tcp4       0     52 192.168.1.1.ssh        192.168.1.3.4441       ESTABLISHED
tcp4       0      0 10.94.4.193.65531      pe38-br2-l0.lip..pptp  ESTABLISHED
udp4       0      0 95-31-247-61.bro.ntp   *.*                    
udp4       0      0 localhost.ntp          *.*                    
udp6       0      0 localhost.ntp          *.*                    
udp6       0      0 fe80:6::1.ntp          *.*                    
udp4       0      0 192.168.1.1.ntp        *.*                    
udp4       0      0 10.94.4.193.ntp        *.*                    
udp4       0      0 localhost.domain       *.*                    
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
ffffff000754d000 stream      0      0 ffffff000741adc8        0        0        0 /tmp/mysql.sock
ffffff0003f096c8 stream      0      0        0 ffffff0003f09000        0        0
ffffff0003f09000 stream      0      0        0 ffffff0003f096c8        0        0
ffffff0003f09c98 stream      0      0 ffffff0003f179d8        0        0        0 /var/run/devd.pipe
ffffff0003f099b0 stream      0      0        0 ffffff0003f098b8        0        0
ffffff0003f098b8 stream      0      0        0 ffffff0003f099b0        0        0
ffffff0003f0ad90 dgram       0      0        0 ffffff0003f094d8        0 ffffff000754d0f8
ffffff000754d0f8 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f09aa8
ffffff0003f09aa8 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f09d90
ffffff0003f0a000 dgram       0      0        0 ffffff0003f093e0        0        0
ffffff0003f09d90 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f091f0
ffffff0003f091f0 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f097c0
ffffff0003f097c0 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f09ba0
ffffff0003f09ba0 dgram       0      0        0 ffffff0003f094d8        0 ffffff0003f090f8
ffffff0003f090f8 dgram       0      0        0 ffffff0003f094d8        0        0
ffffff0003f092e8 dgram       0      0 ffffff0003fbedc8        0        0        0 /var/named/var/run/log
ffffff0003f093e0 dgram       0      0 ffffff0007031000        0 ffffff0003f0a000        0 /var/run/log
ffffff0003f094d8 dgram       0      0 ffffff00070311f8        0 ffffff0003f0ad90        0 /var/run/logpriv
ffffff0003f095d0 dgram       0      0 ffffff00070313f0        0        0        0 /var/run/log

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от ALex_hha (ok) on 28-Окт-09, 17:51 
> udp4       0      0 localhost.domain       *.*

так он только на localhost слушает

Добавь

listen-on { 127.0.0.1; xxx.xxx.xxx.xxx; yyy.yyy.yyy.yyy; zzz.zzz.zzz.zzz; };

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 17:54 
>> udp4       0      0 localhost.domain       *.*
>
>так он только на localhost слушает

я уже догадался, только так и ен понял как изменить что он будет слушать. поидее, в rc.conf пропичывать, вопрос только что именно прописывать.

ага, спс, сейчас попробую

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 19:04 
>> udp4       0      0 localhost.domain       *.*
>
>так он только на localhost слушает
>
>Добавь
>
>listen-on { 127.0.0.1; xxx.xxx.xxx.xxx; yyy.yyy.yyy.yyy; zzz.zzz.zzz.zzz; };

так, ну на внутреннем айпи и на айпи в локалке заработало, а вот на внешке пока не работает, видимо потому что VPN поднимается позже.
а если я после того как VPN поднимается пишу rndc reload, то он мне в логи выдает вот это:
Oct 28 19:02:45 lipetsk-media named[915]: could not listen on UDP socket: permission denied
Oct 28 19:02:45 lipetsk-media named[915]: creating IPv4 interface ng0 failed; interface ignored
Oct 28 19:02:45 lipetsk-media named[915]: the working directory is not writable
Oct 28 19:02:45 lipetsk-media named[915]: could not listen on UDP socket: permission denied
Oct 28 19:02:45 lipetsk-media named[915]: creating IPv4 interface ng0 failed; interface ignored

есть какие-нибудь варианты решения этой проблемы?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от sonkilla (ok) on 28-Окт-09, 19:28 
нехватка прав?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 21:32 
>нехватка прав?

а как это можно проверить?
просто на других-то интерфейсах нормально слушает. изначально не может его начать слушать, т.к. mpd еще не запустился, а вот потом почему - не понятно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 22:47 
>нехватка прав?

оказалось, что если остановить named, а потом его запустить, то он начинает нормально слушать ng0. сейчас попробую добавить перезапуск named при запуске vpn.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 28-Окт-09, 23:11 
>Может зайти с другого конца?
>Имхо, маршрутизация здесь ни при чём. Пользователям в разных сетях должны выдаваться
>разные IP по запросу одного и того-же доменного имени, смотрите в
>сторону DNS

так, dns заработал, только вот в чем проблема, таблица маршрутов влияет и на ответы dns, так что приницпиальной разницы после запуска dns у себя на сервере не заметил - все так же все упирается в маршруты...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Маршрутизация для двух внутренних сетей с внутр. веб-серверо..."  +/
Сообщение от exetrimall (ok) on 29-Окт-09, 10:03 
>Может зайти с другого конца?
>Имхо, маршрутизация здесь ни при чём. Пользователям в разных сетях должны выдаваться
>разные IP по запросу одного и того-же доменного имени, смотрите в
>сторону DNS

ну так что, есть какие-нибудь новые идеи по этому поводу? если сейчас убрать маршрутизацию на второго провайдера через adsl, то по внешке он им будет отправлять правильный ip, но когда они попытаются зайти по этому ip, им никто не ответит, точнее опять будет отвечать не по тому адресу.

из вариантов, которые я вижу - внешний dns, который выдает правильные ip, а сервер уже нормально отвечает, т.к. в нем таблица маршрутизации. но меня этот вариант не слишком устраивает.

а что будет если у регистратора домена первым ip dns прописать внутренний айпи в одной сети, вторым - внутренний айпи в другой сети, а третьим - внешний айпи? насколько правильно это будет работать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

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




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

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