- چه چیزهایی در این راهنمای فنی پوشش داده میشود؟
- پیشنیازها و انتخاب لوکیشن
- نصب ocserv و بستههای مورد نیاز
- دریافت گواهی Let’s Encrypt (روشها)
- پیکربندی ocserv — نمونه ocserv.conf
- تنظیمات فایروال و NAT (IP forwarding)
- احراز هویت و مدیریت کاربران
- امنیت، hardening و بهینهسازی
- تست و اتصال کلاینتها
- اتومیشن تمدید گواهی و نگهداری
- نکات عملی و موارد تخصصی برای کاربردها
- Çözüm
چه چیزهایی در این راهنمای فنی پوشش داده میشود؟
در این راهنمای فنی گامبهگام نحوهٔ راهاندازی سرویس OpenConnect (ocserv) Açık Ubuntu 22.04 همراه با دریافت و مدیریت گواهیهای Hadi Şifreleyelim، پیکربندی امن، تنظیمات فایروال و NAT، احراز هویت کاربران، و نکات مربوط به اتصال کلاینتها و اتوماسیون تمدید گواهی پوشش داده شده است.
برای محیطهای حساس مانند ترید، گیمینگ یا دسترسی سازمانی، انتخاب لوکیشن مناسب و استفاده از سرورهای دارای حفاظت ضد DDoS بسیار مهم است. شرکت ما بیش از 85+ لوکیشن جهانی، سرورهای ضد DDoS و شبکه BGP را ارائه میدهد.
پیشنیازها و انتخاب لوکیشن
قبل از شروع مطمئن شوید که:
- Bir sunucu Ubuntu 22.04 با دسترسی root یا sudo در اختیار دارید.
- یک دامنه (مثلاً vpn.example.com) به IP سرور اشاره میکند.
- پورتهای 80 Ve 443 روی فایروال برای دریافت گواهی Let’s Encrypt باز هستند.
چرا لوکیشن مهم است؟
- برای تریدرها و گیمرها، انتخاب لوکیشن با پینگ پایین (مثلاً London، Frankfurt یا Tokyo) اولویت دارد.
- سازمانها ممکن است به چند لوکیشن با BGP و CDN نیاز داشته باشند تا پایداری افزایش یابد.
- برای حفاظت و پایداری، سرورهای دارای محافظت ضد DDoS توصیه میشوند.
نصب ocserv و بستههای مورد نیاز
ابتدا سیستم را بهروز کنید و بستههای پایه را نصب کنید:
sudo apt update && sudo apt upgrade -y
sudo apt install ocserv certbot libnss3-tools -yبستههای پیشنهادی برای محیط عملیاتی:
- ufw یا nftables برای مدیریت فایروال
- fail2ban برای محافظت در برابر حملات brute‑force
- openssl یا gnutls‑bin در صورت نیاز به تست TLS
دریافت گواهی Let’s Encrypt (روشها)
دو روش معمول برای دریافت گواهی:
روش A — با استفاده از nginx (در صورت وجود وبسرور)
اگر nginx دارید، میتوانید virtual host را فعال کرده و از certbot با پلاگین nginx استفاده کنید:
sudo apt install nginx
sudo certbot --nginx -d vpn.example.comسپس در فایل پیکربندی ocserv مسیر گواهی را بهصورت زیر تعیین کنید:
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pemروش B — standalone (اگر nginx ندارید)
چون ocserv بهطور پیشفرض به پورت 443 گوش میدهد، قبل از اجرای certbot standalone باید ocserv را موقتاً متوقف کنید یا از DNS challenge استفاده کنید:
sudo systemctl stop ocserv
sudo certbot certonly --standalone -d vpn.example.com
sudo systemctl start ocserv
پیکربندی ocserv — نمونه ocserv.conf
فایل اصلی پیکربندی: /etc/ocserv/ocserv.conf. نمونه بخشهای کلیدی:
# ports
tcp-port = 443
udp-port = 443
# certificates
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem
# network
default-domain = vpn.example.com
dns = 1.1.1.1
dns = 1.0.0.1
route = 0.0.0.0/0
no-route = 192.168.0.0/16
# limits
max-clients = 250
max-same-clients = 2
# security and performance
keepalive = 60
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
compression = false
tls-priorities = "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
allow-roaming = trueÖnemli notlar: route = 0.0.0.0/0 برای Full Tunnel است. برای Split‑Tunnel فقط شبکههای مورد نیاز را اضافه کنید. بهدلایل امنیتی compression = false Tavsiye edilen.
تنظیمات فایروال و NAT (IP forwarding)
فعالسازی IP forwarding:
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.confنمونه قواعد iptables برای NAT (فرض interface خروجی eth0 و شبکه داخلی 10.10.10.0/24):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPTبرای حفظ قواعد پس از راهاندازی مجدد از iptables-persistent یا ذخیره config در nftables استفاده کنید.
نمونه دستورات UFW:
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw allow 80/tcp
sudo ufw enable
احراز هویت و مدیریت کاربران
روش ساده مبتنی بر فایل passwd محلی:
sudo ocpasswd -c /etc/ocserv/ocpasswd aliceمیتوانید از PAM برای یکپارچهسازی با LDAP/AD استفاده کنید (تنظیم auth = "pam" در ocserv.conf).
برای احراز هویت مبتنی بر گواهی (x.509) تولید کلید/گواهی کلاینت:
sudo certtool --generate-privkey --outfile client-key.pem
sudo certtool --generate-certificate --load-privkey client-key.pem --outfile client-cert.pem --template client.tmplبرای افزودن 2FA میتوانید از libpam-google-authenticator و تنظیم PAM در /etc/pam.d/ocserv Kullanmak.
امنیت، hardening و بهینهسازی
- محدود کردن نسخههای TLS Kullanarak
tls-priorities. - غیرفعالسازی compression به دلایل امنیتی (مانند CRIME).
- محدود کردن تعداد اتصالات همزمان (
max-same-clients). - فعال کردن logging و مانیتور منابع.
- نصب و پیکربندی fail2ban برای جلوگیری از تلاشهای مکرر ورود.
نمونه تنظیم ساده fail2ban:
[ocserv]
enabled = true
port = 443
filter = ocserv
logpath = /var/log/syslog
maxretry = 5لازم است فیلتر مناسب (regex) مطابق لاگهای ocserv ساخته شود.
تست و اتصال کلاینتها
کلاینت خط فرمان لینوکس با openconnect:
sudo apt install openconnect
sudo openconnect vpn.example.comدر دسکتاپ لینوکس از network-manager-openconnect و در Windows/macOS از OpenConnect GUI یا Cisco AnyConnect-compatible clients استفاده کنید.
برای بررسی وضعیت سرویس:
sudo systemctl status ocserv
sudo journalctl -u ocserv -f
اتومیشن تمدید گواهی و نگهداری
اگر از nginx یا apache بهعنوان reverse proxy استفاده میکنید، certbot معمولاً میتواند گواهی را بدون توقف سرویس تجدید کند و پس از تجدید ocserv را ریلود کنید:
sudo certbot renew --deploy-hook "systemctl reload ocserv"اگر از standalone استفاده میکنید و ocserv روی 443 فعال است، گزینهها عبارتاند از DNS challenge یا استفاده از pre/post hooks:
sudo certbot renew --pre-hook "systemctl stop ocserv" --post-hook "systemctl start ocserv"
نکات عملی و موارد تخصصی برای کاربردها
- ترید: سروری در نزدیکترین لوکیشن برای کمترین latency انتخاب کنید؛ VPSهای مخصوص ترید با پورت 443 و UDP/DTLS میتوانند مفید باشند.
- گیمینگ: از split‑tunneling استفاده کنید تا فقط ترافیک لازم از VPN عبور کند و پینگ بازی کاهش یابد.
- Yapay Zeka ve Görselleştirme: استفاده از سرورهای GPU در همان منطقه میتواند بار شبکه و تاخیر را کاهش دهد.
- امنیت سازمانی: ترکیب LDAP/AD، 2FA، مانیتورینگ و سرورهای ضد DDoS توصیه میشود.
شرکت ما سرویسهای ابری با عملکرد بالا، سرور گرافیکی (GPU)، VPS ترید/گیم، ثبت دامنه، CDN و شبکه BGP در 85'ten fazla küresel lokasyon ارائه میدهد تا بتوانید VPN را نزدیک به کاربران خود قرار دهید و از حفاظت DDoS بهرهمند شوید.
Çözüm
این راهنما بهطور عملی مراحل راهاندازی OpenConnect (ocserv) روی Ubuntu 22.04 را از نصب تا دریافت گواهی Let’s Encrypt، پیکربندی امن، فایروال و NAT، احراز هویت، بهینهسازی و اتوماسیون تمدید پوشش داد.
با رعایت نکات امنیتی مانند TLS مدرن, غیرفعالسازی compression، محدودیت اتصالات، فعالسازی 2FA و fail2ban میتوان یک سرویس VPN امن و قابلاعتماد برای تیمها، گیمرها و تریدرها فراهم کرد.








