от Hacko(26-03-2016)

рейтинг (26)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

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

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

Както може би сте чували, 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 сървър. >>