Вступ
Вже був розповідав як налаштувати OpenVPN-сервер на Mikrotik (назвемо його - метод 1). В тому методі ми налаштували сервер де організували з кожним клієнтом point-to-point канал і маршрутизували трафік. Але подекуди нам зустрічаються локальні мережі в яких працює специфічний софт, який "не любить" маршрутизацію і чи зовсім не працює з нею, чи працює лише після танців з бубном. В таких випадках нам зможе допомогти другий метод налаштування OpenVPN-сервера, коли клієнт входить безпосередньо в бродкаст домен (bridge-інтерфейс) локальної мережі.
Сертифікати
В цьому другому методі нам теж треба згенерувати сертифікати, але з іншими правами. Якщо генерувати сертифікати в тими правами, що були у попередньому методі, нічого не буде працювати. Це важливо.
Генеруємо корневий сертифікат нашого "сертифікаційного центру":
/certificate add name=ca-v2 country="UA" state="KY" locality="Locality" organization="Organization" unit="Unit" common-name="ca-v2" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign /certificate sign ca-v2
Створюємо сертифікат та закритий ключ для OpenVPN-сервера:
/certificate add name=ovpn-server-v2 country="UA" state="KY" locality="Locality" organization="Organization" unit="OpenVPN-server-v2" common-name="ovpn-server-v2" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,tls-server /certificate sign ovpn-server-v2 ca=ca-v2
Генеруємо клієнтський сертифікат:
/certificate add name=ovpn-client-v2 country="UA" state="KY" locality="Locality" organization="Organization" unit="OpenVPN-client-v2" common-name="ovpn-client-v2" key-size=2048 days-valid=3650 key-usage=tls-client /certificate sign ovpn-client-v2 ca=ca-v2
Сервер
З сертифікатами поки закінчили, тепер налаштуємо сам OpenVPN-сервер.
/ppp profile add bridge=bridge bridge-learning=yes local-address=192.168.0.1 name=profile-ovpn remote-address=default-dhcp use-ipv6=no /interface ovpn-server server set auth=sha1 certificate=OVPN-server cipher=aes256 default-profile=profile-ovpn enabled=yes mode=ethernet require-client-certificate=yesТут важливо розуміти що на відміну від метода 1 тут ми вводимо клієнтів безпосередньо в бродкаст домен (bridge-інтерфейс) локальної мережі, відповідно для сервера вказуємо mode=ethernet, а в профілі використовуємо наявний для локальної мережі dhcp-діапазон адрес і локальним адресом вказуємо адресу на bridge-інтерфейсі.
/ppp secret add name=USERNAME password=PASSWORD profile=ovpn service=ovpn
/ip firewall filter add action=accept chain=input dst-port=1194 protocol=tcp
Клієнт
/certificate export-certificate ca-v2 file-name=ca-v2 type=pem /certificate export-certificate ovpn-client-v2 file-name=ovpn-client-v2 type=pem export-passphrase="passphrase"Важливо! Для клієнтського сертифіката необхіжно вказати бодай якусь passphrase, інакше не буде експортовано закритий ключ, а він нам необхідний.
Сам вміст ovpn-файла може бути приблизно таким.
client.ovpn:
client dev tap proto tcp remote <ip address or dns name of the ovpn server> 1194 nobind persist-key persist-tun remote-cert-tls server data-ciphers AES-256-CBC cipher AES-256-CBC auth-user-pass keepalive 10 120 verb 1 auth SHA1 <ca> -----BEGIN CERTIFICATE----- вставляємо вміст з експортованого файла ca-v2.crt -----END CERTIFICATE----- </ca>-----BEGIN CERTIFICATE----- вставляємо вміст з експортованого файла ovpn-client-v2.crt -----END CERTIFICATE----- </cert> <key> -----BEGIN ENCRYPTED PRIVATE KEY----- вставляємо вміст з експортованого файла ovpn-client-v2.key -----END ENCRYPTED PRIVATE KEY----- </key>
auth-user-pass auth.cfg askpass store.passа в самих файлах розмістити, відповідно, ім'я користувача з паролем та passphrase.
auth.cfg:
USERNAME PASSWORD
store.pass:
passphrase
Немає коментарів:
Дописати коментар