Простой VPN сервер на cisco.

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
AcckiyGerman
проходил мимо
Сообщения: 2
Зарегистрирован: 2009-11-08 22:59:25
Контактная информация:

Простой VPN сервер на cisco.

Непрочитанное сообщение AcckiyGerman » 2010-02-19 11:57:16

Циска, как простой VPN (pptp) сервер, совместимый с windows-клиентами.
Можно использовать для доступа удаленных клиентов в сеть вашего офиса,
или для связи сетей N офисов между собой в одну виртуальную сеть.
Рассмотрена так же установка канала со стороны FreeBSD.

Часть 1. Настройка VPN сервера на cisco.

Используемое оборудование: Cisco 871-SEC-K9 (должно работать и на
других cisco с поддержкой VPN).

Подразумевается, что связь cisco с интернетом вы уже настроили и у вас
"белый" IP во внешнем мире. То есть у циски один интерфейс имеет
внешний IP адрес X.X.X.X а другой интерфейс или Vlan смотрит в
локалку и имеет внутренний IP адрес, в моем примере 192.168.1.1/24
(/24 - это разрядность сети, аналогично 255.255.255.0). К
интерфейсу, смотрящему в интернет,применен Outgoing NAT. Все это можно
настроить с помощью cisco CP или прочитав статьи, лежащие рядом в
разделе cisco :)


Подключаемся к циске телнетом, или через ssl.. далее вводим следующее:
(у меня циска называлась kiev, так как расположена в киевском офисе..)


Код: Выделить всё

kiev#conf t              (сокращение  от  configure  terminal  -  войти в режим конфигурирования)
Enter configuration commands, one per line.  End with CNTL/Z.
kiev(config)#vpdn enable                     (включаем vpn)
kiev(config)#vpdn-group TEST                 (создаем группу vpn с названием)
kiev(config-vpdn)#accept-dialin              (разрешаем входящие подключения)
kiev(config-vpdn-acc-in)#protocol pptp                  (протокол pptp, как раз такой как и в windows vpn)
kiev(config-vpdn-acc-in)#virtual-template 1             (создаем виртуальный интерфейс 1)
kiev(config-vpdn-acc-in)#interface Virtual-Template1             (переходим к редактированию интерфейса)
kiev(config-if)#ip address 172.16.0.1 255.255.255.0              (IP адрес циски в нашей виртуальной сети)
kiev(config-if)#ip mroute-cache                         (Включает групповую быструю коммутацию IP,
                                                         для отладки или для обработки списков
                                                         доступа пишите no ip mroute-cache)
kiev(config-if)#peer default ip address pool TESTPOOL    (выдавать IP адреса клиентам из пула TESTPOOL)
kiev(config-if)#ppp encrypt mppe auto required              (шифрование. Для отладки можно убрать required)
kiev(config-if)#ppp authentication pap              (авторизация по pap. Ну не люблю я усложнять)
kiev(config)#ip local pool MIKPOOL 172.16.0.2 172.16.0.10              (Пул IP адресов для клиентов)
kiev(config)#end                                                 (выход из режима конфигурирования)
kiev#write                                   (запись конфигурации в startup-config, вбивайте,
                                                   когда проверили, что в результате ваших
                                                   манипуляций, у бугалтеров не отвалился инет :)



Добавляем пользователей, которые могут подключатся к нам. Дабы они не
могли лазить по циске, выставляем уровень привилегий 0 и выключаем для
уровня 0 команду enable.


Код: Выделить всё

kiev#conf t
kiev(config)#privilege exec level 1 enable    (переводим команду enable на уровень 1)
kiev(config)#username USER privilege 0 password PASSWORD   (повторить для всех пользователей)
kiev(config)#exit    (аналог "end")
kiev#wr              (сокращение от write)





Часть 2. Клиенты виндовс.

В windows запускаете мастер новых подключений, выбираете "Подключить к
сети на рабочем месте" и далее следуйте инструкциям :)



Часть 3. Клиенты FreeBSD

Во FreeBSD для подключения pptp используют порт MPD

Код: Выделить всё

# cd /usr/ports/net/mpd
# make && make install && make clean


Разрешаем запуск:

Код: Выделить всё

# ee /etc/rc.conf


Добавте строчку:
mpd_enable="YES"

Конфигурируем MPD:
Файл /usr/local/etc/mpd/mpd.conf

Код: Выделить всё

default:
        load cisco-pptp             (подгружаем часть конфига, отвечающую за связь с циской)
cisco-pptp:                         (собственно вот она)
        new -i ng0 cisco-pptp pptp              (создаем виртуальный интерфейс ng0, тут pptp это название
                                                 раздела в /usr/local/etc/mpd/mpd.links)


        set iface idle 0                        (таймаут = 0)
        set iface disable on-demand             (не выключать интерфейс)
        set bundle authname miktest                           (miktest это пользователь на циске)
        set ipcp ranges 172.16.0.10/32 172.16.0.1/32          (Вначале наш IP, потом IP сервера. В данном
                                                               случае я указал их явно, потому как связывал
                                                               2 сети, и мне нужно было знать. куда
                                                               прописывать маршрут со стороны циски)
        set ipcp yes vjcomp               (не знаю, что это, но без нее не работает)
        set link disable chap pap         (выключаем chap, включаем pap)
        set link accept pap               (разрешаем pap. У этих 2-х строк непонятная для меня логика
                                           и вообще у mpd непонятный конфиг, есть команды yes, no, enable,
                                           disable, accept, deny и непонятно, когда какие использовать :( )
        set link deny chap-msv1           (не спрашивайте, почему не set link disable chap-msv1)
        set link yes acfcomp protocomp          (без этой непонятной штуки тоже не работает)
        set bundle disable multilink            (выключаем мультилинк, хотя в доках писано, что по
                                                             умолчанию он и так выключен)
        set bundle enable encryption            (Включаем шифрование на этой связке)
        set bundle enable crypt-reqd           (Если на циске в строке #ppp encrypt mppe auto required
                                                вы убрали  required, то закомменьте эту строку, и страшный
                                                хакер задампит сессию 1С вашего главбуха. Это ужасно.)

        #set bundle enable compression          (сжатие данных, на ваше усмотрение, у меня выключено)
        #set ccp yes mppc                 (протокол сжатия данных, коментить/раскоментить
                                                    вместе с предыдущей)
        set ccp no mpp-e40
        set ccp yes mpp-e128              (протокол шифрования, совместимый с windows клиентами)
        set ccp yes mpp-stateless

        set iface up-script /usr/local/etc/mpd/office-up.sh        (скрипт, добавляющий маршрут
                                                                     в сеть гл.офиса)
        set iface down-script /usr/local/etc/mpd/office-down.sh    (скрипт, убирающий маршрут
                                                                     в сеть гл.офиса)

        open iface                        (Поехали :)


Файл /usr/local/etc/mpd/mpd.links

Код: Выделить всё

pptp:
        set link type pptp                (а вот тут pptp это уже указание протокола :)
        set pptp peer X.X.X.X             (pptp "смотрит" в IP адрес X.X.X.X )
        set pptp enable originate         (разрешить исходящее соединение)
        set pptp disable incoming         (запретить входящее)


Файл /usr/local/etc/mpd/mpd.secret

Код: Выделить всё

miktest 12345 
(список пользователей, так как мы клиент, то всего один)

файл /usr/local/etc/mpd/office-up.sh

Код: Выделить всё

#!/bin/sh
/sbin/route add -net 192.168.1.0/24 172.16.0.1      (добавляем маршрут в сеть гл.офиса. Не забудьте зайти на
                                    cisco и добавить там статический маршрут в нашу сеть:
                                    kiev(config)#ip route 192.168.2.0 255.255.255.0 172.16.0.10
                                    как добавлять маршруты на cisco, по мере подключения
                                    клиентов я пока не знаю)


файл /usr/local/etc/mpd/office-down.sh (убираем маршрут, если VPN-канал отключился)

Код: Выделить всё

#!/bin/sh
/sbin/route del 10.1.5.0



Ну и стартуем хозяйство:

Код: Выделить всё

/usr/local/etc/rc.d/./mpd start



Часть 4. Заметки.
Удачи ребят!
Я так подробно описал, как выключать шифрование потому, что у меня
самого оно не заработало.

Хотя с протоколом mpp-e128 мне удалось связать
windows-->cisco
и
windows-->FreeBSD (MPD)
но
FreeBSD-->cisco
не работает

В логах MPD:
[kiev] rec'd unexpected protocol CCP on link 0, rejecting

Почемуто протокол cpp-e128 на моей циске не дружит с таким на FreeBSD,
или может они обмениваются немного разными управляющими командами, не
знаю :( У кого заработает, дайте пожалуйста знать на
support@mik.zp.ua , буду благодарен.

Автор: АццкийГерман
Последний раз редактировалось AcckiyGerman 2010-02-19 12:15:15, всего редактировалось 1 раз.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34896
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Простой VPN сервер на cisco.

Непрочитанное сообщение Alex Keda » 2010-02-19 12:13:33

оформить нормально не хотите? теги [code] хотя бы заюзать?!
Убей их всех! Бог потом рассортирует...

Аватара пользователя
AcckiyGerman
проходил мимо
Сообщения: 2
Зарегистрирован: 2009-11-08 22:59:25
Контактная информация:

Re: Простой VPN сервер на cisco.

Непрочитанное сообщение AcckiyGerman » 2010-02-19 12:18:36

Первый раз выкладываю тут :) Первоначально делал в блокноте, так что извиняйте за (комменты) в коде :)

diakon2
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-04-13 14:38:09

Re: Простой VPN сервер на cisco.

Непрочитанное сообщение diakon2 » 2014-02-08 16:16:43

все настроил по инструкции, впн сессии поднимаются, с вин машин, с роутеров, локальные ресурсы все доступны, но инет не работает если в свойствах подключения поставить галочку - использовать шлюз по умолчанию. в чем может быть затык?


Вернуться в «Про сайт»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость