Решено: Соединение локалки по ВПН с сетью организации + Интернет для локалки (Должна ли работать такая схема?)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
gard
Сообщения: 215

Решено: Соединение локалки по ВПН с сетью организации + Интернет для локалки

Сообщение gard »

Привет всем!
У меня проблема, все сделал по описанной ниже схеме, но почему то трудности, какие - опишу далее. Надеюсь, смогу все описать понятно.

Итак я работаю в филиале некой организации, который удален от головного офиса на 100км. У нашей глобальной организации есть КИС (корпоративная сеть, далее КИС), так как мы - филиал, то мы должны быть в КИС, поэтому доя нас организован туннель по ADSL-модему (как оно сделано физически не так важно). Моя сеть в структуре организации должна иметь адреса вида 172.16.10.0/24, для всех хостов с этого адресного диапазона шлюзом должен выступать адрес 172.16.10.1, есть свои ДНС. Адрес 172.16.10.1 (шлюз для КИС) доступен только когда работает ADSL-модем для туннеля (когда есть линк), очевидно, это адрес какого-то порта какой то железки в головном офисе. То есть адрес 172.16.10.1 есть и никуда его не денешь. У меня в сети около 30-40 компьютеров в Windows XP. Для того, чтобы они были в сети я прописываю им настройки:
- адрес 172.16.10.2 - 172.16.10.254
- маска 255.255.255.0
- шлюз 172.16.10.1
- Днс-сервера от компании..
Т.о. все клиенты моей локальной сети оказываются в сети компании, во внутренней сети, они могут иметь доступ к внутренним ресурсам типа resource.corpnet и пр..

В идеале это все, все работает, все счастливы, но КИС не предоставляет нам доступа в Интернет. Поэтому был куплен второй модем, который с какого то боку надо приткнуть к моей сети 172.16.10.0/24 так, чтобы некоторые хосты из этой сети могли сидеть в инете и одновременно находиться в КИС по своему адресу. Вот такая задача.

Что сделал я. Я взял простой компьютер и поставил на него linux (Arch linux, не кидать камнями). После этого я убедился что в моем компьютере 2 сетевые карты: 1 для Интентет-модема, 2 для хаба, в который "воткнут" адрес 172.16.10.1 и клиенты моей сети. То есть схема такая:

Код: Выделить всё

Интернет - LinuxRouter - HUB - LocalNet(172.16.10.0/24)
                          |
                     172.16.10.1


На ЛинуксРоутере у меня ppp0 смотрит в Интернет, а eth1 смотрит в мою локальную сеть. Для интернета был организован маскарадинг для избранных клиентов локальной сети адресами от 172.16.10.10 до 172.16.10.21. Умолчальный gw получается от ppp0 соединения, то есть default gw == Internet GW. Интерфейсу, воткнутому в хаб локальной сети я назначил адрес 172.16.10.2, чтобы клиенты локальной сети могли иметь к нему доступ. Далее был разрешен форвардинг пакетов между интерфейсами и прописаны 3 маршрута:
- -net 10.0.0.0 mask 255.0.0.0 gw 172.16.10.1
- -net 172.16.0.0 mask 255.255.0.0 gw 172.16.10.1
- третий марштур, который покрывал адреса внутренних DNS-серверов и других наших ресурсов gw 172.16.10.1

Далее я настроил DHCP-сервер, где всем клиентам как и раньше выдавался шлюз 172.16.10.1 и внутренние DNS-ы, а вот группе избранных клиентов с привязкой по макам и адресами 172.16.10.10-172.16.10.21 выдавался шлюзом адрес 172.16.10.2 (адрес уже линуксРоутера), выдавались 3 днс: внутренний, гугл, второйВрутренний.

После этого я имел 2 варианта развития событий для избранных клиентов:
1) Клиент идет в Интернет: он обращается к своему шлюзу по умолчанию, это линуксРоутер на адресе 172.16.10.2. ЛинуксРоутер натит клиента и тот спокойно гуляет в Интернет.
2) Клиент идет на внутренние ресурсы компании: он обращается к своему шлюзу по умолчанию на адрес 172.16.10.2 (опять же линукс - роутер). Линукс роутер принимает пакет клиента и передает его по одному из трех маршрутов (пакету то надо во внутрисеть) на адрес 172.16.10.1. По идее дальше линукс-роутер должен сказать клиенту сообщением icmp-redirect, что клиентский пакет перенаправлен на адрес 172.16.10.1 и ответа клиенту следует ждать от адреса 172.16.10.1 (я прав?), потому что они в одной сети и прямой зоне видимости. Дальше приходит ответ на запрос клиента из недр внутрисети на адрес 172.16.10.1, адрес 172.16.10.1 отдает ответ клиенту напрямую, уже не через линуксРоутер (172.16.10.2), потому что и он и клиент (и линуксРоутер) находятся в одной подсети.

Вот рисунок этого всего: http://dl.dropbox.com/u/4427808/tmp/ntwrk2.png

Теоретически эта схема должна работать или нет?
Изображение Contacts: gard.area51@jabber.ru/org .. more: http://gardarea51.wordpress.com
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Соединение локалки по ВПН с сетью организации + Интернет для локалки

Сообщение KiWi »

Ужас какой...

Есть DHCP-сервер.
Всем выдаёт адреса с привязкой по макам и маршруты:
- на все адреса внутренних сетей через 172.16.10.1
- по умолчанию -- 172.16.10.2

В iptables разрешаются доступы в интернет для избранных.
Остальным можно, например, показывать страничку "Доступ в интернет заблокирован"(решается через REDIRECT/DNAT для 80го порта в iptables и http-сервера, например).
Спасибо сказали:
Аватара пользователя
gard
Сообщения: 215

Re: Решено: Соединение локалки по ВПН с сетью организации + Интернет для локалки

Сообщение gard »

KiWi писал(а):
09.01.2011 22:22
Всем выдаёт адреса с привязкой по макам и маршруты:

Маршруты выдавать через DHCP клиентам? Или вы имеете в виду, что просто д.б. прописаны маршруты на линукс-роутере, а клиентам выдавать gw 172.16.10.2 (линукс-роутер)?

Как выдавать маршруты через DHCP? Я пробовал аналогично этому:

Код: Выделить всё

# MS routes: adds extras to supplement routers option
option ms-classless-static-routes code 249 = array of unsigned integer 8;
# RFC3442 routes: overrides routers option
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
...
option ms-classless-static-routes 16, 172,16, 10,16,40,100;
option rfc3442-classless-static-routes 16, 172,16, 10,16,40,100;
Но DHCP ругался что неизвестна директива..
Изображение Contacts: gard.area51@jabber.ru/org .. more: http://gardarea51.wordpress.com
Спасибо сказали:
Аватара пользователя
gard
Сообщения: 215

Re: Решено: Соединение локалки по ВПН с сетью организации + Интернет для локалки

Сообщение gard »

Спасибо вам за мысль, сейчас DHCP выдает маршруты, просто не разобрался в именовании директив. Спасибо!
Изображение Contacts: gard.area51@jabber.ru/org .. more: http://gardarea51.wordpress.com
Спасибо сказали: