- چرا باید OpenVPN روی Ubuntu 22.04 راهاندازی کنیم؟
- Ön koşullar
- بخش اول — نصب OpenVPN و EasyRSA
- بخش دوم — ساخت CA، کلیدها و گواهیها
- بخش سوم — پیکربندی سرور OpenVPN
- بخش چهارم — فعالسازی مسیریابی و NAT
- پیکربندی UFW (اگر فعال است)
- بخش پنجم — راهاندازی سرویس OpenVPN
- بخش ششم — ساخت فایل کلاینت (.ovpn) با Certificate Inline
- بخش هفتم — مدیریت کاربران، لغو گواهی و امنیت
- بخش هشتم — نکات فنی و بهینهسازی برای کاربردها
- بخش نهم — مقایسه لوکیشنها و زیرساخت
- بخش دهم — مانیتورینگ و نگهداری
- عیبیابی سریع
- جمعبندی و توصیههای امنیتی
- مزایای زیرساخت و لوکیشنهای ارائهشده
- Sıkça Sorulan Sorular
چرا باید OpenVPN روی Ubuntu 22.04 راهاندازی کنیم؟
در این راهنما یک آموزش عملی و جامع برای راهاندازی و کانفیگ OpenVPN Açık Ubuntu 22.04 ارائه شده است که مناسب مدیران سیستم، DevOps، تریدرها و گیمرهاست. مراحل شامل نصب بستهها، ایجاد PKI با EasyRSA، پیکربندی سرور و کلاینت، تنظیم فایروال (ufw/iptables)، فعالسازی مسیریابی و راهکارهای امنیتی مانند tls-crypt، مدیریت لغو گواهی (CRL) و استفاده از başarısız2ban Olacak.
Ön koşullar
برای دنبال کردن این راهنما به موارد زیر نیاز دارید:
- Bir sunucu Ubuntu 22.04 با کاربر دارای دسترسی sudo
- یک آدرس IP عمومی یا رنج IP اختصاصی (IPv4/IPv6 در صورت نیاز)
- پورت آزاد (پیشنهاد: UDP 1194 یا پورت سفارشی برای کاهش احتمال اسکن)
- حداقل 1GB رم برای بار پایه؛ برای استفاده سازمانی یا صدها اتصال منابع را افزایش دهید
بخش اول — نصب OpenVPN و EasyRSA
ابتدا بستهها را بهروز و سپس OpenVPN و EasyRSA را نصب کنید.
sudo apt update && sudo apt upgrade -y
sudo apt install -y openvpn easy-rsaکپی قالب EasyRSA و آمادهسازی PKI:
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pkiبخش دوم — ساخت CA، کلیدها و گواهیها
مراحل ایجاد CA، کلیدها و گواهیها با EasyRSA:
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
./easyrsa gen-dh
openvpn --genkey --secret /etc/openvpn/ta.key
./easyrsa gen-crl
cp pki/crl.pem /etc/openvpn/crl.pem
chmod 644 /etc/openvpn/crl.pemفایلهای مورد نیاز برای سرور:
- /etc/openvpn/server.crt
- /etc/openvpn/server.key
- /etc/openvpn/ca.crt
- /etc/openvpn/dh.pem
- /etc/openvpn/ta.key
- /etc/openvpn/crl.pem
بخش سوم — پیکربندی سرور OpenVPN
یک فایل کانفیگ نمونه در /etc/openvpn/server/server.conf ایجاد کنید. مثال زیر یک پیکربندی پایه و امن با استفاده از AES-256-GCM و tls-crypt است.
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
tls-crypt /etc/openvpn/ta.key
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-GCM
auth SHA256
ncp-ciphers AES-256-GCM
persist-key
persist-tun
user nobody
group nogroup
status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
verb 3
crl-verify /etc/openvpn/crl.pemİpuçları:
- Kullanımı AES-256-GCM Ve auth SHA256 Tavsiye edilen.
- برای کمترین تاخیر در شبکههای حساس مثل ترید یا گیم، UDP مناسبتر است؛ در شبکههای محدود ممکن است TCP لازم باشد.
- میتوانید tls-version-min 1.2 Veya tls-version-min 1.3 و لیست cipherهای سختگیرانهتر اضافه کنید.
بخش چهارم — فعالسازی مسیریابی و NAT
برای عبور ترافیک کلاینتها به اینترنت باید forwarding فعال و NAT تنظیم شود.
فعالسازی IPv4 forwarding موقتاً:
sudo sysctl -w net.ipv4.ip_forward=1برای دائمی کردن:
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-openvpn.conf
sudo sysctl --systemافزودن قانون NAT با iptables (فرض رابط خروجی eth0):
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEبرای ماندگاری قوانین از iptables-persistent یا netfilter-persistent استفاده کنید:
sudo apt install -y iptables-persistent
sudo netfilter-persistent saveEğer ki nftables استفاده میکنید معادل NAT را در nft تعریف کنید.
پیکربندی UFW (اگر فعال است)
Eğer ki ufw استفاده میکنید قبل از فعالسازی NAT، فایل /etc/ufw/before.rules را ویرایش و بخش NAT را اضافه کنید. مثال کوتاه:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMITسپس در /etc/default/ufw مقدار IPV4_FORWARDING را به “Evet” تغییر دهید یا از sysctl استفاده کنید. سپس پورت OpenVPN را باز کنید و ufw را فعال کنید:
sudo ufw allow 1194/udp
sudo ufw enableبخش پنجم — راهاندازی سرویس OpenVPN
سرویس را اجرا و فعال کنید (نام سرویس ممکن است بسته به توزیع متفاوت باشد):
sudo systemctl start [email protected]
sudo systemctl enable [email protected]برای بررسی وضعیت و لاگ:
sudo systemctl status openvpn-server@server
journalctl -u openvpn-server@server -fبخش ششم — ساخت فایل کلاینت (.ovpn) با Certificate Inline
برای سهولت توزیع، یک فایل .ovpn بسازید که همه cert/key بهصورت inline داخل آن قرار گرفته باشند. نمونه زیر را بر اساس مقادیر تولیدشده جایگزین کنید:
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
-----BEGIN CERTIFICATE-----
(محتوای ca.crt)
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
(محتوای client1.crt)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
(محتوای client1.key)
-----END PRIVATE KEY-----
</key>
<tls-crypt>
-----BEGIN OpenVPN Static key V1-----
(محتوای ta.key)
-----END OpenVPN Static key V1-----
</tls-crypt>این فایل را به کلاینتهای ویندوز، مک یا لینوکس منتقل کنید. در لینوکس میتوانید از NetworkManager یا دستور openvpn --config client.ovpn Kullanmak.
بخش هفتم — مدیریت کاربران، لغو گواهی و امنیت
مدیریت کاربران و امنیت شامل موارد زیر است:
- افزودن کاربر جدید: تولید کلید و sign مانند client1.
- لغو گواهی (revoke): ./easyrsa revoke client1 && ./easyrsa gen-crl سپس کپی crl.pem به /etc/openvpn/crl.pem و reload سرور.
- استفاده ترکیبی از cert-based و auth-user-pass: میتوان از PAM یا RADIUS استفاده کرد و برای امنیت بیشتر OTP/2FA را اضافه نمود.
- Fail2ban: نصب و پیکربندی برای مانیتور لاگها و مسدودسازی تلاشهای مزاحم.
- Log management: کاهش سطح لاگ در تولید و استفاده از logrotate برای نگهداری فایلهای لاگ.
sudo apt install -y fail2ban
# create a custom jail for openvpn as neededبخش هشتم — نکات فنی و بهینهسازی برای کاربردها
چند پیشنهاد عملی برای سناریوهای مختلف:
برای ترید/فارکس و کریپتو
- انتخاب لوکیشن نزدیک به صرافیها یا سرورهای معاملاتی برای کاهش RTT (مثلاً لندن، فرانکفورت، نیویورک، توکیو).
- استفاده از VPS مخصوص ترید با پینگ کم، منابع اختصاصی و سرور ضد-DDoS.
- استفاده از UDP و تنظیم MTU مناسب (مثلاً tun-mtu 1500 یا کمتر) برای جلوگیری از fragmentation.
برای گیمینگ
- انتخاب لوکیشن با کمترین پینگ و استفاده از VPS یا سرورهای پرسرعت با شبکه سریع.
- تست A/B برای بررسی اینکه VPN واقعاً باعث بهبود مسیریابی و کاهش پینگ میشود یا خیر.
برای هوش مصنوعی و رندرینگ
- برای انتقال دادههای بزرگ، استفاده از شبکههای خصوصی ابری (VPC) یا VPN سطح شبکه با BGP بهتر است.
- برای اتصال به سرور GPU از سرورهای با شبکه 10Gbps استفاده کنید.
بخش نهم — مقایسه لوکیشنها و زیرساخت
نمونه مزایا بر اساس منطقه:
- اروپا (فرانکفورت، لندن، آمستردام): مناسب برای تریدرهای اروپا و تأخیر کم به صرافیها.
- آمریکا (NY, NJ, Miami): مناسب برای بازارهای آمریکای شمالی و بارهای حساس به تاخیر.
- آسیا (توکیو، سنگاپور، سئول): مناسب برای بازارهای APAC و سرویسهای بازی و AI در منطقه.
شرکت ما بیش از ۸۵ لوکیشن جهانی، شبکه BGP و CDN ارائه میدهد که میتواند برای کاهش تأخیر، افزایش پایداری و جلوگیری از حملات DDoS موثر باشد.
بخش دهم — مانیتورینگ و نگهداری
نکات نگهداری و مقیاسپذیری:
- مانیتورینگ OpenVPN با Prometheus/Grafana یا Zabbix (استفاده از exporterها یا آنالیز لاگ).
- نگهداری منظم CRL و بررسی لاگهای اتصال.
- برای تعداد زیاد کلاینت از Load Balancer و چند سرور OpenVPN با HA و shared CA استفاده کنید.
عیبیابی سریع
- بررسی لاگ:
sudo journalctl -u openvpn-server@server -e - بررسی تونل:
ip a show tun0 - بررسی پورت:
sudo ss -ulpn | grep 1194 - تست NAT: از یک کلاینت VPN پینگ به 8.8.8.8 و به IP عمومی سرور را تست کنید.
جمعبندی و توصیههای امنیتی
توصیههای کلیدی:
- همیشه از TLS (tls-crypt) و CA قوی استفاده کنید.
- از رمزنگاری قوی (AES-256-GCM) و حداقل TLS 1.2 بهره ببرید.
- روال revoke و CRL را پیاده کنید تا در صورت نشت کلید، دسترسیها حذف شوند.
- از fail2ban و قوانین rate-limit در فایروال استفاده کنید.
- مانیتورینگ و بررسی دورهای لاگها را فراموش نکنید.
مزایای زیرساخت و لوکیشنهای ارائهشده
استفاده از زیرساختهای آماده با لوکیشنهای متعدد مزایایی از جمله کاهش پینگ، افزایش پایداری و محافظت DDoS فراهم میکند. گزینههایی مثل VPS مخصوص ترید، سرور گیم، سرور GPU و سرور ضد-DDoS برای سناریوهای تخصصی پیشنهاد میشود.









