ویژگی های OpenVPN

  • تانلینگ هر نوع Subnetwork ویا اینترفیس مجازی بر روی بستر TCP و UDP
  • سازگاری با NAT
  • رمزنگاری اطلاعات با استفاده از کتابخانه های OpenSSL
راه اندازی
گام اول ساخت Certificate راه اول استفاده از قسمت Certificate در میکروتیک. برای ساخت Certificate ده ساله برای دامین example.com به روش زیر عمل میکنیم.
/certificate
add name=ca-template common-name=example.com days-valid=3650 key-size=4096 key-usage=crl-sign,key-cert-sign
add name=server-template common-name=*.example.com days-valid=3650 key-size=4096 key-usage=digital-signature,key-encipherment,tls-server
add name=client-template common-name=client.example.com days-valid=3650 key-size=4096 key-usage=tls-client

برای OpenVPN نیازی نیست که از Common-Name خاصی استفاده شود و میتوان هرچیزی از جمله آیپی سرور استفاده کرد. سپس باید Certificate های ساخته شده را Sign کرد. بسته به قدرت CPU روترتان اینکار ممکن است زمان بر باشد ویا حتی درهنگام کار Timeout شود.در صورتی که با ارور Operation Timeout مواجه شدید جای نگرانی نیست فقط صبر کنید تا مصرف CPU کم شود.
/certificate
sign ca-template name=ca-certificate
sign server-template name=server-certificate ca=ca-certificate
sign client-template name=client-certificate ca=ca-certificate

سپس باید از CA و Client خروجی بگیریم تا با آن فایل ovpn بسازیم. (در میکروتیک حتما باید passphrase برای خروجی گرفتن استفاده شود تا Key در اختیار ما بگذارد.)
/certificate
export-certificate ca-certificate export-passphrase=""
export-certificate client-certificate export-passphrase=12345678

سپس ۳ فایل ساخته شده با نام های cert_export_ca-certificate.crt , cert_export_client-certificate.crt , cert_export_client-certificate.key را دانلود کرده و به کامپیوتر خود انتقال دهید.
آنهارا به ca.crt و client.crt و client.key تغییر نام دهید

گام دوم
در این مرحله باید OpenVPN Server را در میکروتیک کانفیگ کنیم.
ابتدا باید یک IP Pool بسازم. (توجه کنید درصورتی که از سابنت ۲۴ استفاده میکنید از آیپی ۲۵۴ در انتهای Pool استفاده نکنید)
/ip pool add name="vpn-pool" ranges=192.168.8.2-192.168.8.253

سپس باید یک Profile بسازیم.
/ppp profile add name="vpn-profile" use-encryption=yes local-address=192.168.8.1 dns-server=8.8.8.8 remote-address=vpn-pool

برای ساخت اکانت به قسمت Secrets میرویم – برای اتصال به اکانتینگ کافیست قسمت Radius را فعال کنیم.


و در آخر OpenVPN Server
/interface ovpn-server server
set default-profile=vpn-profile certificate=server-certificate require-client-certificate=yes auth=sha1
cipher=aes128,aes192,aes256 enabled=yes


گام سوم
ساخت فایل Ovpn . ابتدا باید passphrase را از روی فایل client.key حذف کنیم که اینکار با استفاده از OpenSSL انجام میشود در صورتی که در ویندوز هستید باید OpenSSL را نصب کنید .
ویندوز:
> openssl.exe rsa -in client.key -out client.key

لینوکس:
# openssl rsa -in client.key -out client.key

سپس یک فایل با نام client.ovpn ساخت و کد های زیر را درون آن کپی کنید.(مقادیر ۳فایل خروجی گرفته شده باید جایگزین شود)
client
dev tun
proto tcp
remote client.example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-128-CBC
auth SHA1
auth-user-pass
redirect-gateway def1
verb 3
ca
ca.cert
/ca
cert
client.cert
/cert
key
client.key
/key