Schritt-für-Schritt-Anleitung zum Einrichten und Konfigurieren von OpenVPN unter Ubuntu 22.04
یک راهنمای کامل برای تنظیم و پیکربندی OpenVPN سرور در اوبونتو 22.04 با روش‌های امنیتی و بهینه‌سازی مناسب.

Schritt-für-Schritt-Anleitung zum Einrichten und Konfigurieren von OpenVPN unter Ubuntu 22.04

Dieser Artikel erklärt Ihnen, wie Sie einen OpenVPN-Server unter Ubuntu 22.04 installieren und konfigurieren. Die Anleitung umfasst verschiedene Schritte, darunter die Installation von Paketen, die Konfiguration einer Firewall und Sicherheitstipps.
0 Aktien
0
0
0
0

چرا باید OpenVPN روی Ubuntu 22.04 راه‌اندازی کنیم؟

در این راهنما یک آموزش عملی و جامع برای راه‌اندازی و کانفیگ OpenVPN An Ubuntu 22.04 ارائه شده است که مناسب مدیران سیستم، DevOps، تریدرها و گیمرهاست. مراحل شامل نصب بسته‌ها، ایجاد PKI با EasyRSA، پیکربندی سرور و کلاینت، تنظیم فایروال (ufw/iptables)، فعال‌سازی مسیریابی و راهکارهای امنیتی مانند tls-crypt، مدیریت لغو گواهی (CRL) و استفاده از fail2ban Es wird sein.

Voraussetzungen

برای دنبال کردن این راهنما به موارد زیر نیاز دارید:

  • Ein Server 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

Tipps:

  • Verwendung von AES-256-GCM Und auth SHA256 Empfohlen.
  • برای کمترین تاخیر در شبکه‌های حساس مثل ترید یا گیم، UDP مناسب‌تر است؛ در شبکه‌های محدود ممکن است TCP لازم باشد.
  • می‌توانید tls-version-min 1.2 Oder 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 save

Wenn von nftables استفاده می‌کنید معادل NAT را در nft تعریف کنید.

پیکربندی UFW (اگر فعال است)

Wenn von 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 را به “Ja” تغییر دهید یا از 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 Verwenden.

بخش هفتم — مدیریت کاربران، لغو گواهی و امنیت

مدیریت کاربران و امنیت شامل موارد زیر است:

  • افزودن کاربر جدید: تولید کلید و 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 برای سناریوهای تخصصی پیشنهاد می‌شود.

Häufig gestellte Fragen

Das könnte Ihnen auch gefallen