Значит так, есть у меня на работе сеть АДСЛ роутер идущий на свич и собственно локалка с этого свича, один комп на этом свиче это FreeBSD с IP 192.168.1.254. Юзаю эту машину с Фряхой как фтп сервер да и всякие мелочи, все порты с железного роутера редирекчу на машину с Фряхой.теперь мне понадобилось поднять VPN так как часто нужно просто с дома или откуда нить еще попасть во внутреннюю локалку, подключится через РемотДесктоп и т.д.
Рашил это дело поднять на mpd5. Собственно установил, отредактировал конфиги, через ХР настроил VPN соединение, все заработало, коннектится без проблемм, однако есть проблемма - я не могу видеть внутреннюю локалку, ни один комп не пингуется =(
На работе сетка у меня с IP 192.168.1.х; долго думая решил что пробоемма в нате и прописал в правилах файрвола /etc/pf.conf следуюущее:
Код: Выделить всё
cat /etc/pf.conf
nat on ng0 from 192.168.1.0/24 to any -> 192.168.1.254
Привожу свои конфиги:
Код: Выделить всё
/etc# cat /usr/local/etc/mpd5/mpd.conf
startup:
# настройки локальных мониторов по следующим реквизитам (vpngod:12345) для пользователя с admin-привелегиями:
set user vpngod 12345 admin
# можно подлючиться с консоли
#set console self 192.168.1.254 5005
#set console open
# или с веба
set web self 192.168.1.254 5006
set web open
default: # загружаем по умолчанию профиль vpn
load vpn
vpn: # сам профиль
# Определяем диапазон выдаваемых удалённым клиентам алиасов (адреса виртуальных подключений)
# у меня с 249го по 254ый
set ippool add poolsat 192.168.1.200 192.168.1.225
# Create clonable bundle template named B - эту секцию не менял
create bundle template B
set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set nat address 192.168.1.254
set iface enable nat
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment - здесь задаём "шлюзовой" адрес для vpn-сервера
# который обслуживает наш поддиапазон - 192.168.0.255 в моём случае, и не думайте, такой адрес возможен.
# вместо виртуально выдуманного 0.255 можно задать адрес сетевой bce1 - 192.168.0.2.
# но в целях дополнительной конспирации я этого делать не стал.
set ipcp ranges 192.168.1.255/24 ippool poolsat
set ipcp dns 192.168.1.1 # внутрикорпоративные dns-сервера, могут быть и внешние
# set ipcp nbns 192.168.1.1 - у меня его нет
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type. Поддержка шифрования Microsoft
# для Windows-клиентов, не изменял секцию
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
# Create clonable link template named L - не менял ничего
create link template L pptp
# Set bundle template to use
set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU
# различные настройки для поддержания MTU в 1500 байт
set link enable multilink
set link yes acfcomp protocomp
# We reducing link mtu to avoid GRE packet fragmentation.
set link mtu 1460
# запрещаем pap (никакой защиты), включаем поддержку chap (хоть какое-то предвар.рукопожатие)
set link no pap chap
set link enable chap
# Здесь можно подключить авторизацию по RADIUS базе, мы не используем
# иначе, нужно создать ещё одну секцию 'radius' и там задать доп.параметры
# load radius
set link keep-alive 10 60
# Configure PPTP - это мой внешний IP адрес, на котором будет слушать MPD, на приём пациентов.
set pptp self 192.168.1.254 #85.117.45.24
# Allow to accept calls - включаем входящие "звонки" (запрос на соединение)
set link enable incoming