Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Задача: Необходимо настроить транзит для PPTP-туннеля для маршрутизатора с SNAT.


Решение: PPTP (Point-to-Point Tunneling Protocol) -туннельный протокол позволяющий клиенту устанавливать защищенное соединение с сервером за счет создания туннеля в незащищенной сети. Для своей работы PPTP использует два соединения — одно для управления, другое для инкапсуляции данных. Первое работает с использованием TCP, в котором сервер слушает порт 1723. Второе работает с помощью протокола GRE, который является транспортным протоколом. Эта особенность мешает клиентам, находящимся за NAT, установить подключение с сервером, так как для них установление подключения точка-точка не представляется возможным по умолчанию. Однако, поскольку в протоколе GRE, что использует PPTP, есть заголовок Call ID, маршрутизатор, на котором настроен SNAT, может идентифицировать и сопоставить GRE трафик, идущий от клиента локальной сети к внешнему серверу и наоборот. Это дает возможность клиентам за NAT установить подключение point-to-point и пользоваться протоколом GRE. Учтем это при настройке маршрутизатора, будет необходимо включить дополнительные функции.

Ниже приложен дамп установления PPTP-соединения. Видно, что начинается оно с обращения клиента на порт сервера TCP 1723. 

После аутентификации клиента и обмена необходимыми параметрами, дальнейший обмен клиент-сервер происходит с помощью gre-туннеля.

При конфигурировании PPTP-сервера (маршрутизатор R3):

  • разрешим правилами firewall порт TCP 1723 в зону self;
  • разрешим правилами firewall протокол gre в зону self.

На маршрутизаторе R2, с настройками SNAT, необходимо включить: 

  • ip firewall sessions tracking pptp - функция отслеживания сессий уровня приложений;
  • nat alg gre - функцию трансляции IP-адресов в заголовках уровня приложений для gre;
  • nat alg pptp - функцию трансляции IP-адресов в заголовках уровня приложений для pptp.

Пример конфигурации маршрутизатора R1

Конфигурация PPTP клиента
hostname R1


interface gigabitethernet 1/0/1
  description "LAN"
  ip firewall disable
  ip address 198.51.100.1/24
exit
tunnel pptp 1
  ip firewall disable
  authentication method mschap-v2
  description "worker"
  username ivan password ascii-text encrypted 8CB5107EA7005AFF
  remote address 203.0.113.2
  enable
exit

ip route 203.0.113.2/32 198.51.100.2


Пример конфигурации маршрутизатора R2

Конфигурация маршрутизатора с NAT
hostname R2                                                                                                                                                                                                        
                                                                                                                                                                                                                   
interface gigabitethernet 1/0/3                                                                                                                                                                                    
  ip firewall disable                                                                                                                                                                                              
  ip address 198.51.100.2/24                                                                                                                                                                                       
exit                                                                                                                                                                                                               
interface gigabitethernet 1/0/4                                                                                                                                                                                    
  ip firewall disable                                                                                                                                                                                              
  ip address 203.0.113.1/24                                                                                                                                                                                        
exit                                                                                                                                                                                                               
                                                                                                                                                                                                                   
ip firewall sessions tracking pptp                                                                                                                                                                                 
                                                                                                                                                                                                                   
nat source                                                                                                                                                                                                         
  ruleset pptp                                                                                                                                                                                                     
    to interface gigabitethernet 1/0/4                                                                                                                                                                             
    rule 10                                                                                                                                                                                                        
      action source-nat interface                                                                                                                                                                                  
      enable                                                                                                                                                                                                       
    exit                                                                                                                                                                                                           
  exit                                                                                                                                                                                                             
exit                                                                                                                                                                                                               
                                                                                                                                                                                                                   
nat alg gre                                                                                                                                                                                                        
nat alg pptp                


Пример конфигурации маршрутизатора R3

Конфигурация PPTP сервера
hostname R3

ip firewall sessions counters
object-group service PPTP
  port-range 1723
exit

object-group network pptp_outside
  ip address-range 203.0.113.2
exit
object-group network pptp_local
  ip address-range 10.0.0.1
exit
object-group network pptp_remote
  ip address-range 10.0.0.10-10.0.0.20
exit
object-group network pptp_dns
  ip address-range 8.8.8.8
exit

security zone PPTP
exit
security zone trusted
exit


interface gigabitethernet 1/0/1
  security-zone trusted
  ip address 203.0.113.2/24
exit
security zone-pair PPTP self
  rule 10
    action permit
    match protocol icmp
    enable
  exit
exit
security zone-pair trusted self
  rule 10
    action permit
    match protocol tcp
    match destination-port PPTP
    enable
  exit
  rule 20
    action permit
    match protocol gre
    enable
  exit
exit

remote-access pptp remote-workers
  authentication mode local
  authentication method mschap-v2
  local-address object-group pptp_local
  remote-address object-group pptp_remote
  outside-address object-group pptp_outside
  dns-servers object-group pptp_dns
  security-zone PPTP
  username ivan
    password ascii-text encrypted 8CB5107EA7005AFF
    enable
  exit
  enable
exit

ip route 198.51.100.1/32 203.0.113.1

Диагностика - просмотр NAT-трансляций на маршрутизаторе R2

Состояние туннеля на клиенте

Состояние подключенных клиентов на сервере

Следует также помнить про ограничения:

  • При подключении к pptp серверу двух клиентов, находящихся за одним и тем же NAT и имеющих один и тот же "белый" IP адрес, подключится  только один клиент. Который первым инициировал соединение.
  • Количество одновременных сессий к pptp серверу будет ограничено на маршрутизаторе R2 размером expected - таблицы. Дочерние gre-сессии попадают не сразу в основную таблицу firewall, первоначально они размещаются в expected - таблице. В основную таблицу они перейдут когда начнется передача трафика в рамках сессии. По умолчанию  размер expected - таблицы составляет 256 записей. Если ожидается транзит через R2 большого количества pptp - сессий, размер expected - таблицы необходимо будет увеличить.

     R (config)# ip firewall sessions max-expect 512




  • Нет меток