Мікроїк. IPSEC vpn за NAT як клієнт

Доброго всім дня!

Так уже склалося, що в нашій компанії протягом останніх двох років ми потихеньку переходимо на мікротики. Основні вузли побудовані на CCR1072, а локальні точки підключення комп'ютерів на пристроях простіше. Само собою існує і об'єднання мереж IPSEC tunnel, в даному випадку налаштування досить просте і не викликає ніяких труднощів, благо є безліч матеріалів в мережі. А ось з мобільним підключенням клієнтів є певні труднощі, вікі виробника підказує, як використовувати Shrew soft VPN client (за цим налаштуванням все начебто зрозуміло) і саме цей клієнт використовує 99% користувачів віддаленого доступу, а 1% це я, мені стало просто ліньки кожен раз вводити логін і пароль в клієнт і захотілося лінивого розташування на дивані та зручного підключення до робочих мереж. Інструкцій з налаштування Мікротика для ситуацій, коли він знаходиться навіть не за сірою адресою, а зовсім за чорною і може навіть кількома NAT в мережі я не знайшов. Тому довелося імпровізувати, тому пропоную подивитися на результат.

Є:

  1. CCR1072 як основний пристрій. версія 6.44.1
  2. CAP ac як домашня точка підключення. версія 6.44.1

Головна особливість налаштування в тому, що ПК і мікротік повинні знаходитися в одній мережі з однією адресацією, що видається основним 1072.

Переходимо до налаштування:

1. Звичайно включаємо Fasttrack, але так як з впн fasttrack не сумісний, то доводиться вирізати його трафік.

/ip firewall mangle
add action=mark-connection chain=forward comment="ipsec in" ipsec-policy=
    in,ipsec new-connection-mark=ipsec passthrough=yes
add action=mark-connection chain=forward comment="ipsec out" ipsec-policy=
    out,ipsec new-connection-mark=ipsec passthrough=yes
/ip firewall filter add action=fasttrack-connection chain=forward connection-mark=!ipsec

2. Додаємо прокиди мереж з/в домашню та робочу

/ip firewall raw
add action=accept chain=prerouting dst-address=192.168.33.0/24 src-address=
    10.7.76.0/24
add action=accept chain=prerouting dst-address=192.168.33.0/24 src-address=
    10.7.98.0/24
add action=accept chain=prerouting disabled=yes dst-address=192.168.55.0/24 
    src-address=10.7.78.0/24
add action=accept chain=prerouting dst-address=10.7.76.0/24 src-address=
    192.168.33.0/24
add action=accept chain=prerouting dst-address=10.7.77.0/24 src-address=
    192.168.33.0/24
add action=accept chain=prerouting dst-address=10.7.98.0/24 src-address=
    192.168.33.0/24
add action=accept chain=prerouting disabled=yes dst-address=10.7.78.0/24 
    src-address=192.168.55.0/24
add action=accept chain=prerouting dst-address=192.168.33.0/24 src-address=
    10.7.77.0/24

3. Створюємо опис підключення користувача

/ip ipsec identity
add auth-method=pre-shared-key-xauth notrack-chain=prerouting peer=CO secret=
    общий ключ xauth-login=username xauth-password=password

4. Створюємо IPSEC Proposal

/ip ipsec proposal
add enc-algorithms=3des lifetime=5m name="prop1" pfs-group=none

5. Створюємо IPSEC Policy

/ip ipsec policy
add dst-address=10.7.76.0/24 level=unique proposal="prop1" 
    sa-dst-address=<white IP 1072> sa-src-address=0.0.0.0 src-address=
    192.168.33.0/24 tunnel=yes
add dst-address=10.7.77.0/24 level=unique proposal="prop1" 
    sa-dst-address=<white IP 1072> sa-src-address=0.0.0.0 src-address=
    192.168.33.0/24 tunnel=yes

6. Створюємо IPSEC profile

/ip ipsec profile
set [ find default=yes ] dpd-interval=disable-dpd enc-algorithm=
    aes-192,aes-128,3des nat-traversal=no
add dh-group=modp1024 enc-algorithm=aes-192,aes-128,3des name=profile_1
add name=profile_88
add dh-group=modp1024 lifetime=4h name=profile246

7. Створюємо IPSEC peer

/ip ipsec peer
add address=<white IP 1072>/32 local-address=<ваш адрес роутера> name=CO profile=
    profile_88

А тепер трохи простої магії. Так як мені не дуже хотілося міняти налаштування на всіх пристроях в домашній мережі, то треба було якось повісити DHCP на тугісіньку мережу, але розумно, що Мікротик не дозволяє повісити більше одного адресного пула на один bridge, тому знайшов обхідний варіант, а саме для ноутбука просто створив DHCP Lease з ручною вказівкою параметрів, а так як netmask, gateway & dns також мають номери опцій в DHCP, то їх вказав вручну.

1. DHCP Option

/ip dhcp-server option
add code=3 name=option3-gateway value="'192.168.33.1'"
add code=1 name=option1-netmask value="'255.255.255.0'"
add code=6 name=option6-dns value="'8.8.8.8'"

2. DHCP Lease

/ip dhcp-server lease
add address=192.168.33.4 dhcp-option=
    option1-netmask,option3-gateway,option6-dns mac-address=<MAC адрес ноутбука>

При цьому налаштування 1072 є практично базовим, тільки при видачі IP-адреси клієнту в налаштуваннях вказується, що видавати йому IP-адресу введену вручну, а не з пула. Для звичайних клієнтів з персональних комп'ютерів підсіти така сама, як у конфігурації з Wiki 192.168.55.0/24.

Подібне налаштування дозволяє на ПК не підключатися через сторонній софт, а тунель сам піднімається роутером у міру потреби. Навантаження клієнтського CAP ac практично мінімальне, 8-11% при швидкості 9-10МБ/с у тунелі.

Усі налаштування робилися через Winbox, хоча з тим самим успіхом можна проводити через консоль.

Джерело: habr.com

Додати коментар або відгук