gardarea51 08.01.2011 18:32
Есть вопрос! — [Решено]Интернет, локальная сеть, шлюз в КИС с адресом в локальной сети, linux мост?
Привет всем!Опишу как хочу сделать. =) Итак, есть Интернет - модем, есть второй модем, который обеспечивает связь до адреса 172.16.10.1, этот адрес является для моей сети 172.16.10.0/24 шлюзом в корпоративную сеть. Интернета через корпоративную сеть нет, для того, чтобы все было замечательно пользователи моей локальной сети должны иметь адреса из этого диапазона. То есть локальная сеть:
- адреса 172.16.10.0/24
- шлюз 172.16.10.1 (второй модем)..
Требуется - дать пользователям с этими адресами еще и интернет, который есть на первом модеме. Я хочу сделать так: поставить свой linux-router между:
- локальными пользователями,
- адресом 172.16.10.1 (второй модем)
- Интернетом (первый модем)..
Т.о. получается звезда с тремя концами, посередине linux router. Я не могу как то влиять на адрес 172.16.10.1, он просто есть и он является шлюзом в КИС. Отсюда выходит, что мне надо 3 физических интерфейса:
- eth0 - смотрит на модем для Интернета, чтобы поднимать ppp0
- eth1 - смотрит на адрес 172.16.10.1
- eth2 - смотрит на мою локальную сеть с адресами вида 172.16.10.0/24
Получается, что eth1 и eth2 будут находиться в одном адресном пространстве. Это, как говорят, неправильно. Поэтому у меня есть задумка объединить eth1 и eth2 в мост, br0, которому дать адрес 172.16.10.2.
Зачем мне это делать? Для того, чтобы написать на linux роутере 3 маршрута в корпоративную сеть через шлюз 172.16.10.1, остальные запросы будут уходить через NAT в Интернет. На клиентах установить шлюзом уже адрес моста 172.16.10.2. Linux router будет получать запросы клиентов на адресе 172.16.10.2 и перенаправлять их по роутам в КИС, не меняя адреса отправителя (без NAT), когда придет ответ (любой от 172.16.10.1 в локальную сеть, то linux router подменит у пакета-ответа адрес отправителя со 172.16.10.1 на свой 172.16.10.2. Потому что без этого получается что:
- клиент хочет в КИС, у него шлюзом указан linux router и клиент посылает запрос ему по адресу 172.16.10.2
- linux router перенаправляет по маршруту пакеты клиента на адрес 172.16.10.1 (настоящий шлюз для подсети)
- от 172.16.10.1 приходит ответ прямо клиенту (напрямую, они же в обной подсети), минуя 172.16.10.2 (linux router)
- клиент не понимает почему он отправил запрос через 172.16.10.2, а ответ пришел от 172.16.10.1, клиент задумался..
Прошу совета =) Это нормальная схема для решения данной задачи (схема с мостом и подменой адреса приходящий пакетов)? Еще хочется спросить можно ли с br0 раздавать адреса по DHCP, потому что сейчас linux router раздает их в локальную сеть.
Спасибо! =)
Вы внимательно прочитали вопрос? =) Дело в том, что я и хочу сделать свой роутер шлюзом для клиентов, но если я могу их натить при их хождении в Инет, то натить их в локальной сети я никак не могу. .в этом все и дело.. Сейчас у меня модем воткнут в свитч и пакеты от клиентов идут на роутер 172.16.10.2, который заворачивает их либо в инет либо в КИС на 172.16.10.1 (там они сами путешествуют), а вот когда приходит ответ, то 172.16.10.1 отвечает клиенту напрямую (мимо роутера).. клиент в шоке..
пытался честно и вдумчиво прочитать вопрос - не получилось.
но в голову пришло две мысли:
1. может есть смысл клиентам отдать другую подсетку?
2. попробовать покопать в сторону метрики сети
но в голову пришло две мысли:
1. может есть смысл клиентам отдать другую подсетку?
2. попробовать покопать в сторону метрики сети
блин.. попробуй картинку нарисовать.. даже две - как есть и как хочешь.. третий раз читаю и не могу понять, что куда ведет и как должно быть
Прошу прощения, на самом деле сразу надо было нарисовать, так сложно описать.. сижу-рисую =) Скоро напишу.
Итак, вот схема как устроено сейчас (сделано сегодня): http://dl.dropbox.com/u/4427808/tmp/ntwrk2.png А вот как я думаю сделать в помоью моста: http://dl.dropbox.com/u/4427808/tmp/ntwrk3.png
То есть сейчас запросы от клиента уходят на роутер, который их отправляет во внутренний GW для нашей сети, если клиент идет в Интернет, то роутер его натит (это работает без проблем). Но ответные запросы клиент получает уже не от роутера а от GW для нашей сетки, потому что клиент в его прямой видимости (смысл слать ответ через роутер, роутер ведь клиентов локальной сети при обращении в КИС не натит).
На схеме 2 с помощью поста я хочу физически сделать невозможным прохождение ответных пакетов клиенту мимо роутера, GW локальной сети 172.16.10.1 будет напрямую слать клиенту 172.16.10.21 ответ, но пакет пойдет через мост и я поменяю адрес 172.16.10.1 на адрес роутера 172.16.10.2, то есть с точки зрения клиента: запрос отправB
То есть сейчас запросы от клиента уходят на роутер, который их отправляет во внутренний GW для нашей сети, если клиент идет в Интернет, то роутер его натит (это работает без проблем). Но ответные запросы клиент получает уже не от роутера а от GW для нашей сетки, потому что клиент в его прямой видимости (смысл слать ответ через роутер, роутер ведь клиентов локальной сети при обращении в КИС не натит).
На схеме 2 с помощью поста я хочу физически сделать невозможным прохождение ответных пакетов клиенту мимо роутера, GW локальной сети 172.16.10.1 будет напрямую слать клиенту 172.16.10.21 ответ, но пакет пойдет через мост и я поменяю адрес 172.16.10.1 на адрес роутера 172.16.10.2, то есть с точки зрения клиента: запрос отправB
Запрос отправлен роутеру, ответ получен от роутера..
поправь трошки для наглядности - на каждом отдельном устройстве/интерфейсе проставь IP-адрес (я имею ввиду только значащие устройства/интерфейсы)
А что за трошки (сорри).. интерфейсы все важные проставлены =) Стрелочки это запросы от клиентов в КИС и ответы на них, цифры со стрелками на первом рисунке - просто порядок сообщений условно.
Фактически у меня есть выделенные мне диапазон для КИС, это 172.16.10.0/24 адреса, для которых "где то там" есть шлюз в КИС 172.16.10.1. Это по сути все важные адреса..
Фактически у меня есть выделенные мне диапазон для КИС, это 172.16.10.0/24 адреса, для которых "где то там" есть шлюз в КИС 172.16.10.1. Это по сути все важные адреса..
Понятно =) Блин, дак вроде исправлять нечего.. Внесу одно уточнение, две фигуры сверху: модем и GW 172.16.10.1 на самом деле физически представляют собой модемы. Поэтому я про модемы вначале и писал (сам уже запутался). Просто первый модем это наш модем для Инета, а второй - туннель до КИС компании, который позволяет моей сети стучаться в 172.16.10.1, чтобы иметь доступ к внутрисетевым ресурсам, естественно адреса в моей сети д.б. из диапазона 172.16.10.0/24. Вот.. Вы спрашивайте, я отвечу, может быть я просто что-то успускаю..
VLAN тебе в помощь
или смена IP-адресов
или разделение по маске сети
З.Ы. а если честно - то всеравно нифига не понял
или смена IP-адресов
или разделение по маске сети
З.Ы. а если честно - то всеравно нифига не понял
Блин.. ууу.. как бы объяснить то.. ((( я уже рыдаю.
Итак. У меня есть локальная сеть, адреса в которой _должны_ быть в диапазоне 172.16.10.2 - 172.16.10.254 с маской 255.255.255.0. До моей локальной сети есть VPN-туннель, который объединяет мою локальную сеть с хостом 172.16.10.1/255.255.255.0 и получается что этот хост находится в моей локальной сети, хотя физически он вообще за 100 километров. Этот хост (172.16.10.1) мне велено указать на компьютерах моей сети шлюзом, прописать DNS'ы и тогда у всей локальной сети есть доступ к локальной сети организации и ее внутренним ресурсам и серверам, например по имени uni.ustu, sbit.ustu. Это сервера с серыми адресами 10.Х.Х.Х или прочими, но в общем серыми.
Помимо этого у меня в моем отделе нашей глобальной организации есть адсл-модем, через который около 15ти человек хотят ходить в инет. Но они находятся в локальной сети, у них есть шлюз 172.16.10.1. И как мне дать им инет так, чтобы у них рабоатала и локальная сеть, и внутрисетевые ресурсы организации и Интернет?.. Вот в чем вопрос.. Простите, замучал я вас.. =)
Итак. У меня есть локальная сеть, адреса в которой _должны_ быть в диапазоне 172.16.10.2 - 172.16.10.254 с маской 255.255.255.0. До моей локальной сети есть VPN-туннель, который объединяет мою локальную сеть с хостом 172.16.10.1/255.255.255.0 и получается что этот хост находится в моей локальной сети, хотя физически он вообще за 100 километров. Этот хост (172.16.10.1) мне велено указать на компьютерах моей сети шлюзом, прописать DNS'ы и тогда у всей локальной сети есть доступ к локальной сети организации и ее внутренним ресурсам и серверам, например по имени uni.ustu, sbit.ustu. Это сервера с серыми адресами 10.Х.Х.Х или прочими, но в общем серыми.
Помимо этого у меня в моем отделе нашей глобальной организации есть адсл-модем, через который около 15ти человек хотят ходить в инет. Но они находятся в локальной сети, у них есть шлюз 172.16.10.1. И как мне дать им инет так, чтобы у них рабоатала и локальная сеть, и внутрисетевые ресурсы организации и Интернет?.. Вот в чем вопрос.. Простите, замучал я вас.. =)
вот!! наконец-то более-менее четкое построение задачи.
я с этим сталкивался, но на практике реализовывать не приходилось.
обрисую более просто:
у тебя есть сетка, адресация которой совпадает с адресацией, скажем так, провйдера. и, естественно, при выходе во внешний мир начинается конфликт адресов.
я задавал этот же вопрос своему сисадмину, на что получил два четких ответа: либо меняй адресацию сетки либо начинай использовать метрику
я с этим сталкивался, но на практике реализовывать не приходилось.
обрисую более просто:
у тебя есть сетка, адресация которой совпадает с адресацией, скажем так, провйдера. и, естественно, при выходе во внешний мир начинается конфликт адресов.
я задавал этот же вопрос своему сисадмину, на что получил два четких ответа: либо меняй адресацию сетки либо начинай использовать метрику
Стучу в жабу.. странно мне мои же сообщения приходят оО
А нельзя сделать так:
- У тебя сделать роутер из 172.16.10.X в интернет.
- На хостах, которым нужен и-нет прописать два роута
-- Один в сеть 176.16.10.X через гэйтвэй 172.16.10.1
-- Второй в и-нет через дефолтный гэйтвэй 172.16.10.2
- У тебя сделать роутер из 172.16.10.X в интернет.
- На хостах, которым нужен и-нет прописать два роута
-- Один в сеть 176.16.10.X через гэйтвэй 172.16.10.1
-- Второй в и-нет через дефолтный гэйтвэй 172.16.10.2
Я сегодня делал, делал, делал, делал.. и плюнул с размаху. В итоге сдедал так:
- DHCP выдает всем адреса нашей сети, выдает шлюз 172.16.10.1 и нутренние DNS
- группе хостов в секции group {} он выдает gw сам себя 172.16.10.2, это Интернет - шлюз
- физически на компьютерах людей из этой группы прописал 3 роута во внутрисеть
Блин это ппц, у меня там еще что-то с сетью.. тупо один клиент не пингует корпоративный шлюз и все.. боже как я устал..
- DHCP выдает всем адреса нашей сети, выдает шлюз 172.16.10.1 и нутренние DNS
- группе хостов в секции group {} он выдает gw сам себя 172.16.10.2, это Интернет - шлюз
- физически на компьютерах людей из этой группы прописал 3 роута во внутрисеть
Блин это ппц, у меня там еще что-то с сетью.. тупо один клиент не пингует корпоративный шлюз и все.. боже как я устал..
А вообще то.. я прочел, что если какой то компьютер маршрутизирует пакет к другому компьютеру из этой же подсети, то он отправляет отправившему клиенту icmp-redirect уведомление, что пакет был переслан и чтобы клиент был готов получить ответ от того компьютера, на который был смаршрутизирован пакет..
Честно говоря помог =) в плане настройки DHCP для "групп".. Но задача блин так и не решена. Все что мы вчера обсуждали есть и работает, но клиент почему то просто тупит. И причина этого не ясна, я сегодня разбил все концы роутером, воткнув 3ю сетевую карту:
- 1 карта - интернет
- 2 карта - мои пользователи
- 3 карта - 172.16.10.1
Настроил из 2 и 3 карты мост, дал ему IP 172.16.10.2 (как и раньше), все сделал как раньше, а клиенты все равно тупят.. ничего не понимаю..
- 1 карта - интернет
- 2 карта - мои пользователи
- 3 карта - 172.16.10.1
Настроил из 2 и 3 карты мост, дал ему IP 172.16.10.2 (как и раньше), все сделал как раньше, а клиенты все равно тупят.. ничего не понимаю..
А что ты называешь мостом? Bridge? А зачем мосто, нельзя обойтись роутингом?
Мост это у меня соединение двух физических интерфейсов, которые смотрят в одну подсеть, мосту я выдавал IP.. но работало точно так же..
Вот и я думал, что можно и нужно просто сделать роутинг, работает непонятно как. Клиенты в 70% случаев тупят и говорят "Не могу отобразить страницу" при доступе к внутрисетевым ресурсам.. Ммм.. я уже не знаю что и сделать..
Проблема "немного" решается, когда я клиенту выдаю два gw: 172.16.10.2, 172.16.10.1. У виндовых машинок получается два шлюза. И они начинают работать, но тоже временами тупят.. Куда копать?
Вот и я думал, что можно и нужно просто сделать роутинг, работает непонятно как. Клиенты в 70% случаев тупят и говорят "Не могу отобразить страницу" при доступе к внутрисетевым ресурсам.. Ммм.. я уже не знаю что и сделать..
Проблема "немного" решается, когда я клиенту выдаю два gw: 172.16.10.2, 172.16.10.1. У виндовых машинок получается два шлюза. И они начинают работать, но тоже временами тупят.. Куда копать?
Давай сначала. Мост (bridge) действует так, он соединяет две сети таким образом, что пакеты из одной сети гонит в другую и наоборот так, что обе сетки соединяет как если бы они были бы одной сеткой. Т.о. мост между двумя картами, смотрящими в ТУ ЖЕ САМУЮ сеть, не имеет смысла, Т.к. сети уже соединены. Картам моста можно присвоить IP, можно работать без IP, мост (bridge) от этого работать по другому не будет.
Тебе нужны две карты с разными IP смотрящие в одну и ту же сеть. На клиентах прописываем два GW, один в локальную сеть, другой (Defoult GW) в интернет. Твоя машина должна работать как роутер.
В принципе можно обойтись и одной сетевой картой (одной карте можно назначить два IP, только маскарадинг не работает, но для упрощения, давай рассуждать пока с двумя картами)
Вот если сделать так, как я написал, какие возникают проблемы?
Тебе нужны две карты с разными IP смотрящие в одну и ту же сеть. На клиентах прописываем два GW, один в локальную сеть, другой (Defoult GW) в интернет. Твоя машина должна работать как роутер.
В принципе можно обойтись и одной сетевой картой (одной карте можно назначить два IP, только маскарадинг не работает, но для упрощения, давай рассуждать пока с двумя картами)
Вот если сделать так, как я написал, какие возникают проблемы?
На всякий случай добавил. Мост (bridge), тебе не нужен, отключай.
Мост уже отключен. То есть как я понимаю схема может выглядеть так:http://dl.dropbox.com/u/4427808/tmp/ntwrk4.png Я верно понимаю? Но у нас тогда выходят два интерфейса в 1 сети, это же неправильно..
Если я правильно понял, то да, может выглядеть так. Два интерфейса в одной сети обычно не нужно, но никаких проблем с этим нет. Просто нужно роутинг нормально прописать.
НО! Твоему компьютеру (Linux), нужно знать, на каком интерфейсе искать какие компы корпоративной сети, потому, что часть из них на одном интерфейсе, часть на другом.
Можно решить двумя путями :
1) если получается, разбить сеть на две подсетки, чтобы одна подсетка была локальная сеть, другая - корпоративная через VPN.
2) Если не получается по 1) можно прописать на Linux GW на сетку 172.16.10 через eth1, а для каждого компа из локальной сети прописать роут через eth2.
НО! Твоему компьютеру (Linux), нужно знать, на каком интерфейсе искать какие компы корпоративной сети, потому, что часть из них на одном интерфейсе, часть на другом.
Можно решить двумя путями :
1) если получается, разбить сеть на две подсетки, чтобы одна подсетка была локальная сеть, другая - корпоративная через VPN.
2) Если не получается по 1) можно прописать на Linux GW на сетку 172.16.10 через eth1, а для каждого компа из локальной сети прописать роут через eth2.
мне кажется, что ты изначально не правильно понимаешь "корпоративную сеть".
для твоего филиала выделили диапазон 172,16,10,0/24, но в самой корпоративке адресация, скорее всего другая. 172,16,0,0/16 например
для твоего филиала выделили диапазон 172,16,10,0/24, но в самой корпоративке адресация, скорее всего другая. 172,16,0,0/16 например
Сейчас схема выглядит так: http://dl.dropbox.com/u/4427808/tmp/ntwrk2.png
Здесь проблема. Твой компьютер не знает куда отправлять пакеты, для сети 172.16.10 то ли искать их в локальной сети, то ли гнать на 172.16.10.1
Возможно он гонит их все на VPN, а потом оттуда они возвращаются в локальную сеть, через роутер VPN.
Можно прописать роутинг для каждого локального компа сети LAN.
Возможно он гонит их все на VPN, а потом оттуда они возвращаются в локальную сеть, через роутер VPN.
Можно прописать роутинг для каждого локального компа сети LAN.
У меня на роутере(линукс) прописано 3 маршрута:
- net 172.16.0.0 mask 255.255.0.0 gw 172.16.10.1
- net 10.0.0.0 mask 255.0.0.0 gw 172.16.10.1
- net 93.88.176.0 mask 255.255.240.0 gw 172.16.10.1 (это адреса наших серверов + DNS)
Все правильно? Сейчас у меня одна сетевая карта, которая воткнута в хаб, она имеет адрес 172.16.10.2 и она видит мою сеть 172.16.10.0/24 и шлюз для корпоративки 172.16.10.1 напрямую. Фактически и клиенты локальной сети этот шлюз видят напрямую..
- net 172.16.0.0 mask 255.255.0.0 gw 172.16.10.1
- net 10.0.0.0 mask 255.0.0.0 gw 172.16.10.1
- net 93.88.176.0 mask 255.255.240.0 gw 172.16.10.1 (это адреса наших серверов + DNS)
Все правильно? Сейчас у меня одна сетевая карта, которая воткнута в хаб, она имеет адрес 172.16.10.2 и она видит мою сеть 172.16.10.0/24 и шлюз для корпоративки 172.16.10.1 напрямую. Фактически и клиенты локальной сети этот шлюз видят напрямую..
А у тебя тогда получается корпоративная сеть через VPN 10.0.0.0?
Да, трасерт показывает что 10тки там точно есть, это внутренние ресурсы, которые должны быть доступны сетям вида 172.16.0.0/16
Если корпоративная сеть 10.0.0.0, а локальная 176.16.10.0 и нет никаких
компов 176.16.10.X вне локальной сети, то это все упрощает.
Пишешь у всех клиентов локальной сети дефолтный GW твой IP - 176.16.10.2
на своем компе роутишь три сетки
- 10.0.0.0
- 176.16.10.0
- 0.0.0.0 - интернет
Все должно работать.
Клиенты LAN ходят и в интернет и в корпоративный VPN через тебя.
компов 176.16.10.X вне локальной сети, то это все упрощает.
Пишешь у всех клиентов локальной сети дефолтный GW твой IP - 176.16.10.2
на своем компе роутишь три сетки
- 10.0.0.0
- 176.16.10.0
- 0.0.0.0 - интернет
Все должно работать.
Клиенты LAN ходят и в интернет и в корпоративный VPN через тебя.
Так и было сделано до сегодняшнего вечера. Но работало как то "сильно нестабильно". Сегодня я нашел решение, не совсем явное, по рабочее и удобное, чуть позже отпишу какое в деталях =)
Первое что хочется сказать - это огромное спасибо всем, кто проявил интерес к решению проблемы и помогал мне. Спасибо! Без вот таких вот обсуждений и помощи никуда зачастую не уедешь. =) Это не пафос, это правда =)
Проблема решена, обо всем по порядку. Сейчас (как и ранее) схема сети имеет следующий вид. На сервере, как я уже говорил, поднят DHCP-сервер, который благодаря советам был немного модифицирован. Вот конфиг, вдруг кому то будет интересно:
- всем клиентам выдается адрес в пределах сети и default gw 172.16.10.1 с внутренними DNS'ами.
- группе клиентов выдаются также адреса в пределах сети, но уже с привязкой по MAC-адресу, им выдается default GW 172.16.10.2 (адрес линукс-роутера), эти клиенты могут ходить в Интернет
- есть глобальное определение опции ms-classless-static-routes, code 249 (видимо, как я понял, задаем имя для опции под кодом 249 и указываем в каком виде будем вводить данные после знака равно)
- Опция используется далее уже в пределах группы как
Получается, что группа клиентов имеет defaul gw 172.16.10.2 и 3 выданных маршрута в своей системе. Вот скрин с клиента, который все это прекрасно прожевал.
Вот таким вот образом задача была решена. Остается только пройти по тем клиентам, которым я задал статические маршруты в КИС, и удалить эти маршруты, они все равно теперь получают их от DHCP-сервера. Удобство в том, что все настройки сконцентрированы у меня в одном месте и если головной офис заявит о смене каких-то маршрутов (в частности третьего), то мне достаточно будет поменять их на DHCP-сервере, совершенно не трогая клиентские машины. =)
Проблема решена, обо всем по порядку. Сейчас (как и ранее) схема сети имеет следующий вид. На сервере, как я уже говорил, поднят DHCP-сервер, который благодаря советам был немного модифицирован. Вот конфиг, вдруг кому то будет интересно:
# cat /etc/dhcpd.conf
# dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option ms-classless-static-routes code 249 = array of unsigned integer 8;
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
subnet 172.16.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 172.16.10.255;
# option domain-name "upi.example.org";
default-lease-time 600; #36000;
max-lease-time 7200; #43200;
range 172.16.10.10 172.16.10.254;
option routers 172.16.10.1;
option domain-name-servers 93.88.181.2,93.88.182.2;
group top{
option routers 172.16.10.2; #,172.16.10.1;
option domain-name-servers 93.88.181.2,8.8.8.8,93.88.182.2;
option ms-classless-static-routes 16,172,16,172,16,10,1, 8,10,172,16,10,1, 20,93,88,176,172,16,10,1;
host area51 { hardware ethernet 00:1C:C0:5A:21:E1; fixed-address 172.16.10.10; }
host dhcp11 { hardware ethernet 00:1c:c0:5a:22:4c; fixed-address 172.16.10.11; }
host dhcp12 { hardware ethernet 00:e0:4c:16:11:29; fixed-address 172.16.10.12; }
host dhcp13 { hardware ethernet 00:50:ba:53:49:aa; fixed-address 172.16.10.13; }
host dhcp14 { hardware ethernet 00:1c:c0:5a:33:1f; fixed-address 172.16.10.14; }
host dhcp15 { hardware ethernet 00:1c:c0:0a:0f:26; fixed-address 172.16.10.15; }
host dhcp16 { hardware ethernet 00:1c:c0:0a:0f:18; fixed-address 172.16.10.16; }
host dhcp17 { hardware ethernet 70:71:bc:0b:c9:c5; fixed-address 172.16.10.17; }
host dhcp18 { hardware ethernet 00:19:66:2c:4e:a9; fixed-address 172.16.10.18; }
host dhcp19 { hardware ethernet 00:19:66:2c:4e:a1; fixed-address 172.16.10.19; }
host dhcp20 { hardware ethernet 00:01:6c:a5:bc:85; fixed-address 172.16.10.20; }
host dhcp21 { hardware ethernet 00:1c:c0:0a:0f:4a; fixed-address 172.16.10.21; }
}
}
#
То есть что мы видим:- всем клиентам выдается адрес в пределах сети и default gw 172.16.10.1 с внутренними DNS'ами.
- группе клиентов выдаются также адреса в пределах сети, но уже с привязкой по MAC-адресу, им выдается default GW 172.16.10.2 (адрес линукс-роутера), эти клиенты могут ходить в Интернет
- есть глобальное определение опции ms-classless-static-routes, code 249 (видимо, как я понял, задаем имя для опции под кодом 249 и указываем в каком виде будем вводить данные после знака равно)
- Опция используется далее уже в пределах группы как
option ms-classless-static-routes 16,172,16,172,16,10,1, 8,10,172,16,10,1, 20,93,88,176,172,16,10,1;
. Это 3 маршрута, первый 172.16.0.0/16 gw 172.16.10.1, то есть в описание мы передаем по порядку: маска 16, потом IP без оконечных нулей (раз есть маска) 172,16 и потом адрес назначения 172.16.10.1. Все по порядку через запятые. Насколько я знаю вводить данные можно не только такого вида строкой, а и более удобоваримым видом, надо проверить. В итоге все это значит, что DHCP-сервер выдает клиенту 3 маршрута.Получается, что группа клиентов имеет defaul gw 172.16.10.2 и 3 выданных маршрута в своей системе. Вот скрин с клиента, который все это прекрасно прожевал.
Вот таким вот образом задача была решена. Остается только пройти по тем клиентам, которым я задал статические маршруты в КИС, и удалить эти маршруты, они все равно теперь получают их от DHCP-сервера. Удобство в том, что все настройки сконцентрированы у меня в одном месте и если головной офис заявит о смене каких-то маршрутов (в частности третьего), то мне достаточно будет поменять их на DHCP-сервере, совершенно не трогая клиентские машины. =)
На роутере поднимай DHCP и настраивай нормальную маршрутизацию, то есть
пакеты, идущие на 172.16.10.0/24 - на eth2
пакеты идущие на IP корпоративной сети - на модем к сети
остальные пакеты идут в интернет
На клиентах - шлюзом являет твой роутер. Это ИМХО самый правильный вариант, который позволяет в последствии делать дополнительные настройки (типа огранчений, прозрачного прокси,чего-нибудь ещё).