تثبيت وتكوين خادم وكيل Shadowsocks-libev على نظام Ubuntu 24.04
ستعلمك هذه المقالة كيفية تثبيت وتكوين Shadowsocks-libev على Ubuntu 24.04 ومراجعة نصائح الأمان والتحسين المطلوبة.

تثبيت وتكوين خادم وكيل Shadowsocks-libev على نظام Ubuntu 24.04

ستتعلم في هذه المقالة كيفية تثبيت وتكوين Shadowsocks-libev على نظام Ubuntu 24.04. يتضمن هذا الدليل نصائح أمنية وتحسينية لتتمكن من إعداد خادم وكيل آمن وفعال.
0 الأسهم
0
0
0
0

كيفية إعداد خادم وكيل منخفض زمن الاستجابة وآمن وخفيف الوزن على نظام التشغيل أوبونتو 24.04؟

تمت كتابة هذا الدليل المفصل خطوة بخطوة لمسؤولي الخوادم والمطورين ومسؤولي الشبكات والمستخدمين الذين يحتاجون إلى وكيل خفيف الوزن ومنخفض زمن الاستجابة وآمن. Shadowsocks-libev إنه تطبيق خفيف الوزن وسريع لبروتوكول Shadowsocks، مصمم لتجاوز التصفية وإنشاء نفق وكيل آمن.

يشرح ما يلي كيفية تثبيت البرنامج على نظام أوبونتو 24.04، والتكوين الصحيح (بما في ذلك AEAD)، وإعداد جدار الحماية، وتحسين الشبكة (BBR، وTCP Fast Open)، ونصائح أمنية وعملية للاستخدام في التداول والألعاب وخدمات الويب. كما يتناول خدمات تشمل أكثر من 85 موقعًا عالميًا، وخوادم افتراضية خاصة بالتداول، وخوادم مضادة لهجمات DDoS لتسهيل اختيار الموقع والخطة المناسبة.

المتطلبات الأساسية واختيار الموقع

المتطلبات الأساسية:

  • خادم أوبونتو 24.04 مزود بإمكانية الوصول جذر أو مستخدم لديه سودو.
  • فتح المنفذ (على سبيل المثال 8388) والوصول إلى جدار الحماية.
  • اختر الموقع المناسب: للحصول على أقل زمن استجابة في اللعبة أو التجارة، اختر موقعًا قريبًا من خادم الوجهة (على سبيل المثال فرانكفورت، لندن، سنغافورة، طوكيو، نيويورك).
  • إذا كنت قلقًا بشأن هجمات DDoS، فاستخدم خوادم مضادة لهجمات DDoS أو خدمات CDN/BGP.

تثبيت Shadowsocks-libev على نظام Ubuntu 24.04

تُعدّ الطريقة السريعة والمستقرة باستخدام حزمة apt الرسمية مناسبة لمعظم المستخدمين. إذا كنت بحاجة إلى أحدث الميزات أو الإضافات الجديدة، يمكنك استخدام حزم GitHub أو مستودعات البرامج الشخصية (PPAs)، ولكن في معظم الحالات، ستكون apt كافية.

طريقة سريعة (من حزمة apt الرسمية)

sudo apt update && sudo apt install -y shadowsocks-libev

للتأكد من التثبيت:

ss-server --version

أنشئ ملف تكوين أساسي

ملف الإعدادات الافتراضي: /etc/shadowsocks-libev/config.json

{
  "server":"0.0.0.0",
  "server_port":8388,
  "password":"VeryStrongPasswordHere!",
  "method":"chacha20-ietf-poly1305",
  "mode":"tcp_and_udp",
  "timeout":300,
  "fast_open":true
}

النقاط الرئيسية:

  • طريقة: من طرق AEAD مثل chacha20-ietf-poly1305 أو aes-256-gcm استخدم هذه الطرق؛ فهي أكثر أمانًا وفعالية.
  • وضع: كمية “"tcp_and_udp"” قم بتمكين هذا الخيار إذا كنت بحاجة إلى إعادة توجيه UDP (للألعاب أو VoIP).
  • fast_open: قم بتمكين sysctl فقط إذا كانت النواة تدعمه وتم تكوينها بشكل مناسب.
sudo chown root:root /etc/shadowsocks-libev/config.json
sudo chmod 600 /etc/shadowsocks-libev/config.json

بدء وإدارة خدمات systemd

يمكنك تشغيل الخدمة بشكل افتراضي أو باستخدام اسم مثيل للحصول على تكوينات/منافذ متعددة.

أ) استخدام الملف الافتراضي

sudo systemctl enable --now shadowsocks-libev
sudo systemctl status shadowsocks-libev

ب) استخدام نسخة واحدة (لتكوينات/منافذ متعددة)

إذا قمت بحفظ الملف باسم /etc/shadowsocks-libev/config-server1.json يحفظ:

sudo systemctl enable --now shadowsocks-libev@config-server1
sudo systemctl status shadowsocks-libev@config-server1

عرض السجل:

sudo journalctl -u shadowsocks-libev -f
sudo journalctl -u shadowsocks-libev@config-server1 -f

تكوين قواعد جدار الحماية والشبكة

UFW (بسيط)

sudo ufw allow 22/tcp                # SSH
sudo ufw allow 8388/tcp
sudo ufw allow 8388/udp
sudo ufw enable
sudo ufw status

iptables (مثال على تقييد الاتصالات لأغراض أمنية)

sudo iptables -I INPUT -p tcp --dport 8388 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -I INPUT -p udp --dport 8388 -j ACCEPT

# rate limiting to mitigate brute-force
sudo iptables -A INPUT -p tcp --dport 8388 -m recent --name ss --set
sudo iptables -A INPUT -p tcp --dport 8388 -m recent --name ss --update --seconds 10 --hitcount 20 -j DROP

لحفظ القواعد:

sudo apt install -y iptables-persistent
sudo netfilter-persistent save

تحسين الشبكة والأداء (BBR، TCP Fast Open، sysctl)

لتقليل زمن الاستجابة وزيادة الإنتاجية، يوصى بتمكين BBR وبعض إعدادات sysctl.

تفعيل BBR والإعدادات الموصى بها

sudo tee /etc/sysctl.d/99-sysctl.conf <<EOF
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 5000
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

للتأكيد:

sysctl net.ipv4.tcp_congestion_control
ss -tuna | grep bbr

العملاء واختبار الاتصال

اختبار بسيط باستخدام curl (بعد تشغيل ss-local على المنفذ 1080)

من جانب العميل:

ss-local -s SERVER_IP -p 8388 -l 1080 -k "VeryStrongPasswordHere!" -m chacha20-ietf-poly1305 &
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org

إذا كان عنوان IP المُعاد هو عنوان IP الخاص بالخادم، فإن الاتصال ناجح.

العملاء المشتركون

  • ويندوز: Shadowsocks-Windows أو V2RayN
  • نظام التشغيل macOS: ShadowsocksX-NG
  • أندرويد: شادو سوكس (F-Droid أو متجر Play)
  • لينكس: ss-local/s-redir من العبوة shadowsocks-libev أو واجهات المستخدم الرسومية مثل Outline

إعادة توجيه UDP (للألعاب أو بروتوكول نقل الصوت عبر الإنترنت) يتطلب دعم بروتوكول UDP من كلا الطرفين وإعداده “"mode":"tcp_and_udp"” إنها.

الأمن العملي وإدارة المستخدمين

  • كلمة مرور قوية: استخدم كلمات مرور فريدة وقوية، واختر أساليب AEAD.
  • مراقبة السجلات: من Journalctl أو استخدم أدوات المراقبة.
  • تقييد الوصول عبر بروتوكول الإنترنت: السماح فقط بعناوين IP محددة في جدار الحماية (على سبيل المثال، عنوان IP الخاص بالوسيط لتداول VPS).

استخدام fail2ban

cat > /etc/fail2ban/jail.d/shadowsocks.conf <<EOF
[shadowsocks]
enabled = true
filter = shadowsocks
port = 8388
logpath = /var/log/syslog
maxretry = 5
bantime = 3600
EOF

سيناريوهات متقدمة: منافذ متعددة، وكيل شفاف، ومكونات إضافية

خدمات وموانئ متعددة

استخدم ملفات تكوين متعددة ونسخًا متعددة من systemd لتوفير حسابات/منافذ متعددة:

/etc/shadowsocks-libev/config-user1.json
/etc/shadowsocks-libev/config-user2.json

sudo systemctl enable --now shadowsocks-libev@config-user1
sudo systemctl enable --now shadowsocks-libev@config-user2

وكيل شفاف مع إعادة توجيه ss

مثال لإعادة توجيه حركة المرور إلى الخوادم الداخلية:

ss-redir -c /etc/shadowsocks-libev/redir-config.json &

sudo iptables -t nat -N SHADOWSOCKS
sudo iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS
sudo iptables -t nat -A SHADOWSOCKS -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 12345

(المنفذ 12345 هو منفذ إعادة التوجيه ss-redir)

استخدام الإضافات (v2ray-plugin أو obfs)

لتجاوز فحص الحزم العميق (DPI) واكتشاف الحزم من المكونات الإضافية مثل إضافة v2ray استخدم. أمثلة على الخيارات في ملف الإعدادات:

{
  "plugin":"v2ray-plugin",
  "plugin_opts":"server;tls;host=example.com;path=/ws"
}

الصيانة والمراقبة وقابلية التوسع

باستخدام أدوات المراقبة مثل بروميثيوس + جرافانا أو أبسط من ذلك بيانات الشبكة يُستخدم للمراقبة.

للتحقق من الاستهلاك: قمة, أعلى, iftop, تحميل.

إذا زاد الحمل، فاستخدم خادمًا سحابيًا مزودًا بخاصية التوسع التلقائي أو موازن الأحمال، أو اختر خوادم ذات توجيه حزم قوي وخطط شبكة BGP.

نصائح أخيرة تتعلق بالخدمات واختيار الموقع

إن وجود أكثر من 85 موقعًا عالميًا يسمح بوضع الخوادم بالقرب من وجهة التداول أو خادم اللعبة أو المستخدمين النهائيين لتحقيق أقل زمن استجابة (ping) وأقل قدر من عدم الاستقرار.

للتداول الذي يتطلب زمن استجابة منخفض، تُعدّ مواقع مثل فرانكفورت ولندن ونيويورك وسنغافورة مناسبة. كما تتوفر خدمات تشمل خوادم افتراضية خاصة مخصصة للتداول بزمن استجابة مُحسّن وخوادم مضادة لهجمات DDoS.

بالنسبة لعمليات نقل البيانات الكبيرة (على سبيل المثال في معالجة الذكاء الاصطناعي أو العرض)، ستحتاج إلى نطاق ترددي عالٍ؛ يمكن دمج خدمات وحدة معالجة الرسومات مع حل وكيل، ولكن ضع في اعتبارك النطاق الترددي.

الأسئلة الشائعة

قد يعجبك أيضاً