تعزيز سرعة نقل البيانات الكبيرة من خلال إنشاء خادم ترحيل croc في الشبكة الداخلية
TuBrief 편집팀
2026년 7월 19일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
إذا كنت من العاملين في مجال تكنولوجيا المعلومات الذين يضيعون الوقت في إجراءات الموافقة في كل مرة تحتاج فيها إلى نقل بيانات كبيرة بسبب اللوائح الأمنية التي تمنع استخدام التخزين السحابي الخارجي، فهذا المقال هو الحل لك. يستخدم croc بروتوكول PAKE، مما يضمن أن خادم الترحيل لا يمكنه الاطلاع على البيانات. قمنا هنا بتلخيص كيفية ضمان سرعة النقل دون انتهاك السياسات الأمنية.
من خلال وضع خادم ترحيل مباشرة في منطقة DMZ دون المرور عبر خوادم خارجية، يمكنك تجاوز إجراءات موافقة الفريق الأمني. يستخدم croc المنفذ TCP 9009 لتبادل إشارات التحكم، ويستخدم المنافذ من 9010 إلى 9013 لنقل البيانات. بمجرد تثبيت هذا النطاق، يصبح من الممكن تسجيل سياسة جدار الحماية.
قم بعزل البيئة عن طريق تشغيل حاوية باستخدام Docker.
`bash
docker network create --driver bridge croc-dmz-net
docker run -d --name croc-relay
-p 9009:9009 -p 9010-9013:9010-9013
-e CROC_PASS='비밀번호'
docker.io/schollz/croc:latest
`
لتجنب إدخال عنوان الخادم وكلمة المرور في كل مرة على خوادم الشركة، قم بإضافة الإعدادات التالية إلى ملف التعريف (~/.bashrc).
`bash
export CROC_RELAY="내부서버IP:9009"
export CROC_PASS='비밀번호'
`
بهذه الطريقة، لن تضطر للمرور عبر خادم خارجي، مما يلغي وقت انتظار الموافقة على نقل البيانات.
من غير الفعال تشغيل الترحيل يدوياً في كل مرة يتم فيها إعادة تشغيل الخادم. قم بإنشاء ملف وحدة systemd لتشغيل العملية بشكل دائم. باستخدام حساب nobody بدلاً من root، يمكنك تقليل الضرر في حالة وقوع حادث أمني.
قم بإنشاء ملف /etc/systemd/system/croc-relay.service.
`ini
[Unit]
Description=croc relay service
[Service]
User=nobody
ExecStart=/usr/local/bin/croc relay --ports "9009,9010,9011,9012,9013"
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
`
بعد الكتابة، قم بتنفيذ systemctl daemon-reload وتشغيل الخدمة باستخدام أمر systemctl enable --now croc-relay.service. حتى في حال توقف الخادم، سيتم استعادته ذاتياً في غضون 5 ثوانٍ.
عند نقل مجلدات المشروع التي تصل إلى مئات الجيجابايت، يجب منع فقدان الملفات. استخدم طريقة ضغط الملفات باستخدام tar والتحقق من المجموع الاختباري (checksum).
فيما يلي مثال لبرنامج نصي للنقل:
`bash
tar -czf data.tar.gz ./project_folder
sha256sum data.tar.gz > checksum.txt
croc send data.tar.gz checksum.txt
croc recv [코드]
sha256sum -c checksum.txt && tar -xzf data.tar.gz
`
هذا يجنبك ثغرات فك الضغط مثل CVE-2023-43616، ويضمن التحقق من عدم تلف البيانات فور وصولها.
عندما يتجاوز حجم نقل البيانات مستوى تيرابايت، ستحدث اختناقات بالإعدادات الافتراضية. أضف معاملات المقبس (socket parameters) إلى /etc/sysctl.conf لمنع انقطاع الجلسة.
`bash
net.ipv4.tcp_keepalive_time=60
net.core.rmem_max=134217728
`
تقليل دورة TCP keepalive إلى 60 ثانية يمكن أن يحل مشكلة قيام جدران الحماية التي تعتمد على الحالة بقطع الجلسة قسراً. إذا كانت فرق متعددة تستخدم هذا الخادم في نفس الوقت، فقم بتخصيص نطاقات منافذ لكل فريق (مثل 9010-9014 و 9020-9024) وتشغيل حاويات منفصلة. بمجرد تثبيت إعدادات جدار الحماية، يمكنك تحقيق نقل مستقر دون تداخل بين الفرق.