كيفية إعداد خادم Ubuntu كجهاز توجيه باستخدام PPPoE



جرب أداة القضاء على المشاكل

تم تصميم Ubuntu Server تقنيًا كنظام تشغيل موجه CLI فقط للاستخدام مع الخوادم الحديدية الكبيرة الكبيرة ، ولكن لا يوجد سبب لعدم تمكنه من العمل في أجهزة التوجيه والأنظمة المضمنة التي تدير بروتوكول نقطة إلى نقطة عبر Ethernet أيضًا. من المفترض أن مشروعًا كهذا يحتاج إما إلى جهاز كمبيوتر صغير بدون مروحة أو نوع من أجهزة التوجيه التي يمكنك تعديلها عبر شريحة فلاش NAND. من المرجح أنك ستقوم بتثبيت قدر مناسب من ذاكرة الوصول العشوائي بالإضافة إلى قرص صلب من أجل القضاء على الضوضاء وكذلك الأجزاء المتحركة. قد تكون مهتمًا باستخدام محول SDHC-to-SATA بحيث يمكنك تشغيل نظام التشغيل بالكامل من بطاقة SD. يمكن لبطاقات SD التي يتم إدخالها في الفتحات الجانبية على الأجهزة الخالية من الإرث تشغيل نظام التشغيل. يعمل هذا عند استخدامه مع نظام PPPoE على ما يرام.



بينما قد تعتقد أن استخدام هذا النوع من التهيئة يمكن أن يكون بطيئًا بدون وجود قرص ثابت كهروميكانيكي مناسب ، فإنك في الواقع تقلل من وقت الوصول نظريًا. Ubuntu Server صغير جدًا لدرجة أنه يتم تشغيله بسرعة على أي حال. بمجرد أن يكون جهاز التوجيه الخاص بك في مكانه ، فمن المحتمل ألا تقوم بتشغيله أو إيقاف تشغيله كثيرًا. بغض النظر عن التكوين الذي تختاره ، ستحتاج إلى توجيه متصفحك إلى https://www.ubuntu.com/download/server لتنزيل ملف ISO. الإصدار الأحدث في وقت كتابة هذا التقرير ، Ubuntu Server 16.04.1 LTS ، مصمم فقط للاستخدام مع معماريات 64 بت. تلبي معظم أجهزة الراوتر الحديثة وأجهزة العميل الرقيقة هذا المطلب على ما يرام ، ولكن قد تكون هذه مشكلة إذا كنت تحاول شيئًا غريبًا حقًا مثل استخدام netbook كموجه.





تكوين خادم Ubuntu كجهاز توجيه PPPoE

لا تزال العديد من شبكات ISP الرئيسية تتطلب مصادقة PPPoE. تستخدم جميع شبكات DSL تقريبًا هذا ، وعلى الرغم من أنه غير ضروري عند العمل باستخدام اتصال ليفي ، إلا أن بعضها لا يزال يستخدمه بالفعل أيضًا. تقدم أجهزة توجيه Netgear موجه تسجيل الدخول الذي يسمح لك بالاتصال بهذه الأنواع من الشبكات بسهولة ، ولكن الأمر سيستغرق بعض العمل للحصول على موجه Linux محلي الصنع للتفاعل بشكل صحيح مع هذا النوع من التكنولوجيا.

إذا لم تكن موجودًا بالفعل في متصفحك ، فتوجه إلى http://releases.ubuntu.com/16.04.1/ . كان من الممكن تنزيل ملف ISO من هذه الصفحة إذا لم يكن لديك ، ولكن بمجرد الانتهاء من ذلك ، قم بالتمرير لأسفل إلى الرابط الذي يقرأ MD5SUMS وحدده.



من موجه CLI ، قم بتشغيل md5sum على Ubuntu Server ISO وتأكد من تطابقه مع الرقم الموجود بجوار ubuntu-16.04-desktop-amd64.iso في القائمة.

إذا حدث ذلك ، فاحصل على شريحة ذاكرة USB فارغة تمامًا أو بطاقة SD جاهزة واكتبها sudo if = ubuntu-16.04-desktop-amd64.iso من = / dev / sdLetter bs = 8M ، مع استبدال = موجه باسم الجهاز المعني. يمكنك استخدام sudo fdisk -l للعثور على جميع الأجهزة المتصلة بنظامك. بمجرد القيام بذلك ، قم بإزالة محرك الأقراص بشكل صحيح وإرفاقه بنظام التوجيه. أعد تشغيله ، وادفع أي مفتاح مطلوب لتشغيل النظام المذكور من وحدة التخزين القابلة للإزالة. يتم تثبيت خادم Ubuntu بسهولة نسبيًا استنادًا إلى عدد من مطالبات ncurses النصية.

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

على الأرجح ، لن ترغب في تثبيت أي برامج إضافة أثناء عملية تكوين نظام التشغيل. يقوم GRUB بالتمهيد بصمت على تثبيت Ubuntu Server الافتراضي ، مما يعني أنك لن ترى أي رسائل تصحيح. إذا رأيت مؤشرًا وامضًا بدون أي شيء آخر بعد بدء التشغيل ، فاضغط باستمرار على Ctrl و Alt و F1 للوصول إلى وحدة تحكم افتراضية. قم بتسجيل الدخول إلى حسابك ، ثم اكتب على الرغم من أنك قد ترغب أيضًا في استخدام vi بدلاً من ذلك. ابحث عن السطر الذي يقرأ GRUB_CMDLINE_LINUX_DEFAULT = 'دفقة هادئة' وحذف كلمات البداية الهادئة في الاقتباسات. ستحتاج أيضًا إلى تعديل سطر يقرأ GRUB_CMDLINE_LINUX = '' لتضمين net.ifnames = 0 biosdevname = 0 في الاقتباس المزدوج لتسمية بطاقات الشبكة الخاصة بك بشكل صحيح. احفظ الملف ثم قم بتشغيل sudo update-grub لتحديث مستودع التمهيد الخاص بك ، نظرًا لأن ملف grub ربما يكون في الواقع على نوع من أقسام UEFI.

ابحث عن السطر الذي يقرأ GRUB_CMDLINE_LINUX_DEFAULT = 'دفقة هادئة' وحذف عبارة ' دفقة هادئة 'التي هي في الاقتباسات. فصافة

أن يكون قرصانا.

نوع سودو نانو لفتح ملف واجهاتك للتحرير ، ثم قم بتغيير أسماء بطاقات الشبكة التي تجدها هناك إلى التقليدية eth0 و eth1 ، ثم احفظ الملف واخرج. بمجرد خروجك من الملف ، يمكنك إعادة تشغيل النظام للتأكد من أن التغييرات سارية المفعول بشكل صحيح.

الآن سوف تحتاج إلى تثبيت برنامج PPPoE و OpenSSL المناسب لإكمال التثبيت. يمكنك تثبيت DNS و DHCP و PPPoE و OpenSSL من خلال مشكلة سطر أوامر واحدة:

sudo apt-get install bind9 isc-dhcp-server openssl pppoeconf

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

يزودك موفر خدمة الإنترنت باسم مستخدم وكلمة مرور ، وستحتاج إلى إدخالها في ملف chap-secrets. نوع لكن تذكر أنه لا يزال بإمكانك استخدام vi إذا كنت تفضل ذلك. يجب نقل اسم المستخدم وكلمة المرور الخاصين بك. على سبيل المثال ، قد ترغب في:

'billy' * 'mypass3'

احفظ الملف وانتقل الآن إلى ملف ستجد ملفًا يسمى الموفر في هذا الدليل. افتحه باستخدام nano كما كنت تفعل مع ملفات التكوين الأخرى ، أو قم بإنشاء واحدة جديدة بنفس الطريقة. ضع كلًا من هذه الأوامر في سطر منفصل في الملف:

noipdefault

الطريق الافتراضي

تم استبداله

ثابر

البرنامج المساعد rr-pppoe.so eth0

المستخدم 'بيلي'

يمكنك أيضًا وضع إخفاء كلمة المرور و noauth إذا كنت تفضل عدم استخدام مطالبات تسجيل الدخول ، نظرًا لأنك ستستخدم هذا كموجه وليس كآلة إنتاج فعلية بواجهة عادية. استبدل اسم billy باسم المستخدم الفعلي لديك ، ثم قم بتشغيل pon Provider أو اسم الملف الذي تنشئه للاتصال. يجب أن يعطيك أي رسائل خطأ ذات صلة في العملية ، ولكن يمكنك استخدام ifconfig للعثور على واجهة شبكة ppp0 أو ppp1. ستحتاج إلى الرجوع إلى هذا لاحقًا. يمكنك إضافة usepeerdns إذا كنت تريد أن تطلب من النظير اثنين من عناوين خادم DNS ، والتي يتم تمريرها بعد ذلك إلى كمتغيرات البيئة المسماة DNS2 و DNS1. ستفرض أيضًا متغير بيئة يسمى المستخدمين لضبط نفسه على 1 أيضًا. إذا كنت تفضل استخدام خوادم DNS الخاصة بك وليس تلك التي تم تعيينها لك بواسطة مزود خدمة الإنترنت ، فيمكنك إضافة سطور إلى ملف مثل:

يجب أن تكون هذه هنا نظرًا لأنه في كل مرة تقوم فيها بإعادة تشغيل الخادم أو إنشاء اتصال PPPoE جديد ، فإن ملف يتم الكتابة فوق الملفات.

في معظم الحالات ، يتم تعيين MTU على حوالي 1500 ، ولكن أعلى مستوى ستتمكن من الحصول عليه حوالي 1492 أو ربما أقل نظرًا لأنك تستخدم واجهة PPPoE. بافتراض أنك حددت الحد الأقصى من MTU لنظام ppp0 أو ppp1 ، فستحتاج إلى استخدامه لفتح ملف ip-up ثم إضافة السطر / sbin / ifconfig ppp0 man #### في الجزء السفلي ، لتحل محل #### بقيمتك الصحيحة. قد يكون في مكان ما حوالي عام 1480 إذا كنت غير متأكد.

ستخبرك العديد من البرامج التعليمية بضبط اتصال eth0 WAN بـ DHCP ، ولكنك تحتاج إلى ضبطه على يدوي بسبب اتصال PPPoE الذي تعمل من خلاله. استعمال وقم بتحريره بحيث تقرأ كتلة التعليمات البرمجية الموجودة ضمن # واجهة شبكة WAN دليل eth0 التلقائي و iface eth0 inet ، ثم يجب قراءة كتلة الكود الموجودة تحتها:

# واجهة شبكة LAN

السيارات eth1

iface eth1 إنت ثابت

عنوان 192.168.1.1

قناع الشبكة 255.255.255.0

تحتاج أجهزة التوجيه إلى تنشيط إعادة توجيه الحزم لتعمل كجهاز توجيه ، لذا استخدم ثم قم بإزالة ثماني الثور فى مواجهة net.ipv4.ip_forward = 1 قبل الحفظ. ستجده ضمن عرض أسعار يقرأ # Uncomment السطر التالي لتمكين إعادة توجيه الحزمة لـ IPv4 ، ولكن قد ترغب أيضًا في إزالة العلامة الموجودة أمام net.ipv6.conf.all.forwarding = 1 إذا كنت تخطط لاستخدام توجيه IPv6 ، والذي قد يمثل تحديًا في ظل نظام PPPoE.

افتح ملف iptables للتحرير بامتداد الأمر ثم أضف هذه الأسطر إليه:

احفظ الملف ، ثم اخرج من nano أو أي محرر نصوص آخر كنت تستخدمه قبل المتابعة. تشكل iptables جدار الحماية الرئيسي لنواة Linux ، لذا من الجيد ترتيب هذه الجداول قبل بدء اتصال مزود خدمة الإنترنت.

ستحتاج الآن إلى تغيير الأذونات على الملف المعني ، لذلك قد ترغب في استخدام sudo -i أو sudo bash للحصول على موجه الجذر. بمجرد استخدام:

بمجرد تطبيق هذه الأذونات ، يمكنك كتابة exit ودفع مفتاح الإدخال للخروج من المطالبة المرتفعة.

ملف التكوين التالي الذي نحتاج إلى فتحه وستقوم بتحريره بنفس الطريقة بالضبط. تحتاج إلى إضافة الإعدادات التالية ، مع استبدال ملف octothorpes باستخدام عنوان IP الصحيح لجهاز التوجيه الخاص بك:

الشبكة الفرعية ###. ###. ##. # netmask 255.255.255.0 {

نطاق ###.###.##.### ###.###.##.###؛

أجهزة التوجيه الخيار ###. ###. ##. #؛

الخيار خوادم اسم المجال ###. ###. ##. #؛

خيار عنوان البث ###. ###. ##. ###؛

}

أحفظ وأغلق الملف. إذا كنت تعمل باستخدام بطاقة SD أو شيء مشابه ، فهذا وقت مناسب آخر لإصدار أمر المزامنة أيضًا.

سوف تحتاج إلى استخدام سودو نانو مرة أخرى لفتح ملف ملف لتضمين القواعد المخصصة الخاصة بك. ما زلنا نعمل مع اتصال PPPoE ، لذلك سنستخدم ملف جهاز ppp0 بدلاً من الملف الافتراضي eth0.

ضمن كتلة التعليمات البرمجية التي تبدأ بالتعليق ' # ثبت MSS بحجم MTU ، 'تشمل السطر التالي:

-A FORWARD -p tcp –tcp-flags SYN و RST SYN -j TCPMSS –clamp-mss-to-pmtu

هذه القاعدة مطلوبة لمنع صفحات الويب من التحميل في منتصف الطريق فقط أو انتهاء المهلة. بدلاً من ذلك ، تقوم بتثبيت MTU و MSS معًا ، لذلك لن تواجهك هذه المشكلات. الآن هذا يسمح لـ Linux kernel بتخمين الأحجام الصحيحة ، ولكن يمكنك تحديدها بالفعل إذا لزم الأمر. ضمن كتلة التعليمات البرمجية التي تبدأ بـ ' # حدد حجم MSS ، ستحتاج إلى إضافة:

-A FORWARD -p tcp –tcp-flags SYN، RST SYN -j TCPMSS –set-mss ####

استبدل المقطع #### بقيمة MSS الصحيحة. يمكنك معرفة ذلك بقليل من الرياضيات. اطرح حجم رأس PPPoE من MTU الخاص بك ، ثم اطرح رأس IP ورأس TCP. الفرق هو الحجم الإجمالي MSS.

قد تحتاج إلى تعديل قاعدة خدمة SSH لإضافة خيار –syn الذي سيسمح لك بالوصول إلى SSH إلى جهاز التوجيه هذا من جهاز كمبيوتر آخر مسجل على شبكة LAN الخاصة بك. سيؤدي التعليق على قاعدة خدمة ICMP إلى جعل جهازك لا يرد على أي اختبار اتصال. سيؤدي هذا في الواقع إلى جعل جهاز الكمبيوتر الخاص بك متخفيًا تمامًا ، على الرغم من أنه لا ينبغي عليك التفكير في هذا النوع من المعالجة النهائية التي تجعل عادات التصفح الخاصة بك من خلال جهاز التوجيه هذا غير مرئية. لن تكون كذلك ، لكنها طبقة أخرى من الأمان لحمايتك.

في بعض الأحيان ، لا تتصل الواجهات أو اتصالات PPPoE التي تعمل معها فعليًا على الفور عند تشغيل جهاز التوجيه ، لذلك قد ترغب في إنشاء سكريب بدء تشغيل قصير للتأكد من أنه يعمل بشكل صحيح عند بدء تشغيل النظام. إنها تضيف حوالي 8-10 ثوانٍ فقط إلى إجمالي وقت التمهيد ، لذا فهي تستحق ذلك بالفعل. قم بتحرير ملف ملف مع sudo nano مرة أخرى ، ثم قم بإضافة

النوم 3

ifup eth0

النوم 3

ifup eth1

النوم 3

مزود بون

ستحتاج إلى استبدال الموفر باسم ملف مخصص إذا أنشأت واحدًا لاستبدال ملف الموفر الافتراضي. تحتاج العديد من أجهزة التوجيه إلى فترة سكون تبلغ 1-2 ثانية فقط ، لذلك قد ترغب في تجربة ذلك من أجل تحسين أداء التمهيد. يجب ألا يستغرق الأمر وقتًا طويلاً لإعادة التشغيل على الإطلاق في المقام الأول على أي حال.

يجب أن يقوم هذا بتشغيل أوامر pon و ifup بعد تمهيد النظام بالكامل ، ولكن قبل ظهور مطالبات تسجيل الدخول إلى وحدة التحكم الافتراضية الفعلية. إذا كان الاتصال قيد التشغيل ، فلن يحدث أي شيء على الإطلاق ، ولكن إذا كان أحد الاتصالات لا يعمل بشكل صحيح ، فسيضمن هذا النص البرمجي أنه تمت تهيئته بشكل صحيح. يعتمد الأمر pon الأخير على eth0 و eth1 ، لذلك يجب أن تضعه دائمًا كخطوة أخيرة وإلا فقد يفشل البرنامج النصي بالفعل.

بمجرد إعادة تشغيل الجهاز بعد إجراء كل هذه التغييرات ، سيكون لديك جهاز توجيه يعمل بكامل طاقته ويعمل على خادم Ubuntu. قد ترغب في استخدام sudo iptables-L إذا كنت بحاجة إلى التحقق من حالتها من وقت لآخر ، ولكن بخلاف ذلك ، سيعمل كل شيء بشكل جيد إن لم يكن أفضل من جهاز التوجيه المصنّع تجاريًا. سيعمل جهاز التوجيه الجديد الخاص بك على تشغيل أي حزم أخرى من Ubuntu ضرورية ، ولكن لن تحتاج إلى تثبيت خادم X أو أي شيء آخر ، لأن النظام يجب أن يعمل بشكل صحيح دون الحاجة إلى برامج واجهة مستخدم إضافية.

قراءة 9 دقائق