Столкнулся с такой проблемой: поднял сервер pptp для интернета. А вообще локальльная сеть из нескольких сегментов через маршрутизатор.
Пока человек не подключил интернет - у него все нормально, но как только активируется pptp - маршруты, если они не были прописаны вручную отваливаются (оно и понятно - роутер-то меняется), но на этом самом роутере также прописаны маршруты (те же самые). Пускать весь траф локальной сети через pptp-сервер нет смысла, так что думаю - iptables тут не помошники, хотя...
Жду с нетерпением ваших предложение по данному поводу.
pptp + routing
Локальная сеть тоже ваша?
Могу предложить решение, которое отчасти выглядит костылем, но мне очень пригодилось при похожей проблеме в локалке.
Итак. Если у нас дхцп-сервером является dhcp-isc 3-й ветки, то мы можем раздавать маршруты через него =)
Статическая маршрутизация через dhcp
В основной секции конфига нам надо определить переменные:
option ms-classless-static-routes code 249 = array of unsigned integer 8;
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
Затем в конфигурации нужных нам подсетей пишем
option ms-classless-static-routes code <размер подсети>, <имя подсети> <шлюз>;
option rfc3442-classless-static-routes code <размер подсети>, <имя подсети> <шлюз>;
Пример:
option ms-classless-static-routes code 24, 192,168,11, 192,168,24,2;
option rfc3442-classless-static-routes code 24, 192,168,11, 192,168,24,2;
Если же маршрутов больше чем один, то после шлюза ставим запятую и пишем еще одни… (нужно быть внимательнее с запятыми)
option ms-classless-static-routes code 24, 192,168,11, 192,168,24,2, 24, 192,168,13, 192,168,24,2;
option rfc3442-classless-static-routes code 24, 192,168,11, 192,168,24,2 24, 192,168,13, 192,168,24,2;
З.Ы. Если будет непонятно, то дайте ваши подсети и шлюзы и я объясню на примере вашей сети.
Да, данный сегмент сети мой
там несколько маршрутизаторов, вот примеры:
10.0.0.0/16 gw 10.0.110.1
172.16.21.254 gw 10.0.110.6
попробовал - не запускается пишет:
Configuration file sanity check failed:
=======================================
Internet Systems Consortium DHCP Server V3.0.7
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
/usr/local/etc/dhcpd.conf line 48: option definitions may not be scoped.
option ms-classless-static-routes code
^
/usr/local/etc/dhcpd.conf line 49: option definitions may not be scoped.
option rfc3442-classless-static-routes code
^
Configuration file errors encountered -- exiting
Спасибо, помогло, оказалось, надо было количество цифр в сети писать в зависимости от маски.
Спасибо за замечание про зависимость от маски. Когда писал пост, то не придал этому значения почему-то.
В процессе тестирования столкнулся с проблемой: при включении выше описанных опций windows xp работает вполне корректно, а вот windows 7 упорно отказывается получать ip. В чем может быть причина? Возможно, в windows 7 попытались реализовать rfc3442 и, как обычно, не удачно?
Мне кажется что дело в каких-то политиках и разрешениях. При тестировании в локалке у пользователей с пиратской вин7 и у большинства отключенным UAC и брандмауэром все работало.