كيفية فتح المنافذ في Linux
لينكس أوبونتو أساسيات أوبونتو بطل / / March 02, 2022
آخر تحديث في
إذا كنت تبحث عن السماح بالاتصالات الخارجية بجهاز كمبيوتر أو خادم ، فستحتاج إلى فتح المنفذ الصحيح. يمكن لمستخدمي Linux فتح منافذ باستخدام هذا الدليل المفيد.
هل تحتاج إلى الاتصال بجهاز كمبيوتر خارجي أو خادم - أو تحتاج إلى كمبيوتر أو خادم آخر للاتصال بك؟ إذا كنت تستخدم Linux ، فستحتاج إلى التأكد من فتح المنفذ الصحيح.
بينما تحتوي أنظمة التشغيل الأخرى عادةً على بعض الأدوات الرسومية لذلك ، فإن Linux ليس بهذه البساطة. سنرشدك إلى كيفية فتح المنافذ في Linux أدناه.
ما هو المنفذ ولماذا سأحتاج إلى فتحه؟
المنفذ هو نقطة نهاية على الشبكة. فكر في الأمر على أنه باب يؤدي إلى غرفة معينة أو العالم الخارجي ، ولكن على جهاز الكمبيوتر الخاص بك. كل ما تفعله على الإنترنت يستخدم منفذًا معينًا أو سلسلة من المنافذ.
على سبيل المثال ، لنفترض أنك تريد تشغيل خادم Minecraft الخاص بك. للقيام بذلك ، ستحتاج إلى فتح منفذ للمستخدمين للاتصال به من خلاله. ينطبق الأمر نفسه على تشغيل خادم الويب أو البريد أو خادم FTP.
الموانئ موحدة عبر جميع الشبكات المتصلة الأجهزة. يشار إلى أول 1024 منفذًا (من 0 إلى 1023) باسم
يشار إلى أرقام المنافذ التي تزيد عن 1024 بـ الموانئ سريعة الزوال، وعادة ما تكون متاحة لك لاستخدامها في الألعاب عبر الإنترنت وخوادم الويب الخاصة وما إلى ذلك. يتم استدعاء أرقام المنافذ من 1024 إلى 49151 مسجل أو منافذ المستخدم، بينما تُعرف تلك من 49152 إلى 65535 باسم متحرك أو الموانئ الخاصة.
إدراج Open Ports على Linux
قبل أن تبدأ في محاولة فتح منفذ على Linux ، يجب عليك التأكد من أنه ليس قيد الاستخدام بالفعل. يمكنك تحقيق ذلك باستخدام ملف netstat أمر مضمن في معظم توزيعات Linux. إذا لم يكن لديك التوزيع الخاص بك netstat، يمكنك استخدام ss في حين أن.
netstat -lntu.
سيؤدي هذا إلى طباعة جميع مآخذ الاستماع (-ل) ، جنبًا إلى جنب مع رقم المنفذ (-ن). يتضمن منافذ TCP (-t) وكذلك UDP (-u). إذا لم يكن لدى نظامك netstat، فقط استخدم ss مع نفس المعلمات.
ss -lntu.
كيفية فتح المنافذ في Linux
من أجل هذا المثال ، سنفترض أننا نريد فتح المنفذ 4000 لاتصالات TCP. نحتاج أولاً إلى التأكد من أن المنفذ ليس قيد الاستخدام بالفعل. نقوم بذلك من خلال netstat أو ss.
netstat -na | grep: 4000. ss -na | grep: 4000.
بافتراض أن الناتج فارغ ، يمكننا إضافة قواعد المنفذ المناسبة إلى جدار حماية النظام. ستختلف طرق ذلك اعتمادًا على التوزيع الخاص بك وما إذا كان يستخدم الأحدث ufw جدار الحماية أو جدار الحماية. تفضل أوبونتوufw، في حين يستخدم CentOS عادةً ملفاتجدار الحماية في حين أن. بالطبع ، لا تزال هناك بعض توزيعات Linux تستخدم الإصدارات الأقدم iptables جدار الحماية.
لمستخدمي Ubuntu وأنظمة ufw الأخرى المستندة إلى جدار الحماية
بدلا من استخدام كبار السن iptables جدار الحماية ، Ubuntu وبعض التوزيعات الأخرى تستخدم ufw. في ظل هذه الأنظمة ، سيفتح الأمر التالي المنفذ.
sudo ufw تسمح 4000.
تخطي الخطوات القليلة التالية واختبر المنفذ الذي تم فتحه حديثًا للتأكد من أنه يعمل.
كيفية فتح المنافذ في Linux باستخدام CentOS والأنظمة الأخرى المستندة إلى جدار الحماية
إذا كان نظامك يستخدم ملفات جدار الحماية، أفضل رهان لك هو استخدام جدار الحماية كمد أمر لتحديث القواعد.
sudo firewall-cmd - منفذ إضافة = 4000 / tcp.
لن يكون هذا تغييرًا دائمًا ، لكننا سنغطي كيفية جعل القواعد قائمة بعد إعادة التشغيل بمجرد اختبار المنفذ.
لتوزيعات Linux الأخرى
إذا لم يكن لديك نظام Linux ufw أو جدار الحماية، سوف تحتاج إلى استخدام iptables. إذا لم يكن مثبتًا ، فابدأ واحصل عليه باستخدام مدير الحزم الذي تختاره. بمجرد تثبيته ، ستفتح هذه الأوامر المنفذ 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j قبول. إعادة تشغيل sudo service iptables.
إذا كان نظامك يستخدم ملفات systemctl، استبدل الأمر الثاني بـ:
sudo systemctl إعادة تشغيل iptables.
اختبار الموانئ المفتوحة حديثًا للتوصيلات
بعد ذلك ، يجب علينا اختبار المنفذ للتأكد من أنه يقبل الاتصالات. نقوم بذلك باستخدام netcat (nc) للاستماع إلى المنفذ ، ثم محاولة التلنت إليه.
أولاً ، افتح نافذة طرفية وأصدر هذا الأمر:
sudo ls | nc -l -p 4000.
اتركه قيد التشغيل (الاستماع) وافتح نافذة طرفية ثانية. في تلك النافذة ، ستستخدم telnet لاختبار الاتصال. إذا لم يتم تثبيت telnet ، فقم بذلك باستخدام مدير الحزم الخاص بك.
telnet [اسم المضيف / عنوان IP] [رقم المنفذ]
يستبدل [اسم المضيف / عنوان IP] بعنوان IP الخاص بنظامك ، و [رقم المنفذ] برقم المنفذ الذي فتحته.
مضيف محلي telnet 4000.
يجب أن ترى مثل هذا الإخراج أدناه ، مما يشير إلى وجود اتصال مفتوح مع nc.
يمكننا أيضًا إظهار أن المنفذ مفتوح باستخدام nmap. مرة أخرى ، إذا لم يكن الأمر مثبتًا بالفعل ، فاستخدم مدير الحزم الخاص بك لاسترداده.
nmap المضيف المحلي -p 4000.
لاحظ أن nmap سيسرد فقط المنافذ المفتوحة التي تستمع للاتصالات. لهذا السبب نستخدم netcat للاختبار ، للاستماع على هذا المنفذ. خلاف ذلك ، لن يتم تسجيل المنفذ على أنه مفتوح.
لا يمكنني الاتصال بالمنفذ الذي فتحته للتو ، ماذا الآن؟
إذا نفذت جميع الخطوات المذكورة أعلاه ولم تتمكن من تحقيق اتصال بالمنفذ ، فتحقق جيدًا من كتابتك. إذا كنت متأكدًا من أنك أدخلت كل شيء بشكل صحيح ، فستحتاج إلى إعادة تكوين جهاز توجيه الشبكة للسماح بحركة المرور.
نظرًا لأن كل جهاز توجيه شبكة له شاشات تكوين مختلفة ، يجب عليك الرجوع إلى صفحات الدعم أو دليل المستخدم لجهازك الخاص. ستحتاج إلى التحقق من إعدادات إعادة توجيه المنفذ أو تعيين المنفذ ، بالإضافة إلى أي جدار حماية مدمج قد يستخدمه جهاز التوجيه.
كيفية فتح منفذ بشكل دائم في Linux
بمجرد اختبار المنفذ المفتوح والتأكد من أنه يعمل ، قد ترغب في جعل التغيير دائمًا. خلاف ذلك ، قد لا تستمر التغييرات بعد إعادة التشغيل. إذا كنت من مستخدمي Ubuntu ، أو استخدم امتداد ufw جدار الحماية ، لا داعي للقلق بشأن هذا. ال ufw لا يتم إعادة تعيين القواعد عند إعادة التشغيل.
لمستخدمي جدار الحماية
من السهل جعل قاعدة منفذ ثابتة بعد إعادة التشغيل جدار الحماية. فقط أضف ملف -دائم إلى الأمر الأولي الخاص بك ، وسيتم تضمينه في قواعد جدار الحماية لنظام Linux عند بدء التشغيل.
sudo firewall-cmd - add-port = 4000 / tcp - دائم.
إذا كنت لا تزال تستخدم iptables
ال iptables يعد جدار الحماية أكثر إزعاجًا (ربما يكون سببًا جيدًا للترقية إلى جدار الحماية أو ufw). لفتح منفذ "بشكل دائم" iptables، يمكنك تثبيت iptables- استمرار حزمة للمساعدة.
عند التثبيت لأول مرة iptables- استمرار على نظام قائم على دبيان ، فإنه سيحفظ قواعدك الحالية إما /etc/iptables/rules.v4 أو /etc/iptables/rules.v6. لإضافة قواعد جديدة ، ستصدر الأمر التالي:
sudo iptables-save> /etc/iptables/rules.v4.
أو
sudo iptables-save> /etc/iptables/rules.v6.
بالنسبة لأولئك الذين يشغلون توزيعات Linux التي تستند إلى RPM ، فإن الأمر مختلف بعض الشيء. الحزمة تسمى خدمات iptables، وملفات الحفظ /etc/sysconfig/iptables و /etc/sysconfig/ip6tables.
في التوزيعات المستندة إلى RPM ، يوجد أيضًا أمر مختلف يستخدم لمنافذ IPv6. يتم حفظ القواعد الخاصة بك باستخدام أحد هذين الأمرين:
sudo iptables-save> / etc / sysconfig / iptables. sudo ip6tables-save> / etc / sysconfig / iptables.
تأكد من مراقبة استخدام المنفذ الخاص بك
مع مرور الوقت ، قد تتغير احتياجات الخادم الخاص بك. تمامًا كما يجب مواكبة حسابات المستخدمين على جهاز Linux الخاص بك ، يجب عليك أيضًا مراجعة المنافذ المفتوحة بانتظام. أغلق أي منافذ مفتوحة لم تعد هناك حاجة إليها. جنبا إلى جنب مع بانتظام تغيير كلمة المرور الخاصة بك، فهذه ممارسة أمنية جيدة ستساعدك على تجنب عمليات اقتحام النظام ومآثر الأمان.