تثبيت خادم tftp على CentOS 8 أو RedHat 8

اليوم ستكون المقالة صغيرة. بشكل عام ، في رأيي ، كل شيء بسيط للغاية ، ولكن منذ أن تم إصدار CentOS8 مؤخرًا ، يوجد القليل من الأدلة عليه ، وبالتحديد حول tftp ضمن CentOS ، رأيت الكثير من النصائح الضارة بصراحة على الإنترنت ، لذلك سأحاول طرح اتجاه لتصحيح الموقف مباشرةً منذ إصدار الإصدار الجديد. لذلك ، دعونا ننكب على مجموعة من ثلاثة فرق مثيرة للشفقة نحتاجها. أولاً ، قم بتثبيت جميع الحزم المطلوبة:

sudo dnf -y install xinetd tftp-server tftp vim 

الآن سننشئ (أو نصلح) ملف تكوين xinetd بحيث يبدأ خادم tftp عند الوصول إلى المنفذ المقابل ، ويمكن القيام بذلك من خلال محرر vi القياسي ، من خلال nano ، الذي هو مألوف لمعظم الناس ، أو من خلال vim ، والذي يختلف عن vi الافتراضي التي لديها وظائف أوسع ، بما في ذلك تسليط الضوء على بناء الجملة. أفضل الفقرة الأخيرة ، لذلك كان هذا المحرر هو الكلمة الأخيرة في الأمر أعلاه. إذا كان شخص ما راضيًا عن المحررين المتوفرين في النظام ، فلا يمكنك تثبيت vim (على الرغم من أنه بالإضافة إلى استخدام 60 ميغابايت إضافية من مساحة القرص ، فلن يفعل ما هو أسوأ).

 sudo vim /etc/xinetd.d/tftp 

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

عند تحرير نص التكوين ، يرجى الانتباه إلى وسيطة server_args . في نهاية السطر ، يتم إعطاء المسار إلى الدليل الذي سيتم تحديد موقع الملفات به بواسطة tftp. قم بتغيير هذا الدليل إلى الدليل الذي يجب استخدامه معك. أريد أيضًا أن أقول على الفور أنه سيكون من الضروري تكوين خادم tftp في SeLinux للعمل مع هذا الدليل ، لا يوجد تكوين "افتراضي" لخادم tftp في CentOS. الآن لن أكتب عن تكوين SeLinux ، لأنني سأقوم بعد ذلك بإعداد مقالة منفصلة حول هذا الموضوع.

 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 

بعد ذلك ، اضغط Esc ، ثم ": wq" وأدخل.

الآن قم بتشغيل الخادم:

 sudo systemctl start xinetd sudo systemctl enable xinetd sudo firewall-cmd --permanent --zone=public --add-service=tftp && sudo firewall-cmd --reload 

نعم ، لا تحتاج إلى تعليق tftpd عند بدء التشغيل ، على الرغم من أن هذا ليس واضحًا تمامًا.
بعد ذلك ، تحتاج إلى التحقق من أن كل شيء يعمل. ننشئ بعض الملفات ونحاول تنزيلها (لقد قمت بذلك من أجل مسار تخزين الملفات المشهور ، إذا كان لديك مسار آخر ، فقم بتغييره هنا):

 echo passed > ~/test.txt sudo mv ~/test.txt /var/lib/tftpboot tftp 127.0.0.1 -c get test.txt cat test.txt 

إذا ظهرت الكلمة "مرت" في وحدة التحكم ، فسيكون الخادم قيد التشغيل. إذا لم يكن الوصول إليها في الوقت نفسه من الشبكة المحلية - تعامل مع المناطق الموجودة في firewalld ، فقمنا بالوصول إلى المنطقة العامة ، ولا يحتاج الجميع إلى الوصول إلى tftp منه.

ملاحظة: إذا كانت هناك أسئلة في التعليقات ، سأشرح كيفية نقل centos 8 من firewalld إلى iptables ، لكن IMHO لا يوجد فرق جوهري بينهما.

Source: https://habr.com/ru/post/ar470303/


All Articles