Cisco: PPTP-сервер на Cisco 2811

http://pro-voip.com.ua cisco

PPTP (Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. (c) wiki

VPDN (Virtual Private Dialup Network)

Сценарий 1

Подключаемся к PPTP-серверу, получаем отдельный белый ip и с этим ip выходим в интернет.
Получается, что на каждое подключение — свой белый ip-адрес.
На стороне провайдера необходим маршрут в нашу сеть, которая выдается для PPTP.

 

 

cisco-pptp-scenario1

 

 

1. Включаем VPDN

Router(config)#vpdn enable

2. Создаем VPDN-группу

Заходим в режим конфигурации VPDN-группы:

  • разрешаем входящие «dial-in» запросы
  • указываем протокол pptp
  • определяем шаблон, который будем использовать при создании виртуального интерфейса
Router(config)#vpdn-group VPN-1
Router(config-vpdn)#accept-dialin
Router(config-vpdn-acc-in)#protocol pptp
Router(config-vpdn-acc-in)#virtual-template 1

3. Создаем virtual-template для VPDN-группы 

При подключении пользователя к PPTP-серверу создается Virtual-Access-интерфейс.  Virtual-Access-интерфейс клонируется с Virtual-Template-интерфейса (с шаблона).

Создаем шаблон virtual-template и настраиваем параметры будущего виртуального интерфейса:

  • задаем инкапсуляцию ppp
  • список адресов, назначаемых виртуальному интерфейсу выделяется динамически с пула VPN-POOL-1
  • задаем реальный интерфейс, который клонируем в виртуальный
  • отключаем keepalive
  • задаем параметры ppp — шифрование (encrypt) и перечисляем возможные методы аутентификации (authentication)
Router(config)#interface virtual-template 1
Router(config-if)#encapsulation ppp
Router(config-if)#peer default ip address pool VPN-POOL-1
Router(config-if)#ip unnumbered FastEthernet 0/0
Router(config-if)#no keepalive
Router(config-if)#ppp encrypt mppe auto
Router(config-if)#ppp authentication pap chap ms-chap ms-chap-v2

4. Создаем пул адресов VPN

Router(config)#ip local pool VPN-POOL-1 50.50.50.1 50.50.50.15

5. Создаем пользователя

  • включаем aaa new-model (если еще не включена)
  • ppp аутентификация и авторизация будет производиться с использованием локальной базы пользователей
  • добавляем пользователя
Router(config)#aaa new-model
Router(config)#aaa authentication ppp default local
Router(config)#aaa authorization network default local
Router(config)#username vpn password strong_pass

 


 

Сценарий 2

Если нет отдельной сети белых ip-адресов для VPN-пула, можно использовать сеть серых адресов + NAT

Подключаемся к PPTP-серверу, серый ip, NAT’им «серый» ip в «белый» и с «белым» ip выходим в интернет.
В итоге на все подключения — 1 «белый» ip.

 

 

cisco-pptp-scenario2

 

 

1. Включаем VPDN

Router(config)#vpdn enable

2. Создаем VPDN-группу

Router(config)#vpdn-group VPN-2
Router(config-vpdn)#accept-dialin
Router(config-vpdn-acc-in)#protocol pptp
Router(config-vpdn-acc-in)#virtual-template 2

3. Создаем virtual-template для VPDN-группы 

+ NAT

! NAT включаем на Virtual-Template -интерфейсе, а не на реальном FastEthernet0/0:

Router(config)#interface virtual-template 2
Router(config-if)#encapsulation ppp
Router(config-if)#peer default ip address pool VPN-POOL-2
Router(config-if)#ip unnumbered FastEthernet 0/0
Router(config-if)#no keepalive
Router(config-if)#ppp encrypt mppe auto
Router(config-if)#ppp authentication pap chap ms-chap ms-chap-v2

Router(config-if)#ip nat enable
Router(config-if)#ip nat inside

4. Создаем пул адресов VPN

Router(config)#ip local pool VPN-POOL-2 192.168.1.1 192.168.1.254

5. Создаем пользователя

Router(config)#aaa new-model
Router(config)#aaa authentication ppp default local
Router(config)#aaa authorization network default local
Router(config)#username vpn password strong_pass

6. Завершаем настройку NAT

+ NAT

nat inside — виртуальный интерфейс
nat outside — реальный интерфейс Fa0/1

Router(config)#interface FastEthernet0/1
Router(config-subif)#ip nat enable
Router(config-subif)#ip nat outside

C помощью стандартного access-list 1 указываем какую сеть натить и в какой интерфейс:

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 interface FastEthernet0/1 overload

 


 

Дополнение

Если настроить на Cisco оба вышеописаных сценария, Cisco ругнется, что у нас две VPDN-группы с одинаковой конфигурацией:

% Warning, the vpdn groups VPN-1 and VPN-2 have the same configuration

— указан один и тот же протокол — pptp

И правильно ругнется —  когда пользователь будет подключаться по PPTP, как циске выбрать, к какой группе этого пользователя прилепить — VPN-1 или VPN-2 ? Работать PPTP-сервер в таком случае будет, но будет активной только одна VPDN-группа — та, которая была создана первой, т.е. VPN-1.

Если все-таки нужно несколько групп, можно поступить следующим образом: для подключения к разным VPDN-группам нужно использовать разные ip-адреса интерфейсов cisco для pptp-сервера:

Router(config)#vpdn-group VPN-1
Router(config-vpdn)#source-ip 10.10.10.1