Автор: Sav
Дата сообщения: 19.10.2004 11:56
Очень объемный вопрос, надеюсь у кого-нибудь хватит сил разобраться и помочь.
Честно говоря, в голове полная каша, рассказывать буду максимально подробно.
Итак, есть филиал, подключеный в инет по DSL, модем в режиме бриджа, там есть устройство DLink DI-804HV (вроде бы должно идеально подходить под мои цели).
Сеть филиала (ФЛ) 192.168.0.0/24, LAN интерфейс DI-804HV 192.168.0.200, публичный адрес (WAN DI-804HV ) пусть будет 2.2.2.2
Локальная сеть головного офиса (ГО) 192.168.11.0/24, в ней есть W2k3 сервер с адресом 192.168.11.111, на котором, в свою очередь, есть вторая сетевуха, получающая адрес 192.168.1.2 по dhcp от циски провайдера 192.168.1.1. Циска (SOHO78, DSL модем, в режиме NAT, а не бриджа), в свою очередь, имеет публичный адрес, например 1.1.1.1
Циска выпускает в инет через NAT только тех, кто взял у нее адрес по dhcp, т.е. только этот сервер. На сервер установлен KerioWinrouteFirewall5, который также делает NAT (из 192.168.11.0/24 в 192.168.1.2). Выглядит странновато, но пров отказывается переключать циску в бридж, а требуется иметь свой контроль над инетом, поэтому получаются два NATа.
Представили? Далее, задача очевидна - подключить ФЛ к ГО. Нужен доступ со всех компов ГО ко всем компам ФЛ и наоборот.
1. На циске провайдера статически смапированы порты udp 500, 4500, 1701 (может, что-то лишнее) и протокол esp на 192.168.1.2
2. На W2k3 поднимаю RRAS в режиме сервер доступа и маршрутизация.
3. На W2k3 создаю и назначаю политику IPSec 'vpn':
Фильтр1 Source: Сеть 192.168.0.0/255.255.255.0 Dest: Сеть 192.168.1.0/255.255.255.0 Endpoint:192.168.1.2 все остальное ANY
Фильтр2 Source: Сеть 192.168.1.0/255.255.255.0 Dest: Сеть 192.168.0.0/255.255.255.0 Endpoint:2.2.2.2 все остальное ANY
Действие у обоих правил - согласовать безопастность.
Параметры ключей неважны наверное (ключи согласуются нормально).
4. На DI-804HV в настройках VPN ставлю
Local: 192.168.0.0/255.255.255.0 Remote: 192.168.1.0/255.255.255.0 Gateway:1.1.1.1
После этого, если написать на W2k3 ping 192.168.0.1 он пишет "Согласовываются параметры IPSec" сколько угодно раз, и ничего не происходит.
Если на компе в ФЛ написать ping 192.168.1.2, то (о, чудо!) пинги после небольшой паузы идут, и в мониторе DI-804HV видно, что туннель "IKE Established"
При этом по-прежнему с W2k3 ничего из 192.168.0.0/24 не пингуется, но уже и не пишет про согласований IPSec-а
Итого, получили работающую связь с любого хоста ФЛ на 192.168.1.2, но только при инициировании этой связи со стороны ФЛ.
Нормально ли это? Я думаю, нет, но любые изменения указаных выше параметров которые я пробовал, приводили к тому, что и это переставало работать.
Связь со стороны ГО к ФЛ более важна, поэтому надо было что-то делать. Единственное, что я смог придумать, это попробоватьзапустить слой L2TP или PPTP над IPSec
Не нашел в DI-804HV никаких клиентских настроек для L2TP или PPTP через IPSec, похоже, они считают, что в этом случае можно обойтись голым IPSec.
Решил выбрать сервер в ФЛ (192.168.0.1), который организует настоящую VPN по этому туннелю с W2k3 в ГО.
Сразу скажу, с L2TP у меня сходу не получилось, разбираться я пока не стал, подумал, что это не принципиально.
С PPTP вроде все просто, добавил PPTP портов в RRAS, завел пул адресов 192.168.100.1 - 192.168.100.10, завел пользователя, вписал ему статический адрес 192.168.100.3
На сервере в ФЛ сделал удаленное подключение типа L2TP/IPSec на хост 192.168.1.2, оно моментально соединилось.
В момент соединения на W2k3 появился неудаляемый маршрут 192.168.0.1/255.255.255.255 через 192.168.1.1 (циска прова), что по-моему совершенно неправильно - циска ничего об этом адресе не знает.
Как сделать чтобы такого маршрута не появлялось, я не знаю.
В результате добился того, что с любого компьютера ГО пингуется 192.168.100.3, но только он, никаких 192.168.0.x, что тоже не устраивает.
Во, как много. По-моему я нагородил много какой-то фигни, подскажите, как это должно быть правильно сделано?