خادم SSTP
يتطلب SSTP اسم مضيف عام، TCP 443 أو منفذ TCP آخر متاح، وشهادة TLS، ومصادقة PPP، وتكوين IPv4 على الخادم. تعد عمليات نشر أنماط RouterOS وSoftEther وWindows RRAS مناسبة إذا كانت توفر خدمة SSTP متوافقة.
مثال على نمط RouterOS
/ip pool
add name=your-pool ranges=10.20.30.10-10.20.30.200
/ppp profile
add name=sstp-profile \
local-address=10.20.30.1 \
remote-address=your-pool \
dns-server=1.1.1.1,8.8.8.8 \
use-encryption=yes
/ppp secret
add name=username password="strong-password" service=sstp profile=sstp-profile
/interface sstp-server server
set enabled=yes \
port=443 \
certificate=your-certificate-name \
authentication=mschap2 \
default-profile=sstp-profile
رابط الاتصال
sstp://username:strong-password@yourdomain.com:443?name=Office&cc=DE&label=Work
- استخدم شهادة TLS عامة صالحة كلما أمكن ذلك.
- افتح منفذ SSTP TCP في جدار الحماية.
- قم بإنشاء بيانات اعتماد فريدة لكل مستخدم أو جهاز.
- اسمح لخادم PPP بتوفير معلمات IP وDNS إذا كان نظامك يدعمها.
- استخدم قيود RADIUS أو الخادم الأصلي لانتهاء الصلاحية، والمحاسبة، وحدود الجلسة المتزامنة.
قائمة فحص تشخيص SSTP
| الأعراض | ما يجب التحقق منه |
|---|---|
| يتم إغلاق TLS على الفور | سلسلة الشهادات، SNI/اسم المضيف، جدار الحماية، سياسة TLS غير المدعومة أو الوكيل قبل SSTP. |
| خطأ في المصادقة | تسجيل الدخول وكلمة المرور وطريقة مصادقة PPP وحالة الحساب وتاريخ انتهاء الصلاحية السري واستجابة RADIUS. |
| متصل، ولكن لا توجد حركة مرور | المسارات، NAT/masquerade، DNS، قواعد إعادة التوجيه في جدار الحماية وتجمع IP للخادم. |
| ينقطع عند تغيير الشبكة | سياسة مهلة الخادم وسلوك إعادة اتصال العميل: عند نقل شبكة Wi-Fi/شبكة الهاتف المحمول إلى iOS، قد تتم إعادة إنشاء المسار. |
NaiveProxy مع العلبة
يستخدم نظام NaiveProxy الشائع العلبة مع مجموعة تضيف وكيلًا للأمام. الجزء المهم هو مصادقة HTTP CONNECT عبر TLS. قد يختلف البناء الدقيق لصيغة Caddy والمكونات الإضافية، لذا فإن نمط النشر الموضح أدناه ليس مضمونًا للنسخ واللصق.
yourdomain.com {
tls admin@yourdomain.com
route {
forward_proxy {
basic_auth username strong-password
hide_ip
hide_via
probe_resistance
}
respond 204
}
}
naive+https://username:strong-password@yourdomain.com:443?sni=yourdomain.com&name=Office&cc=DE&label=Work
غالبًا ما يتم اختيار هذا الخيار لإكمال TLS المعتاد في الوكيل والشهادات التلقائية والمصادقة الأساسية البسيطة.
NaiveProxy مع صندوق الغناء
هناك خيار آخر وهو تشغيل صندوق الغناء مباشرة من Naive inbound. يعد هذا مناسبًا عندما يجب أن يمتلك ثنائي واحد كلاً من مستمع الوكيل ومنطق التوجيه.
{
"log": { "level": "warn" },
"inbounds": [
{
"type": "naive",
"tag": "naive-in",
"listen": "0.0.0.0",
"listen_port": 443,
"users": [
{ "username": "username", "password": "strong-password" }
],
"tls": {
"enabled": true,
"server_name": "yourdomain.com",
"certificate_path": "/etc/letsencrypt/live/yourdomain.com/fullchain.pem",
"key_path": "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
}
}
],
"outbounds": [
{ "type": "direct", "tag": "direct" }
],
"route": { "final": "direct" }
}
[Unit]
Description=sing-box naive proxy
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json
Restart=on-failure
RestartSec=3
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
UDP-over-TCP لـ NaiveProxy
NaiveProxy موجه بشكل أساسي لـ TCP. إذا كان المستخدمون بحاجة إلى حركة مرور تشبه UDP من خلال ملف تعريف Naive، فيمكن لـ MONO VPN توجيه تدفقات UDP إلى مستمع Naive TCP منفصل. أضف uot إلى الارتباط وتشغيل مستمع متوافق على هذا المنفذ.
naive+https://username:strong-password@yourdomain.com:443?sni=yourdomain.com&uot=8443
{
"log": { "level": "warn" },
"inbounds": [
{
"type": "naive",
"tag": "naive-uot-in",
"listen": "0.0.0.0",
"listen_port": 8443,
"users": [
{ "username": "username", "password": "strong-password" }
],
"tls": {
"enabled": true,
"server_name": "yourdomain.com",
"certificate_path": "/etc/letsencrypt/live/yourdomain.com/fullchain.pem",
"key_path": "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
}
}
],
"outbounds": [
{ "type": "direct", "tag": "direct" }
],
"route": { "final": "direct" }
}
افتح منفذ UoT TCP فقط عند استخدام هذا الوضع. إذا uot مفقود، يستخدم MONO VPN فرع NaiveProxy العادي لحركة مرور TCP وليس هناك حاجة إلى مستمع إضافي.
السلامة والتشغيل
- لا تنشر كلمات مرور حقيقية أو بيانات اعتماد الجذر أو المفاتيح العامة طويلة الأمد.
- قم بإصدار بيانات اعتماد فريدة لكل مستخدم أو جهاز.
- استدعاء البيانات وتدويرها عند مغادرة المستخدم، أو تسرب الرابط، أو انتهاء صلاحية الوصول.
- قم بتحديث Caddy أو Sing-box أو RouterOS أو SoftEther أو حزمة VPN المحددة.
- تحديد منافذ الإدارة حسب مصدر IP والإدارة المنفصلة عن منافذ VPN/الوكيل.
ufw allow 443/tcp
ufw allow 443/udp
ufw allow 8443/tcp
افتح فقط المنافذ التي تتوافق مع تصميمك. يعد UDP 443 اختياريًا ويعتمد على استخدام QUIC/HTTP3. TCP 8443 مطلوب فقط لمثال UDP-over-TCP.
