So richten Sie Ubuntu Server mithilfe von PPPoE als Router ein



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Ubuntu Server ist technisch als CLI-Eingabeaufforderungsbetriebssystem für die Verwendung mit großen großen Eisenservern konzipiert. Es gibt jedoch keinen Grund, warum es nicht in Routern und eingebetteten Systemen funktioniert, die das Punkt-zu-Punkt-Protokoll auch über Ethernet verwalten. Es wird davon ausgegangen, dass für ein solches Projekt entweder ein kleiner lüfterloser PC oder eine Art Router-Box erforderlich ist, die Sie über einen NAND-Flash-Chip ändern können. Höchstwahrscheinlich werden Sie eine angemessene Menge an RAM sowie eine Solid-State-Festplatte installieren, um Rauschen und bewegliche Teile zu vermeiden. Möglicherweise möchten Sie einen SDHC-zu-SATA-Konverter verwenden, damit Sie das gesamte Betriebssystem von einer SD-Karte ausführen können. SD-Karten, die in Seitensteckplätze auf älterer Hardware eingesetzt werden, können das Betriebssystem ebenfalls starten. Dies funktioniert bei Verwendung mit einem PPPoE-System einwandfrei.



Während Sie vielleicht denken, dass die Verwendung dieser Art von Konfiguration ohne eine geeignete elektromechanische Festplatte langsam sein kann, würden Sie die Zugriffszeit theoretisch reduzieren. Ubuntu Server ist so klein, dass es sowieso schnell startet. Sobald Sie Ihren Router installiert haben, werden Sie ihn wahrscheinlich nicht mehr so ​​oft ein- und ausschalten. Unabhängig davon, für welche Konfiguration Sie sich entscheiden, möchten Sie Ihren Browser auf https://www.ubuntu.com/download/server verweisen, um eine ISO herunterzuladen. Die zum Zeitpunkt des Schreibens neueste Version, Ubuntu Server 16.04.1 LTS, ist nur für die Verwendung mit 64-Bit-Architekturen konzipiert. Die meisten modernen Router- und Thin Client-Geräte erfüllen diese Anforderung einwandfrei. Dies kann jedoch ein Problem sein, wenn Sie etwas wirklich Exotisches wie die Verwendung eines Netbooks als Router versuchen.





Ubuntu Server als PPPoE-Router konfigurieren

Einige wichtige ISP-Netzwerke erfordern noch eine PPPoE-Authentifizierung. Fast alle DSL-Netzwerke verwenden dies, und obwohl dies bei der Arbeit mit einer Glasfaserverbindung nicht erforderlich ist, verwenden einige von ihnen es auch tatsächlich. Netgear-Router bieten eine Anmeldeaufforderung, mit der Sie problemlos eine Verbindung zu diesen Netzwerktypen herstellen können. Es ist jedoch einige Arbeit erforderlich, um einen selbstgebauten Linux-Router für die korrekte Schnittstelle mit dieser Art von Technologie zu erhalten.

Wenn Sie noch nicht in Ihrem Browser vorhanden sind, gehen Sie zu http://releases.ubuntu.com/16.04.1/ . Sie hätten die ISO von dieser Seite herunterladen können, wenn Sie sie nicht hätten, aber wenn Sie sie haben, scrollen Sie nach unten zu dem Link, der MD5SUMS liest, und wählen Sie sie aus.



Führen Sie an der CLI-Eingabeaufforderung md5sum auf dem Ubuntu Server ISO aus und stellen Sie sicher, dass es mit der Nummer neben übereinstimmt ubuntu-16.04-desktop-amd64.iso in der Auflistung.

Wenn dies der Fall ist, halten Sie einen vollständig leeren USB-Speicherstick oder eine SD-Karte bereit und geben Sie ein sudo if = ubuntu-16.04-desktop-amd64.iso von = / dev / sdLetter bs = 8M Ersetzen Sie die Eingabeaufforderung of = durch den Namen des betreffenden Geräts. Sie können verwenden sudo fdisk -l um alle an Ihr System angeschlossenen Geräte zu finden. Entfernen Sie anschließend das Laufwerk ordnungsgemäß und schließen Sie es an das Routersystem an. Starten Sie es neu und drücken Sie die Taste, die zum Starten des Systems vom Wechselspeicher erforderlich ist. Ubuntu Server lässt sich relativ einfach installieren, basierend auf einer Reihe von textbasierten ncurses-Eingabeaufforderungen.

Ein Problem bei der Installation auf diese Weise besteht jedoch darin, dass Sie auf dem Wechselmedium während der Installation eine Verbindung zum Internet herstellen müssen. Wenn Sie eine solche Box direkt mit einem Netzwerk verbinden, treten einige Sicherheitsprobleme auf. Schließen Sie es an einen der Netzwerkports Ihres alten Routers an, um Firewall-Dienste bereitzustellen, bis Sie es betriebsbereit machen. Sobald Sie dies tun, müssen Sie einige Änderungen am GRUB-Bootloader vornehmen. Wenn möglich, trennen Sie Ihren Linux-Router so schnell wie möglich von Ihrem vorhandenen Computer, um die Installation offline fortzusetzen. Dadurch werden seltsame DHCP-Probleme vermieden, die andernfalls bei Ihrer vorhandenen Verbindung auftreten können.

Höchstwahrscheinlich möchten Sie während des Konfigurationsprozesses des Betriebssystems keine zusätzliche Software installieren. GRUB startet stillschweigend bei einer Standardinstallation von Ubuntu Server. Dies bedeutet, dass keine Debug-Meldungen angezeigt werden. Wenn nach dem Booten ein blinkender Cursor mit nichts anderem angezeigt wird, halten Sie Strg, Alt und F1 gedrückt, um zu einer virtuellen Konsole zu gelangen. Melden Sie sich in Ihrem Konto an und geben Sie ein Vielleicht möchten Sie stattdessen auch vi verwenden. Suchen Sie eine Zeile, die lautet GRUB_CMDLINE_LINUX_DEFAULT = 'leises Spritzen' und löschen Sie die leisen Begrüßungswörter in Anführungszeichen. Sie möchten auch eine Zeile bearbeiten, die lautet GRUB_CMDLINE_LINUX = ””, um net.ifnames = 0 biosdevname = 0 einzuschließen in doppelten Anführungszeichen, um Ihre Netzwerkkarten richtig zu benennen. Speichern Sie die Datei und führen Sie dann sudo update-grub aus, um Ihren Bootloder zu aktualisieren, da sich die grub-Datei wahrscheinlich tatsächlich auf einer Art UEFI-Partition befindet.

Suchen Sie eine Zeile, die lautet GRUB_CMDLINE_LINUX_DEFAULT = 'leises Spritzen' und löschen Sie die Wörter “ leises Plätschern ”, Die in Anführungszeichen stehen. fsafa

Das ist ein Pirat.

Art Sudo Nano Öffnen Sie Ihre Schnittstellendatei zum Bearbeiten und ändern Sie dann die Namen der dort gefundenen Netzwerkkarten wieder in die herkömmlichen eth0 und eth1 Speichern Sie dann die Datei und beenden Sie sie. Sobald Sie die Datei verlassen haben, können Sie das System neu starten, um sicherzustellen, dass die Änderungen ordnungsgemäß wirksam werden.

Jetzt müssen Sie die richtige PPPoE- und OpenSSL-Software installieren, um die Installation abzuschließen. Sie können DNS, DHCP, PPPoE und OpenSSL mit einem einzigen Befehlszeilenproblem installieren:

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

Dies kann einige Momente dauern und Sie werden möglicherweise gefragt, ob Sie bereit sind, die Änderungen zu genehmigen. Stellen Sie sicher, dass Sie es sagen. Sobald alles abgeschlossen ist, können Sie die Verbindung zum Internet trennen und offline fortfahren. Möglicherweise möchten Sie den Befehl sync einige Male verwenden, um sicherzustellen, dass alle Puffer miteinander synchronisiert sind, falls etwas Schlimmes passiert.

Ihr ISP gibt Ihnen einen Benutzernamen und ein Passwort, die Sie in die Chap-Secrets-Datei eingeben müssen. Art aber denken Sie daran, dass Sie vi trotzdem verwenden können, wenn Sie es vorziehen. Ihr Benutzername und Ihr Passwort müssen angegeben werden. Zum Beispiel möchten Sie möglicherweise:

'Billy' * 'mypass3'

Speichern Sie die Datei und navigieren Sie nun zu In diesem Verzeichnis finden Sie eine Datei mit dem Namen 'Provider'. Öffnen Sie es mit nano, wie Sie es mit den anderen Konfigurationsdateien getan haben, oder erstellen Sie auf die gleiche Weise eine neue. Fügen Sie jeden dieser Befehle in eine separate Zeile in der Datei ein:

noipdefault

Standardroute

ersetzte Standardroute

fortdauern

Plugin rr-pppoe.so eth0

Benutzer 'Billy'

Sie können auch hide-password und noauth eingeben, wenn Sie keine Anmeldeaufforderungen verwenden möchten, da Sie dies als Router und nicht als tatsächliche Produktionsmaschine mit regulärer Schnittstelle verwenden. Ersetzen Sie den Namen Billy durch den tatsächlichen Benutzernamen, den Sie haben, und führen Sie dann pon provider oder den Namen der Datei aus, die Sie für die Verbindung erstellen. Es sollte Ihnen alle relevanten Fehlermeldungen im Prozess geben, aber Sie können ifconfig verwenden, um die Netzwerkschnittstelle ppp0 oder ppp1 zu finden. Sie müssen später darauf verweisen. Sie können usepeerdns hinzufügen, wenn Sie den Peer nach einigen DNS-Serveradressen fragen möchten, die dann an übergeben werden als Umgebungsvariablen mit den Bezeichnungen DNS2 und DNS1. Sie erzwingen auch eine Umgebungsvariable mit dem Namen USEPEERDNS sich auch auf 1 setzen. Wenn Sie lieber Ihre eigenen DNS-Server verwenden möchten und keine, die Ihnen von Ihrem Internetdienstanbieter zugewiesen wurden, können Sie Ihrem Server Leitungen hinzufügen Datei wie:

Diese müssen hier sein, da jedes Mal, wenn Sie den Server neu starten oder eine neue PPPoE-Verbindung herstellen, die Dateien werden überschrieben.

In den meisten Fällen ist Ihre MTU auf etwa 1500 eingestellt, aber die höchste, die Sie erreichen können, liegt bei 1492 oder sogar noch weniger, da Sie die PPPoE-Schnittstelle verwenden. Angenommen, Sie haben die maximale MTU für Ihr ppp0- oder ppp1-System festgelegt, müssen Sie diese verwenden um die IP-up-Datei zu öffnen und dann die Zeile hinzuzufügen / sbin / ifconfig ppp0 man #### ganz unten ersetzen #### mit Ihrem korrekten Wert. Es könnte irgendwo um 1480 sein, wenn Sie sich nicht sicher sind.

In vielen Tutorials werden Sie aufgefordert, die eth0-WAN-Verbindung auf DHCP einzustellen. Aufgrund der PPPoE-Verbindung, hinter der Sie arbeiten, müssen Sie sie jedoch auf manuell einstellen. Verwenden und bearbeiten Sie es so, dass der Codeblock unter # Die WAN-Netzwerkschnittstelle liest auto eth0 und iface eth0 im Handbuch und dann sollte der Codeblock darunter lauten:

# Die LAN-Netzwerkschnittstelle

auto eth1

iface eth1 inet statisch

Adresse 192.168.1.1

Netzmaske 255.255.255.0

Router müssen die Paketweiterleitung aktiviert haben, um als Router zu fungieren und dann entfernen Sie die Octothorpe vor net.ipv4.ip_forward = 1 vor dem Speichern. Sie finden es unter einem Zitat mit der Aufschrift # Kommentar in der nächsten Zeile entfernen, um die Paketweiterleitung für IPv4 zu aktivieren. Sie können jedoch auch die Markierung vor net.ipv6.conf.all.forwarding = 1 entfernen, wenn Sie die Verwendung planen IPv6-Routing, das unter einem PPPoE-System eine Herausforderung sein kann.

Öffnen Sie die iptables-Datei zur Bearbeitung mit dem Befehl und fügen Sie dann diese Zeilen hinzu:

Speichern Sie die Datei und beenden Sie Nano oder einen anderen von Ihnen verwendeten Texteditor, bevor Sie fortfahren. Die iptables bilden die Hauptfirewall für den Linux-Kernel. Es empfiehlt sich daher, diese Tabellen in der richtigen Reihenfolge zu halten, bevor Sie die ISP-Verbindung tatsächlich herstellen.

Sie müssen jetzt die Berechtigungen für die betreffende Datei ändern. Daher möchten Sie möglicherweise sudo -i oder sudo bash verwenden, um eine Root-Eingabeaufforderung zu erhalten. Sobald Sie verwendet haben:

Sobald diese Berechtigungen angewendet wurden, können Sie exit eingeben und die Eingabetaste drücken, um die Eingabeaufforderung mit erhöhten Rechten zu verlassen.

Die nächste Konfigurationsdatei, mit der wir öffnen müssen und Sie werden es genauso bearbeiten. Sie müssen die folgenden Einstellungen hinzufügen und die ersetzen Oktothorpen mit der richtigen IP-Adresse für Ihren Router:

Subnetz ###. ###. ##. # Netzmaske 255.255.255.0 {

Angebot ###.###.##.### ###.###.##.###;

Optionsrouter ###. ###. ##. #;

Option Domain-Name-Server ###. ###. ##. #;

Option Broadcast-Adresse ###. ###. ##. ###;

}}

Speichern und schließen Sie die Datei. Wenn Sie mit einer SD-Karte oder ähnlichem arbeiten, ist dies ein weiterer guter Zeitpunkt, um auch den Synchronisierungsbefehl auszugeben.

Sie müssen verwenden Sudo Nano noch einmal zu öffnen Datei, um Ihre eigenen benutzerdefinierten Regeln einzuschließen. Wir arbeiten immer noch mit einer PPPoE-Verbindung, daher verwenden wir die ppp0-Gerätedatei anstelle der eth0-Standardeinstellung.

Unter einem Codeblock, der mit dem Kommentar „ # Klemmen Sie das MSS auf MTU-Größe, ”Enthält die folgende Zeile:

-A FORWARD -p tcp –tcp-Flags SYN, RST SYN -j TCPMSS –clamp-mss-to-pmtu

Diese Regel ist erforderlich, um zu verhindern, dass Webseiten nur zur Hälfte geladen werden oder eine Zeitüberschreitung auftritt. Stattdessen werden MTU und MSS miteinander verbunden, sodass diese Probleme nicht auftreten. Auf diese Weise kann der Linux-Kernel die richtigen Größen erraten, aber Sie können sie bei Bedarf tatsächlich angeben. Unter einem Codeblock, der mit „ # Geben Sie die MSS-Größe an. 'Sie müssen hinzufügen:

-A FORWARD -p tcp –tcp-Flags SYN, RST SYN -j TCPMSS –set-mss ####

Ersetzen Sie den Abschnitt #### durch den richtigen MSS-Wert. Sie können es mit ein wenig Mathe herausfinden. Subtrahieren Sie die PPPoE-Headergröße von Ihrer MTU und subtrahieren Sie dann den IP-Header und den TCP-Header. Der Unterschied ist die gesamte MSS-Größe.

Möglicherweise müssen Sie die SSH-Dienstregel ändern, um die Option –syn hinzuzufügen, mit der Sie von einem anderen in Ihrem LAN registrierten Computer auf SSH auf diesen Router zugreifen können. Wenn Sie die ICMP-Serviceregel auskommentieren, antwortet Ihr Computer nicht auf Pings. Dies macht Ihren Computer tatsächlich ziemlich verstohlen, obwohl Sie dies nicht als eine Art End-All-Behandlung betrachten sollten, die Ihre Surfgewohnheiten über diesen Router unsichtbar macht. Es wird nicht, aber es ist eine weitere Sicherheitsebene, um Sie zu schützen.

Manchmal stellen die Schnittstellen oder PPPoE-Verbindungen, mit denen Sie arbeiten, beim Starten des Routers nicht sofort eine Verbindung her. Daher möchten Sie möglicherweise einen kurzen Startskript erstellen, um sicherzustellen, dass er beim Starten des Systems ordnungsgemäß funktioniert. Die Gesamtstartzeit wird nur um 8 bis 10 Sekunden verlängert, es lohnt sich also tatsächlich. Bearbeiten Sie die Datei noch einmal mit sudo nano und dann hinzufügen

Schlaf 3

ifup eth0

Schlaf 3

ifup eth1

Schlaf 3

pon Anbieter

Sie müssen den Anbieter durch den Namen einer benutzerdefinierten Datei ersetzen, wenn Sie eine erstellt haben, um die Standardanbieterdatei zu ersetzen. Viele Router benötigen nur eine Ruhezeit von 1 bis 2 Sekunden. Daher sollten Sie damit experimentieren, um die Startleistung zu verbessern. Es sollte sowieso nicht viel Zeit in Anspruch nehmen, überhaupt neu zu starten.

Dies sollte die Befehle pon und ifup ausführen, nachdem das System vollständig gestartet wurde, aber bevor die Anmeldeaufforderungen der tatsächlichen virtuellen Konsole angezeigt werden. Wenn die Verbindung hergestellt ist, geschieht überhaupt nichts. Wenn jedoch eine der Verbindungen nicht ordnungsgemäß funktioniert, stellt dieses Skript sicher, dass sie ordnungsgemäß initialisiert wurde. Der letzte pon-Befehl basiert auf eth0 und eth1. Sie müssen ihn daher immer als letzten Schritt positionieren, da sonst das Skript möglicherweise tatsächlich fehlschlägt.

Sobald Sie den Computer nach all diesen Änderungen neu starten, funktioniert ein voll funktionsfähiger Router unter Ubuntu Server. Möglicherweise möchten Sie gelegentlich verwenden sudo iptables-L Wenn Sie von Zeit zu Zeit ihren Status überprüfen müssen, aber ansonsten funktioniert auch alles, wenn nicht besser als ein handelsüblicher Router. Auf Ihrem neuen Router werden alle anderen erforderlichen Ubuntu-Pakete ausgeführt, Sie sollten jedoch keinen X-Server oder etwas anderes installieren müssen, da das System ohne zusätzliche Benutzeroberflächensoftware ordnungsgemäß funktionieren sollte.

9 Minuten gelesen