Так, вот ситуация: у меня есть два местоположения – дом родителей, где я использую ADSL-соединение и у меня нет статического публичного IP-адреса, и мой дом, где роутеру назначен публичный IP-адрес. Коротко говоря, я хочу установить IPsec-соединение, чтобы иметь возможность получить доступ к обеим сетям без необходимости использования OpenVPN-клиента или чего-то подобного. Это план. Изучая документацию в поисках возможных решений, я, кажется, нашел то, что искал: в разделе про настройку "Road Warrior" с Mode Conf. Мне кажется, это именно то, что нужно, но, очевидно, чего-то не хватает в моей конфигурации, так как она не работает так, как ожидается.
Немного больше деталей о моей настройке: роутер, подключенный к ADSL-соединению… У него нет публичного IP-адреса, как я уже упоминал, поэтому можно считать, что каждый раз, когда я включаю или выключаю его, публичный IP-адрес будет меняться. У него есть только одна LAN-сеть, настроенная - 192.168.88.0/24. Роутер в моём доме имеет публичный IP-адрес, который статически настроен на интерфейсе выхода. У него также есть только одна LAN, настроенная - 192.168.99.0/24. Настройка кажется довольно простой, поэтому я изменил конфигурацию из упомянутой выше ссылки, вот как она выглядит на обоих устройствах:
**Конфигурация на стороне сервера**
```
[admin@MikroTik_main] > /ip ipsec export dec/26/2013 17:07:58 by RouterOS 6.7 software id = 2DWW-HXRL
/ip ipsec mode-cfg add address-pool=dhcp name=ipsec-cfg split-include=192.168.99.0/24
/ip ipsec policy group add name=ipsec-group
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add auth-method=pre-shared-key-xauth generate-policy=port-strict mode-cfg=ipsec-cfg passive=yes policy-group=ipsec-group secret=123
/ip ipsec policy add dst-address=192.168.99.0/24 group=ipsec-group src-address=192.168.99.0/24 template=yes
[admin@MikroTik_main] > /ip ipsec user print
NAME PASSWORD
0 MikrotikDz sample-password
[admin@MikroTik_main] > /ip pool print
NAME RANGES
0 dhcp 192.168.99.10-192.168.99.50
```
**Конфигурация на стороне клиента**
```
[admin@MikroTik] > /ip ipsec export dec/26/2013 17:10:20 by RouterOS 6.7 software id = AJE8-F43C
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add address=77.70.67.28/32 auth-method=pre-shared-key-xauth generate-policy=port-strict secret=123 xauth-login= MikrotikDz xauth-password=sample-password
/ip ipsec export dec/26/2013 17:10:20 by RouterOS 6.7 software id = AJE8-F43C
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add address=77.70.67.28/32 auth-method=pre-shared-key-xauth generate-policy=port-strict secret=123 xauth-login= MikrotikDz xauth-password=sample-password
```
Результат:
```
[admin@MikroTik_main] > /ip ipsec remote-peers print
[admin@MikroTik_Dupnitza] > /ip ipsec remote-peers print
0 local-address=192.168.1.2 remote-address=77.70.67.28 state=message-1-sent side=initiator
Empty!
```
Что это значит, что у меня нет установленного IPsec-соединения… Чего мне не хватает? И проблема в том, что я еще не придумал, как это отладить… В упомянутом документе автор рекомендует использовать `/ip ipsec policy dump-kernel-policies` для отладки установки IPsec-соединения, но… когда я пытаюсь это сделать на своих роутерах, команда не поддерживается:
```
[admin@MikroTik] > /ip ipsec policy dump-kernel-policies
bad command name dump-kernel-policies (line 1 column 18)
```
Что думаете, ребята? Я немного застрял на этом…
Немного больше деталей о моей настройке: роутер, подключенный к ADSL-соединению… У него нет публичного IP-адреса, как я уже упоминал, поэтому можно считать, что каждый раз, когда я включаю или выключаю его, публичный IP-адрес будет меняться. У него есть только одна LAN-сеть, настроенная - 192.168.88.0/24. Роутер в моём доме имеет публичный IP-адрес, который статически настроен на интерфейсе выхода. У него также есть только одна LAN, настроенная - 192.168.99.0/24. Настройка кажется довольно простой, поэтому я изменил конфигурацию из упомянутой выше ссылки, вот как она выглядит на обоих устройствах:
**Конфигурация на стороне сервера**
```
[admin@MikroTik_main] > /ip ipsec export dec/26/2013 17:07:58 by RouterOS 6.7 software id = 2DWW-HXRL
/ip ipsec mode-cfg add address-pool=dhcp name=ipsec-cfg split-include=192.168.99.0/24
/ip ipsec policy group add name=ipsec-group
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add auth-method=pre-shared-key-xauth generate-policy=port-strict mode-cfg=ipsec-cfg passive=yes policy-group=ipsec-group secret=123
/ip ipsec policy add dst-address=192.168.99.0/24 group=ipsec-group src-address=192.168.99.0/24 template=yes
[admin@MikroTik_main] > /ip ipsec user print
NAME PASSWORD
0 MikrotikDz sample-password
[admin@MikroTik_main] > /ip pool print
NAME RANGES
0 dhcp 192.168.99.10-192.168.99.50
```
**Конфигурация на стороне клиента**
```
[admin@MikroTik] > /ip ipsec export dec/26/2013 17:10:20 by RouterOS 6.7 software id = AJE8-F43C
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add address=77.70.67.28/32 auth-method=pre-shared-key-xauth generate-policy=port-strict secret=123 xauth-login= MikrotikDz xauth-password=sample-password
/ip ipsec export dec/26/2013 17:10:20 by RouterOS 6.7 software id = AJE8-F43C
/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des
/ip ipsec peer add address=77.70.67.28/32 auth-method=pre-shared-key-xauth generate-policy=port-strict secret=123 xauth-login= MikrotikDz xauth-password=sample-password
```
Результат:
```
[admin@MikroTik_main] > /ip ipsec remote-peers print
[admin@MikroTik_Dupnitza] > /ip ipsec remote-peers print
0 local-address=192.168.1.2 remote-address=77.70.67.28 state=message-1-sent side=initiator
Empty!
```
Что это значит, что у меня нет установленного IPsec-соединения… Чего мне не хватает? И проблема в том, что я еще не придумал, как это отладить… В упомянутом документе автор рекомендует использовать `/ip ipsec policy dump-kernel-policies` для отладки установки IPsec-соединения, но… когда я пытаюсь это сделать на своих роутерах, команда не поддерживается:
```
[admin@MikroTik] > /ip ipsec policy dump-kernel-policies
bad command name dump-kernel-policies (line 1 column 18)
```
Что думаете, ребята? Я немного застрял на этом…
