این اسکریپت یک نصبکننده و پنل تنظیمات برای OpenVPN است که امکان نصب، پیکربندی و مدیریت آسان سرور OpenVPN را فراهم میکند. این اسکریپت میتواند از یک بستهٔ محلی تولید شده توسط اسکریپت openvpn_v2.7.1_builder.sh یا آخرین نسخهٔ منتشر شده در GitHub استفاده کند. همچنین یک پنل مدیریت تعاملی برای تنظیمات OpenVPN فراهم شده است.
- ✅ نصب خودکار و کامل OpenVPN با احراز هویت RADIUS
- ✅ انتخاب منبع نصب (بستهٔ محلی یا دانلود آخرین نسخه از GitHub)
- ✅ تولید و مدیریت کلیدها و گواهیهای PKI با Easy‑RSA
- ✅ سازگاری با IBSng و دیگر سرورهای RADIUS برای مدیریت کاربران و حسابها
- ✅ پنل تنظیمات تعاملی برای تغییر پورت، پروتکل (UDP/TCP)، سرور RADIUS و DNS
- ✅ پشتیبانی از چندین سرور DNS (سیستم، گوگل، کلودفلر، OpenDNS)
- ✅ پیکربندی خودکار فایروال و مسیریابی
- ✅ امکان حذف کامل سرویس از طریق پنل
- ✅ قابلیت ساخت پکیج نصبی مستقل از سورس با اسکریپت
openvpn_v2.7.1_builder.sh
- سیستمعامل Ubuntu 22 یا CentOS 7/8 (متناظر)
- دسترسی root
- حداقل 1GB RAM
- سرور RADIUS فعال و در دسترس
برای نصب سریع با یک دستور:
curl -sSL https://raw.githubusercontent.com/ArashAfkandeh/OpenVPN-Installer/main/install_openvpn.sh | sudo bash -sاین اسکریپت میتواند پارامترهای زیر را به صورت خطی دریافت کند تا در حالت غیرتعاملی اجرا شود:
curl -sSL https://raw.githubusercontent.com/ArashAfkandeh/OpenVPN-Installer/main/install_openvpn.sh | sudo bash -s -- [PUBLIC_IP] [PROTOCOL] [PORT] [RADIUS_IP] [RADIUS_SECRET] [DNS_CHOICE] [CLIENT_NAME]مثال:
curl -sSL https://raw.githubusercontent.com/ArashAfkandeh/OpenVPN-Installer/main/install_openvpn.sh | sudo bash -s -- '203.0.113.10' '1' '1194' '192.168.1.100' 'mysecret' '2' 'client1'توضیح پارامترها:
PUBLIC_IP: آدرس IP عمومی یا دامنه سرور (در صورت خالی بودن، اسکریپت سعی میکند آن را تشخیص دهد)PROTOCOL: انتخاب پروتکل 1 برای UDP (پیشفرض) یا 2 برای TCPPORT: شماره پورت OpenVPN (پیشفرض 1194)RADIUS_IP: آدرس IP سرور RADIUSRADIUS_SECRET: کلید مشترک RADIUSDNS_CHOICE: انتخاب سرور DNS- 1: System default
- 2: Google
- 3: Cloudflare
- 4: OpenDNS
CLIENT_NAME: نام فایل پیکربندی کلاینت (مثلاً client)
بعد از نصب، با اجرای دستور زیر میتوانید به پنل مدیریتی دسترسی پیدا کنید:
ov-pدر پنل میتوانید کارهای زیر را انجام دهید:
- 🔄 تغییر پورت سرویس
- ♻️ تغییر پروتکل UDP/TCP
- 🔑 تغییر IP سرور RADIUS
- 🔒 تغییر کلید مشترک RADIUS
- 📡 تغییر سرورهای DNS
⚠️ مشاهده لاگ زنده OpenVPN- 🔁 راهاندازی مجدد سرویس
- 🆕 آپدیت پنل مدیریت از گیتهاب
- ❌ حذف کامل OpenVPN
🎥 نمای پنل مدیریت:
برای ساخت پکیج نصب OpenVPN از سورس میتوانید از اسکریپت زیر استفاده کنید:
- نام اسکریپت:
openvpn_v2.7.1_builder.sh - هدف: کامپایل آخرین نسخهٔ پایدار OpenVPN و بستهبندی تمامی فایلهای باینری، کتابخانهها و یونیتهای systemd در یک آرشیو قابل استخراج.
- کاربرد: این پکیج را میتوان به سرورهای دیگر (با معماری سازگار) منتقل کرد و
openvpnرا به سرعت نصب نمود. - نحوه استفاده: اسکریپت را با دسترسی
rootیا از طریقsudoاجرا کنید.
کامپایل سریع با یک دستور:
curl -sSL https://raw.githubusercontent.com/ArashAfkandeh/OpenVPN-Installer/main/openvpn_v2.7.1_builder.sh | sudo bash -sحالا یک پکیج با نام openvpn-2.7.1-local.tar.gz در مسیر /root سرور شما ایجاد میشود.
سپس با اجرای دستور نصب، اسکریپت به طور خودکار پکیج محلی شما را شناسایی میکند:
curl -sSL https://raw.githubusercontent.com/ArashAfkandeh/OpenVPN-Installer/main/install_openvpn.sh | sudo bash -sدر فرآیند نصب گزینهٔ «استفاده از بستهٔ محلی» را انتخاب کنید.
در شروع نصب، اسکریپت بررسی میکند آیا بستهٔ فشردهٔ محلی (openvpn-2.7.1-local.tar.gz) در مسیر /root موجود است یا خیر. اگر این فایل یافت شود، به شما گزینه داده میشود که از آن استفاده کنید یا آخرین نسخه را از GitHub دانلود نمایید. در صورت عدم وجود فایل محلی، آخرین نسخهٔ موجود در مخزن مشخصشده به صورت خودکار دانلود و نصب میشود.
س: چرا از RADIUS استفاده شده است؟
ج: RADIUS امکان مدیریت متمرکز کاربران و احراز هویت قوی را فراهم میکند و به راحتی با سیستمهایی مانند IBSng ادغام میشود.
س: آیا میتوانم از بستهٔ محلی استفاده کنم؟
ج: بله، اگر پیش از نصب فایل openvpn-*.tar.gz را با اسکریپت سازنده ایجاد کردهاید و در مسیر /root قرار دادهاید، اسکریپت آن را تشخیص میدهد و میتوانید از آن استفاده کنید.
س: آیا سرویس SSL نیاز است؟
ج: OpenVPN از گواهیهای خود امضا یا صادر شده توسط CA داخلی (Easy‑RSA) استفاده میکند؛ بنابراین نیاز به Let’s Encrypt ندارد. با این حال میتوانید گواهیها را با PKI خارجی جایگزین کنید.
س: چگونه میتوانم پکیج ایجاد شده را حذف کنم؟
ج: در پنل مدیریتی گزینهای برای حذف کامل OpenVPN وجود دارد. همچنین میتوانید اسکریپت را با پارامتر uninstall اجرا کنید: sudo bash install_openvpn.sh uninstall.
