Проблема в следующем. Не знаю, как настроить роутинг VPN. Сервер VPN - mpd (FreeBSD 4.8). Делал, как рекомендовано в данной статье http://www.opennet.dev/base/net/mpd_pptp_vpn.txt.html
Mpd.conf выглядит следующим образом (решетками обозначены комментарии автора статьи):
default:
load pptp0
load pptp1
load pptp2
load pptp3
load pptp4
load pptp5
load pptp6
pptp0:
#так создается новый интерфейс, воторой параметр - название
соединения, который этот интерфейс будет использовать (из файла
mpd.links)
new -i ng0 pptp0 pptp0
#Задается локальный и удаленный ip адреса
set ipcp ranges 192.168.0.1/32 192.168.1.10/32
Вот здесь у меня уже возникают вопросы - автор не уточнил, что подразумевается под локальным и удаленным адресами. У меня, например, ситуация такова - FreeBSD смотрит внешним интерфейсом в инет (далее - внеш_IP), а внутренним (192.168.0.1) - в локалку, внутренний интерфейс является шлюзом по умолчанию для компов в локалке. Подключаюсь я с компа, который имеет реальный IP. Цель - необходимо получить доступ к компам локалки хотя бы по IP. Поэтому я предположительно указал интервал адресов, как приведено выше, имея в виду, что удаленный комп получит адрес из другой подсетки (192.168.1.0), как обычно рекомендуется.
#Загружаются паремтры, одинаковые для всех интерфейсов
load pptp_standart
pptp1:
new -i ng1 pptp1 pptp1
set ipcp ranges 192.168.0.1/32 192.168.1.11/32
load pptp_standart
И т.д до pptp6.
pptp_standart:
set iface disable on-demand
set bundle disable multilink
set link yes acfcomp protocomp
#Требуем chap авторизации
set link no pap chap
set link enable chap
set link keep-alive 60 180
set ipcp yes vjcomp
#Устанавливаем DNS и Wins
set ipcp dns 192.168.0.3
#set ipcp nbns 10.128.1.42
#Включаем proxy-arp, чтобы компьютер "видел" без маршрутизации
корпоративную сеть (по протоколу arp)
set iface enable proxy-arp
#Включаем компрессию данных
set bundle enable compression
#Включаем компрессию данных, совсестимую с Microsoft-клиентами
set ccp yes mppc
#Включаем шифрование, совместимое с Microsoft-клиентами
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle yes crypt-reqd
#Задаем адрес для входящих соединений
set pptp self внеш_IP
#Разрешаем входящие соединения
set pptp enable incoming
set pptp disable originate
Файл mpd.links выглядит так:
pptp0:
set link type pptp
pptp1:
set link type pptp
pptp2:
set link type pptp
pptp3:
set link type pptp
pptp4:
set link type pptp
pptp5:
set link type pptp
pptp6:
set link type pptp
mpd.secret:
user pass 192.168.1.10
и т.д
Проблемы начинаются после установки соединения и прохождения авторизации - здесь все нормально. Удаленный комп получает адрес 192.168.1.10, DNS который и нужен - 192.168.0.3, а вот дальше начинаются непонятки. Шлюз по умолчанию на удаленном компе есть - это прововский шлюз (еще раз - на компе реальный IP). VPN сервер почему-то выдает адрес шлюза такой же, как и адрес, который получает комп после установки соединения (т.е. 192.168.1.10), маска подсети 255.255.255.255. Повторюсь, что внутренний интерфейс сервака FreeBSD имеет адрес 192.168.0.1 и должен обеспечить доступ к локальной сети 192.168.0.0.
Адрес 192.168.0.1 с удаленного компа после установки соединения пингуется, а вот компы в локальной сети 192.168.0.X - нет. Понятно, что где-то и как-то нужно прописывать статические маршруты, а вот где конкретно и как - не знаю. Экспериментировал, но результата нет. Нужен четкий анализ ситуации и конкретный совет - что и как делать. Может ли шлюз по умолчанию сетевухи конфликтовать со шлюзом VPN? Почему удаленный комп получает шлюз такой же, как и IP адрес?
И, кстати, если сделать, чтобы удаленный комп получал IP из той же подсети, что и внутренний интерфейс FreeBSD (например 192.168.0.60), то 192.168.0.1 вообще не пингуется.
В общем, выручайте плиз, а то у меня уже скоро истерика начнется