LINUX-BG   Адрес : http://www.linux-bg.org
Mikrotik + Openvpn + Android
От: Hacko
Публикувана на: 26-03-2016
Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=486330437

Ако някой от вас си е губил безуспешно времето за да подкара тази комбинация, може би статията ще му е полезна.

Но да знаете - писана е за непрофесионалисти от непрофесионалист, който ползва догадки и хипотези, та по-знаещите съм сигурен, че ще бъдат така любезни да напишат някой друг коментар със забележки и... закани :)

Както може би сте чували, openvpn използва асиметрично криптиране (казват му още шифроване), т.е. ползва двойка частен и публичен ключ с прилежащите им сертификати. За целта на нашето упражнение, ще ни трябват удостоверител (известен е още като CA, certificate authority), който ще подпише сертификатите на сървъра и клиента. Има много начини да се направи това, предполагам всеки си има любим, но за да е най-лесно ще ползвам директно микротик и по-точно ssh връзка. Разбира се всичко това може да се направи и през уеб интерфейса или windows -кото приложение... въпрос на вкус.

След като установим SSH връзка започваме:

'Влизаме' в категория сертификати
 [MyRouter@MikroTik] > certificate
Генериране на темплейти за сертификати
 [MyRouter@MikroTik] /certificate> add name=ca-template common-name=ca key-usage=key-cert-sign,crl-sign
  [MyRouter@MikroTik] /certificate> add name=server-template common-name=server
  [MyRouter@MikroTik] /certificate> add name=clinet1-template common-name=client1
Подписване на сертификати
 [MyRouter@MikroTik] /certificate> sign ca-template ca-crl-host=ВАШИЯТ_ДОМЕЙН_ИЛИ_ВЪНШНИЯТ_IP name=ca
  [MyRouter@MikroTik] /certificate> sign server-template ca=ca name=server
  [MyRouter@MikroTik] /certificate> sign client1_template ca=ca name=client1

И така генерирахме и подписахме сертификатите. Сега ще ги направим 'доверени' и ще направим експорт на клиентския сертификат.

Примерен код на bash
 [MyRouter@MikroTik] /certificate> set ca trusted=yes
  [MyRouter@MikroTik] /certificate> set server trusted=yes
  
  [MyRouter@MikroTik] /certificate> export-certificate ca
  [MyRouter@MikroTik] /certificate> export-certificate client1 export-passphrase=НЯКАКВА_ПАРОЛА
проверяваме дали всичко е както трябва
 [MyRouter@MikroTik] /certificate> print

Конфигуриране на рутера:

Първо ще направим група адреси които ще обслужват VPN -а
 [MyRouter@MikroTik] /certificate> /ip pool add name=openvpn ranges=10.10.0.2-10.10.0.10

Това 10.10.0.0 – си е ваш избор, както и колко адреса ще заделите за да се свързват клиентите.

След това трябва да добавим нов профил който ще се ползва от VPN -а
 /ppp profile add name=ovpn local-address=10.10.0.1 remote-address=openvpn
Следва да си добавим име и парола
 /ppp secret add name="username" password="password" service=ovpn profile=ovpn
След това пускаме самия VPN
 [MyRouter@MikroTik] /certificate> /interface ovpn-server server set auth=sha1,md5 certificate=server cipher=blowfish128,aes128,aes192,aes256 default-pr
  ofile=ovpn enabled=yes require-client-certificate=no

След това трябва да разрешим връзка към oт външния свят към рутера (в зависимост от конфигурацията на рутера, може да се наложи да се пренаредят правилата, за да сработят правилно):

Примерен код на bash
 [MyRouter@MikroTik] /ip firewall filter add action=accept chain=input comment="OpenVPN" disabled=no dst-port=1194 protocol=tcp

 

С това конфигурацията на сървъра е завършена.

Сега конфигурацията на телефона:

1. Изтегляме си приложение за OpenVPN (освен ако телефонът ви не го поддържа). Онова което е най-удобно според мен е: blinkt openvpn

 

След това трябва от рутера да свалите експортираните сертификати.

Ако използвате web интерфейс – намират се в раздел „Files“.

Качвате ги на телефона.

От приложението създавате нов профил.

 

След това от първия таб BASIC се правят следните настройки:

1. Спирате LZO компресията (поради някаква причина не се разбира с Mikrotik, вероятно е настойка).

2. Type – избирате User/PW Certificates От съответните бутончета Select избирате сертификатите и ключовете които качихте преди малко.

3. Пишете името и паролата които са въведени в профила на mikrotik

 

 

Втори таб ServerList – въвеждате адреса на mikrotik -а, и избирате TCP протокол (освен ако не разрешите и UDP протокол от Firewall -а на mirotic).

 

 

Трети таб – IP and DNS – това вече е според предпочитанията, може да се остави както си е.

 

 

Четвърти таб Routing – ако искате целия трафик на телефона да минава през mikrotik, отбелязвате съответните настройки.

 

 

Пети таб – Autentication/Encription. Важно! Махате отметката

Certificate Hostname Check

 

 

Шести таб – Advanced. Важно!

 

 

Най-долу щраквате върху Custom Options

 

 

В прозорчето пишете:

tls-cipher DEFAULT

 

И понеже това е щастливият ви ден, би трябвало всичко да сработи.

Успех! 


<< Подробно ръководство за ipfw nat | Как работи DNS, част 3 - инсталация на DNS cache сървър. >>

Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора, както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Линукс за българи ЕООД 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 0 wallclock secs ( 0.18 usr + 0.02 sys = 0.20 CPU)