Wie installiere ich Ubuntu Server als Router mit PPPoE?
Ubuntu Server ist technisch als CLI-Prompt-Only-Betriebssystem zur Verwendung mit großen, großen Eisenservern konzipiert, aber es gibt keinen Grund, warum es nicht in Routern und Embedded-Systemen funktionieren kann, die das Point-to-Point-Protokoll auch über Ethernet verwalten. Es wird angenommen, dass ein solches Projekt entweder einen kleinen lüfterlosen PC oder eine Routerbox benötigt, die Sie über einen NAND-Flash-Chip modifizieren können. Mehr als wahrscheinlich werden Sie eine anständige Menge an RAM sowie eine Solid-State-Festplatte installieren, um Rauschen sowie bewegliche Teile zu beseitigen. 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 Side-Slots auf Legacy-freier Hardware eingesetzt werden, können auch das Betriebssystem booten. Dies funktioniert, wenn Sie es mit einem PPPoE-System verwenden.
Während Sie vielleicht denken, dass die Verwendung einer solchen Konfiguration ohne eine geeignete elektromechanische Festplatte langsam sein kann, würden Sie theoretisch die Zugriffszeit reduzieren. Ubuntu Server ist so klein, dass es schnell hochläuft. Sobald Sie Ihren Router an Ort und Stelle haben, werden Sie ihn wahrscheinlich nicht wirklich ein- und ausschalten. Unabhängig davon, welche Konfiguration Sie wählen, sollten Sie Ihren Browser auf https://www.ubuntu.com/download/server verweisen, um eine ISO herunterzuladen. Die neueste Version zum Zeitpunkt der Erstellung dieses Dokuments, Ubuntu Server 16.04.1 LTS, wurde nur für die Verwendung mit 64-Bit-Architekturen entwickelt. Die meisten modernen Router und Thin Client-Geräte erfüllen diese Anforderung gut, aber dies könnte ein Problem sein, wenn Sie etwas wirklich Exotisches wie die Verwendung eines Netbooks als Router versuchen.
Konfigurieren von Ubuntu Server als PPPoE-Router
Mehrere große ISP-Netzwerke erfordern weiterhin eine PPPoE-Authentifizierung. Fast alle DSL-Netzwerke verwenden dies, und obwohl es beim Arbeiten mit einer Glasfaserverbindung unnötig ist, verwenden einige von ihnen es tatsächlich auch noch. Netgear-Router bieten eine Anmeldeaufforderung, mit der Sie sich problemlos mit diesen Arten von Netzwerken verbinden können, aber es wird einige Arbeit erfordern, bis ein selbstgebauter Linux-Router richtig mit dieser Art von Technologie verbunden ist.
Wenn Sie nicht bereits in Ihrem Browser sind, dann gehen Sie zu http://releases.ubuntu.com/16.04.1/ . Sie könnten das ISO von dieser Seite heruntergeladen haben, wenn Sie es nicht hatten, aber wenn Sie es haben, scrollen Sie nach unten zu dem Link, der MD5SUMS liest und wählen Sie es aus.
Führen Sie in der CLI-Eingabeaufforderung md5sum auf dem Ubuntu Server ISO aus und stellen Sie sicher, dass sie mit der Nummer neben ubuntu-16.04-desktop-amd64.iso in der Liste übereinstimmt .
Wenn dies der Fall ist, dann besorgen Sie sich einen komplett leeren USB-Stick oder eine SD-Karte und tippen Sie sudo if = ubuntu-16.04-desktop-amd64.iso = / dev / sdLetter bs = 8M und ersetzen Sie die Eingabeaufforderung von = durch den Namen des Gerät in Frage. Sie können sudo fdisk -l verwenden, um alle an Ihr System angeschlossenen Geräte zu finden. Sobald Sie dies getan haben, entfernen Sie das Laufwerk ordnungsgemäß und verbinden Sie es mit dem Router-System. Starten Sie es neu und drücken Sie den gewünschten Schlüssel, um das System vom Wechseldatenträger zu starten. Ubuntu Server wird relativ einfach installiert, basierend auf einer Anzahl textbasierter Ncurses-Eingabeaufforderungen.
Ein Problem bei der Installation auf diese Weise besteht jedoch darin, dass das Wechselmedium erfordert, dass Sie während der Installation mit dem Internet verbunden sind. Wenn Sie eine Box wie diese direkt mit einem Netzwerk verbinden, treten einige Sicherheitsprobleme auf. Schließen Sie es an einen der Netzwerk-Ports Ihres alten Routers an, um Firewall-Dienste zur Verfügung zu stellen, bis Sie es eingerichtet haben. Sobald Sie dies tun, müssen Sie einige Änderungen am GRUB-Bootloader vornehmen. Wenn möglich, trennen Sie Ihren Linux-Router so bald wie möglich von Ihrem vorhandenen Computer, um die Installation offline fortzusetzen. Dies verhindert seltsame DHCP-Probleme, die Sie sonst möglicherweise bei Ihrer bestehenden Verbindung bekommen.
Es ist sehr wahrscheinlich, dass Sie während des Betriebssystem-Konfigurationsprozesses keine zusätzliche Software installieren möchten. GRUB startet automatisch auf einer Standard-Ubuntu Server-Installation, das heißt, Sie sehen keine Debug-Meldungen. Wenn Sie nach dem Booten einen blinkenden Cursor sehen, der nichts anderes enthält, halten Sie Strg, Alt und F1 gedrückt, um zu einer virtuellen Konsole zu gelangen. Melden Sie sich bei Ihrem Konto an und geben Sie ein obwohl Sie auch stattdessen vi verwenden möchten. Suchen Sie nach einer Zeile, die GRUB_CMDLINE_LINUX_DEFAULT = quiet splash enthält, und löschen Sie die Quiet Splash-Wörter in Anführungszeichen. Sie möchten auch eine Zeile bearbeiten, die GRUB_CMDLINE_LINUX = liest , um net.ifnames = 0 biosdevname = 0 in die Anführungszeichen aufzunehmen, um Ihre Netzwerkkarten korrekt zu benennen. Speichern Sie die Datei und führen Sie dann sudo update-grub aus, um Ihren Boot-Loder zu aktualisieren, da sich die grub-Datei wahrscheinlich auf einer UEFI-Partition befindet.
Suchen Sie nach einer Zeile mit der Bezeichnung GRUB_CMDLINE_LINUX_DEFAULT = quiet splash und löschen Sie die Wörter quiet splash in Anführungszeichen. FSAFA
Das ist ein Pirat.
Geben Sie sudo nano ein Öffnen Sie Ihre Schnittstellendatei zur Bearbeitung und ändern Sie dann die Namen der Netzwerkkarten, die Sie dort finden, zurück in den traditionellen Ordner eth0 und eth1, speichern Sie die Datei und beenden Sie sie . Sobald Sie nicht mehr in der Datei sind, können Sie das System neu starten, um sicherzustellen, dass die Änderungen 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 installieren bind9 isc-dhcp-server openssl pppoeconf
Dies könnte einige Zeit dauern und es könnte Sie fragen, ob Sie bereit sind, die Änderungen zu genehmigen. Stell sicher, dass du es sagst. Sobald es alles abgeschlossen hat, können Sie tatsächlich die Verbindung zum Internet trennen und offline fortfahren. Möglicherweise möchten Sie den Synchronisierungsbefehl einige Male verwenden, um sicherzustellen, dass alle Puffer für den Fall, dass etwas Schlimmes passiert, miteinander synchronisiert werden.
Ihr ISP stellt Ihnen einen Benutzernamen und ein Passwort zur Verfügung, die Sie in die Datei chap-secrets eingeben müssen. Art Aber denken Sie daran, dass Sie vi immer noch verwenden können, wenn Sie möchten. Ihr Benutzername und Ihr Passwort müssen angegeben werden. Zum Beispiel werden Sie möglicherweise wollen:
Billy * mypass3
Speichern Sie die Datei und navigieren Sie nun zum In diesem Verzeichnis finden Sie eine Datei namens Provider. Öffne es mit Nano, so wie du es mit den anderen Konfigurationsdateien gemacht hast, oder erstelle ein neues auf die gleiche Weise. Setzen Sie jeden dieser Befehle in eine separate Zeile in der Datei:
noipdefault
defaultroute
ersetztedefaultroute
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 einer normalen 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 dabei relevante Fehlermeldungen 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 ein paar DNS-Serveradressen fragen möchten, die dann an den Peer übergeben werden als Umgebungsvariablen mit der Bezeichnung DNS2 und DNS1. Sie werden auch eine Umgebungsvariable namens USEPEERDNS erzwingen, um sich selbst auf 1 zu setzen. Wenn Sie lieber Ihre eigenen DNS-Server verwenden und nicht die, die Ihnen von Ihrem ISP zugewiesen wurden, können Sie Ihrem Konto weitere Zeilen hinzufügen Datei wie:
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenDiese müssen hier sein, da bei jedem Neustart des Servers oder beim Aufbau einer neuen PPPoE-Verbindung der Dateien werden überschrieben.
In den meisten Fällen ist Ihre MTU auf etwa 1500 eingestellt, aber die höchste ist etwa 1492 oder vielleicht noch weniger, da Sie die PPPoE-Schnittstelle verwenden. Angenommen, Sie haben die maximale MTU für Ihr ppp0- oder ppp1-System ermittelt, müssen Sie verwenden Um die ip-up-Datei zu öffnen, fügen Sie die Zeile / sbin / ifconfig ppp0 mtu #### ganz unten hinzu und ersetzen #### durch Ihren korrekten Wert. Es kann irgendwo um 1480 sein, wenn Sie sich nicht sicher sind.
Viele Tutorials sagen Ihnen, dass Sie die eth0-WAN-Verbindung auf DHCP einstellen müssen, aber Sie müssen sie auf manuell einstellen, da Sie mit der PPPoE-Verbindung arbeiten. Benutzen und bearbeiten Sie es, so dass der Code-Block unter # Die WAN-Netzwerkschnittstelle liest auto eth0 und iface eth0 inet Handbuch und dann der Code-Block darunter sollte lesen:
# Die LAN-Netzwerkschnittstelle
Automatisch eth1
iface eth1 inet statisch
Adresse 192.168.1.1
Netzmaske 255.255.255.0
Router benötigen eine aktivierte Paketweiterleitung, um als Router zu fungieren und entfernen Sie dann das octothorpe vor net.ipv4.ip_forward = 1 vor dem Speichern. Sie finden es unter einem Zitat, das wie folgt lautet: # Entfernen Sie die nächste Zeile, um die Paketweiterleitung für IPv4 zu aktivieren, aber Sie können auch die Markierung vor net.ipv6.conf.all.forwarding = 1 entfernen, wenn Sie sie verwenden möchten IPv6-Routing, das unter einem PPPoE-System eine Herausforderung darstellen kann.
Öffnen Sie die iptables-Datei zur Bearbeitung mit dem befehle und füge dann folgende Zeilen hinzu:
Speichern Sie die Datei und beenden Sie dann nano oder einen anderen Texteditor, den Sie bereits verwendet haben, bevor Sie fortfahren. Die iptables stellen die Hauptfirewall für den Linux-Kernel dar. Es ist also eine gute Idee, diese Tabellen in der richtigen Reihenfolge zu haben, bevor Sie die ISP-Verbindung tatsächlich starten.
Sie müssen nun die Berechtigungen für die fragliche Datei ändern. Daher sollten Sie sudo -i oder sudo bash verwenden, um eine Root-Eingabeaufforderung zu erhalten. Sobald du benutzt hast:
Sobald diese Berechtigungen angewendet wurden, können Sie exit eingeben und die Eingabetaste drücken, um die erweiterte Eingabeaufforderung zu verlassen.
Die nächste Konfigurationsdatei, mit der wir öffnen müssen und du wirst es genau so bearbeiten. Sie müssen die folgenden Einstellungen hinzufügen und die Octothorpes durch die richtige IP-Adresse für Ihren Router ersetzen:
Teilnetz ###. ###. ##. # 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 etwas Ähnlichem arbeiten, ist dies ein weiterer guter Zeitpunkt, um den Synchronisierungsbefehl auszugeben.
Sie müssen sudo nano erneut verwenden, um das Programm zu öffnen Datei, um eigene benutzerdefinierte Regeln einzubeziehen. Wir arbeiten immer noch mit einer PPPoE-Verbindung, daher verwenden wir die ppp0-Gerätedatei anstelle des eth0-Standards.
Unter einem Codeblock, der mit dem Kommentar # Clamp der MSS zu MTU-Größe beginnt , schließen Sie die folgende Zeile ein:
-A VORWÄRTS - p tcp - tcp - Flags SYN, RST SYN - j TCPMSS - Klammer-mss-zu-ptu
Diese Regel ist erforderlich, um zu verhindern, dass Webseiten nur auf halbem Wege oder zeitgesteuert geladen werden. Stattdessen stecken MTU und MSS zusammen, so dass Sie diese Probleme nicht haben. Jetzt kann der Linux-Kernel die richtigen Größen schätzen, aber Sie können sie bei Bedarf auch angeben. Unter einem Code-Block, der mit # MSS-Größe angeben beginnt , müssen Sie Folgendes hinzufügen:
-A VORWÄRTS -p tcp -tcp-Flags SYN, RST SYN -j TCPMSS -set-mss ####
Ersetzen Sie den Abschnitt #### durch den korrekten MSS-Wert. Sie können es mit einem einfachen bisschen 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-Serviceregel ändern, um die Option -syn hinzuzufügen, mit der Sie von einem anderen Computer, der in Ihrem LAN registriert ist, auf SSH zugreifen können. Wenn Sie die ICMP-Serviceregel auskommentieren, reagiert Ihr Computer nicht auf Pings. Dies wird Ihren Computer ziemlich verstohlen machen, obwohl Sie dies nicht als eine Art Endbehandlung betrachten sollten, die Ihre Surfgewohnheiten durch diesen Router unsichtbar macht. Es wird nicht, aber es ist eine weitere Sicherheitsstufe, um Sie zu schützen.
Manchmal stellen die Schnittstellen oder PPPoE-Verbindungen, mit denen Sie arbeiten, beim Booten des Routers nicht sofort eine Verbindung her. Daher sollten Sie möglicherweise einen kurzen Start-Scrip erstellen, um sicherzustellen, dass er beim Hochfahren des Systems ordnungsgemäß funktioniert. Es fügt nur ungefähr 8-10 Sekunden zur gesamten Startzeit hinzu, also ist es es wirklich wert. Bearbeiten Sie die Datei mit Sudo Nano noch einmal, und fügen Sie dann hinzu
Schlaf 3
ifup eth0
Schlaf 3
ifup eth1
Schlaf 3
Anbieter
Sie müssen Provider 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-2 Sekunden. Sie sollten also mit dem System experimentieren, um die Boot-Leistung zu verbessern. Es sollte sowieso nicht viel Zeit brauchen, überhaupt neu zu starten.
Dies sollte die Befehle pon und ifup ausführen, nachdem das System vollständig gebootet wurde, aber bevor die Anmeldeaufforderungen der tatsächlichen virtuellen Konsole angezeigt werden. Wenn die Verbindung besteht, passiert überhaupt nichts, aber wenn eine der Verbindungen nicht richtig funktioniert, stellt dieses Skript sicher, dass es korrekt initialisiert ist. Der letzte pon-Befehl beruht auf eth0 und eth1, Sie müssen ihn also immer als letzten Schritt positionieren, sonst könnte das Skript tatsächlich fehlschlagen.
Sobald Sie den Computer neu starten, nachdem Sie alle diese Änderungen vorgenommen haben, haben Sie einen voll funktionsfähigen Router, der auf Ubuntu Server arbeitet. Vielleicht möchten Sie gelegentlich sudo iptables-L verwenden, wenn Sie von Zeit zu Zeit ihren Status überprüfen müssen, aber ansonsten wird alles genauso gut funktionieren, wenn nicht besser als ein kommerziell hergestellter Router. Ihr neuer Router wird alle anderen erforderlichen Ubuntu-Pakete ausführen, aber Sie sollten keinen X-Server oder etwas anderes installieren müssen, da das System ohne zusätzliche Benutzeroberflächensoftware korrekt funktionieren sollte.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken