Назад | Перейти на главную страницу

Не удается выполнить обратный маршрут по туннелю IPsec с VPS

Я пытаюсь установить ipsec VPN с маршрутизатора Draytek на границе нашей корпоративной сети на VPS в Digital Ocean. Я настроил VPN на VPS, используя этот сценарий на машине Ubuntu 14.04. Я считаю, что сценарий загружает и устанавливает libreswan и предлагает несколько вопросов по базовой конфигурации и т. Д. Я внес несколько изменений в ipsec.conf, который создает сценарий. Моя проблема в том, что я могу пинговать с маршрутизатора на VPS, и я вижу, что пакеты, поступающие на VPS, отображаются как исходящие с частного IP-адреса маршрутизатора, но ничто из того, что я пробовал, не позволило мне направить пакеты обратно по туннель к роутеру. Таким образом, с точки зрения маршрутизатора кажется, что время ожидания эхо-запросов истекает.

Маршрутизатор напрямую подключен к Интернету через один из его интерфейсов и настроен с использованием локального IP-адреса 10.111.1.1. VPS имеет единый интерфейс, подключенный непосредственно к Интернету.

Когда VPN установлен, это таблица маршрутизации на VPS:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         178.62.64.1     0.0.0.0         UG        0 0          0 eth0
10.111.1.1      *               255.255.255.255 UH        0 0          0 eth0
178.62.64.0     *               255.255.192.0   U         0 0          0 eth0

Обратите внимание, что вторая запись создается при установке VPN.

Если я попробую пинговать 10.111.1.1, я получаю

PING 10.111.1.1 (10.111.1.1) 56(84) bytes of data.
From <public IP address - eth0> icmp_seq=1 Destination Host Unreachable

Вот результат проверки ipsec:

Verifying installed system and configuration files

Version check and ipsec on-path                         [OK]
Libreswan 3.10 (netkey) on 3.13.0-37-generic
Checking for IPsec support in kernel                    [OK]
 NETKEY: Testing XFRM related proc values
         ICMP default/send_redirects                    [OK]
         ICMP default/accept_redirects                  [OK]
         XFRM larval drop                               [OK]
Pluto ipsec.conf syntax                                 [OK]
Hardware random device                                  [N/A]
Two or more interfaces found, checking IP forwarding    [OK]
Checking rp_filter                                      [OK]
Checking that pluto is running                          [OK]
 Pluto listening for IKE on udp 500                     [OK]
 Pluto listening for IKE/NAT-T on udp 4500              [OK]
 Pluto ipsec.secret syntax                              [OK]
Checking 'ip' command                                   [OK]
Checking 'iptables' command                             [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options             [OK]
Opportunistic Encryption                                [DISABLED]

и вот содержимое /etc/ipsec.conf (закомментированные строки являются результатами предыдущих экспериментов с теми же результатами):

version 2.0

config setup
  dumpdir=/var/run/pluto/
  nat_traversal=yes
  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24
  oe=off
  protostack=netkey
  nhelpers=0
  interfaces=%defaultroute

conn vpnpsk
  connaddrfamily=ipv4
  auto=add
  left=178.62.73.215
#  leftid=178.62.73.215
#  leftsubnet=178.62.73.215/32
  leftsubnet=10.10.10.0/24
#  leftnexthop=%defaultroute
  leftnexthop=%direct
  leftprotoport=17/1701
  rightprotoport=17/%any
#  right=%any
  right=10.111.1.0/24
  rightsourceip=10.111.1.1
  leftsourceip=10.10.10.1
#  rightsubnetwithin=0.0.0.0/0
  forceencaps=yes
  authby=secret
  pfs=no
  type=transport
  auth=esp
  ike=3des-sha1,aes-sha1
  phase2alg=3des-sha1,aes-sha1
  rekey=no
  keyingtries=5
  dpddelay=30
  dpdtimeout=120
  dpdaction=clear

Это соответствующая часть таблицы маршрутизации от роутера:

Key: C - connected, S - static, R - RIP, * - default, ~ - private
*            0.0.0.0/ 0.0.0.0          via <public IP address>   WAN2
S~        10.10.10.0/ 255.255.255.0    via 178.62.73.215   VPN-10
C~        10.111.1.0/ 255.255.255.0    directly connected    LAN 
C    <public IP address>/ 255.255.255.224  directly connected    WAN2

Был бы признателен, если бы кто-то указал, что я делаю неправильно.

Спасибо.

Хорошо, я наткнулся на решение, удалив строки leftprotoport = 17/1701 и rightprotoport = 17 /% any. Не уверен, почему это сработало, эй-хо! Теперь я могу пинговать с сервера на маршрутизатор и могу пинговать устройства, висящие на маршрутизаторе. У меня сейчас другая проблема, но я отправлю другой вопрос по этому поводу. Спасибо всем.