توضیحات
OpenVPN یکی از متد های تانلینگ با رمزنگاری SSL است.OpenVPN یا همان Open source VPN است که در ۲ پروتکل TCP , UDP قابل استفاده است.
ویژگی های 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
نکته : برای بالاتر بودن کیفیت تانل سعی کنید از مقدار MTU کم کنید
گام سوم
ساخت فایل 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>
بسیار بسیار سپاسگزارم بابت نکته ای که گفتید: برای بالاتر بودن کیفیت تانل سعی کنید از مقدار MTU کم کنید… بسیار راه گشا بود برای مشکلات ارتباطی که باهاش درگیر بودیم
کانفیگ کامل انجام شد و یوزر می تواند وصل شود ولی آیپی یوزر تغییری نمی کند یعنی انگار نه انگار اپن وی پی ان وصل شده است
دوم: با پورت UDP کار نمی کند و فقط با TCP کار می کند
ممنون میشم راهنمایی کنید
سلام خسته نباشید. تمام کارها انجام شد ولی برنامه openvpn باز نمیشه و لطفا در مورد نصب بر روی گوشی هم بگید ممنون
با سلام و احترام
من در همون مرحله ی اول وقتی certificate میسازم بعد از ۲و۳ دقیقه خودش اتوماتیک پاک میشه و یا ۲تا certificate که میسازم دومی جایگزین اولی میشه.
داخل میکروتیک x86 ورژن ۶.۴۳.۲
مشکل از کجا می تونه باشه؟؟
با سپاس