
Ich versuche, in meinem Heim-LAN kostengünstig eine Entwicklungsumgebung einzurichten. Ich habe drei PCs mit etwas zusätzlichem RAM gekauft, die als „Server“ fungieren sollen, und plane, zwischen diesen drei „Servern“ und meinem Entwicklungscomputer (Laptop) nur meinen Netgear-Router (drahtlos) zu verwenden.
Da es sich hierbei nicht um echte Server handelt, möchte ich sie nicht rund um die Uhr eingeschaltet und laufen lassen, da sie wahrscheinlich ziemlich schnell kaputtgehen würden und ich einfach nicht das Budget habe, um ständig Teile auszutauschen. Eine große Einschränkung ist also, dass ich sie praktisch täglich ein- und ausschalten können muss. Hinzu kommt, dass es möglicherweise Entwicklungsphasen gibt, in denen ich ein paar Tage lang programmiere, sie ausschalte, um Strom/Hardware zu sparen, und dann erst am Wochenende wieder zum Projekt zurückkehren kann. Ich erwähne dies nur für den Fall, dass mein Router eine Art Cache mit einer expliziten TTL usw. hat.
Soweit ich die Netzwerktechnik verstehe, weist der Router diesen Maschinen jedes Mal, wenn ich sie einschalte, eine neue IP zu. Das wird die konsistente Entwicklung für mich zu einem Albtraum machen, da sowohl meine App als auch meine Buildscripts während ihres gesamten Lebenszyklus auf jeden der drei Server verweisen müssen. Ein Server wird beispielsweise mein Apache Ivy- und Subversion-Repository sein, also muss mein Ant-Buildscript darauf verweisen http://<build-server-ip>/svn/my-app/trunk
usw. Wenn <build-server-ip>
sich das ständig ändert, wenn ich den Server neu starte, wird das die Entwicklung sehr ruckelig und mühsam machen.
Ich frage mich, ob diese sogenannten "statischen Routen" (oder ähnliche) mein Problem lösen können. Also frage ich: Gibt es eine Möglichkeit,Router-Magieund jedem Server irgendwie eine statische, dedizierte IP-Adresse zuweisen, unabhängig davon, wie oft ich ihn ein- und ausschalte?
Besonderheiten:
- Mein Router: Netgear WGR614v7
- Meine Server (alle 3 identisch): Acer-Desktop mit Ubuntu Server 12.04
Antwort1
Die „Router-Magie“, von der Sie sprechen, heißt „Reservierungen“ – damit können Sie dem auf dem Gerät laufenden DHCP-Server im Grunde sagen, dass er einer bestimmten MAC-Adresse immer eine bestimmte IP-Adresse zuweisen soll. Ich bin ziemlich sicher, dass Ihr Router über diese Funktion verfügt.
@RedGrittyBrick hat Recht, aber es besteht immer eine kleine Chance, dass sich etwas ändert oder vermasselt wird (d. h. Sie müssen den Router zurücksetzen, und da es sich um einen Router auf Verbraucherebene handelt, werden Sie das irgendwann tun). Wenn Sie also 100 % zuverlässig wissen möchten, dass die IP-Adresse eines bestimmten Computers bekannt ist, richten Sie entweder DHCP-Reservierungen ein oder weisen Sie die IPs manuell zu. Im „echten Leben“ werden Server normalerweise mit statischen IP-Adressen eingerichtet und erhalten keine Konfigurationsinformationen über DHCP.
Die Zuweisung einer IP auf dem Server führt NICHT dazu, dass der Server anderen Rechnern diese Zuweisung mitteilt. Sie müssen die Einrichtung manuell dokumentieren.
„Statische Routen“ teilen Ihren Rechnern oder Routern mit, welcher bestimmte „weiter unten“ gelegene Router den Verkehr an eine bestimmte Gruppe von Zielen weiterleitet. Dies hat nichts mit der Zuweisung von IP-Adressen zu tun.
Antwort2
Dynamische Konfiguration
Im Allgemeinen geben Computer, die DHCP-Leases erneuern, die zuvor verwendete Adresse an und es ist wahrscheinlich, dass sie neu zugewiesen wird.
Eine Änderung der IP-Adresse sollte kein Problem darstellen, solange Sie DNS-Namen verwenden und der DHCP-Server als Ihr lokaler DNS-Server verwendet wird.
Normalerweise können Sie die meisten Router so konfigurieren, dass sie DHCP-Reservierungen vornehmen, sodass jedem Gerät immer die gleiche IP-Adresse zugewiesen wird (basierend auf der spezifischen MAC-Adresse, die in den Ethernet-Adapter eingebrannt ist).
Statische Konfiguration
Für drei oder vier PCs lässt sich jedoch eine statische Konfiguration problemlos handhaben.
Bei einer großen Anzahl von Computern kann es mühsam sein, herumzugehen, sich bei jedem einzelnen anzumelden, statische IP-Adresse, Subnetzmaske, Standardgateway, DNS-Server oder lokale Hosttabellen usw. zu konfigurieren. Um den Überblick zu behalten, müssen Sie alles sorgfältig dokumentieren, Listen mit MAC-Adressen führen und auf versehentliche Duplikate von IP-Adressen achten. Außerdem müssen Sie wissen, wie Sie Fehlkonfigurationen erkennen und diagnostizieren usw. Bei nur vier Computern ist das kein Problem.
Antwort3
Es gibt zwei grundlegende Methoden, um einer Maschine eine IP-Adresse zuzuweisen. Eine ist statisch, die andere dynamisch. Bei einer statischen Konfiguration setze ich mich an die Maschine und konfiguriere eine statische, sich nicht ändernde IP-Adresse (die auch bei Neustarts verwendet wird), eine Subnetzmaske (wie viele IP-Adressen gibt es in DIESEM Netzwerk) und ein Gateway (wohin gehe ich, um dieses Netzwerk zu verlassen). Bei einer dynamischen Konfiguration (DHCP) konfiguriere ich den Router mit einem zusammenhängenden Pool von IP-Adressen und einem Gateway und lasse ihn diese verteilen.
Es gibt eine dritte Hybridoption. Ich konfiguriere den Pool, konfiguriere aber jedes System so, dass es eine IP-Adresse hat. Dies wird in einer DHCP-Konfiguration als statische IP bezeichnet. Schwierig, oder?
Der Kürze und Konsistenz halber würde ich eine statische IP-Einrichtung empfehlen. Sie haben die Garantie, dass sich IP-Adressen nicht ändern können und werden, und wenn Sie einen Domänencontroller (Active Directory oder Open Directory) einrichten und einen DNS-Server erstellen, wird es funktionieren. Sie müssen Ihren Router mit den folgenden Informationen konfigurieren:
Ein statisches Netzwerk: Sie haben das Limit Ihres Netzwerks von 5 (und wenn Sie einen NAS-Speicher oder einen Drucker hinzufügen) auf < 10 festgelegt. Wie wäre es mit bis zu 254 Hosts (einzelne IP-Adressen), falls Ihnen etwas einfällt, das Sie ausprobieren möchten?
192.168.0.0 bis 192.168.0.255 (192.168.0.0 ist die Netzwerkadresse und 192.168.0.255 die Broadcast-Adresse, diese werden später erklärt).
Um dem Router mitzuteilen, dass wir diesen Adressbereich verwenden möchten, muss er so konfiguriert werden, dass er eine Netzwerk-IP-Adresse von 192.168.0.0 und eine Subnetzmaske von 255.255.255.0 verwendet. Die letzte 0 gibt Ihnen einen Bereich von 0 bis 255 für die Netzwerk-IP-Adresse. Gültige IP-Adressen IN Ihrem Netzwerk sind also 192.168.0.0 bis 192.168.0.255 (die ersten drei „Oktette“ oder 192 168 und 0 ändern sich nicht, nur das letzte). Sie haben also insgesamt 2^8 IP-Adressen oder 256 Adressen (denken Sie daran, dass zwei davon bereits die .0 und .255 zugewiesen sind), also bleiben Ihnen tatsächlich 254 übrig.
Sie können alle übrigen verwenden, Sie müssen sie nicht in der Reihenfolge verwenden. Ich empfehle, bei 192.168.0.1 zu beginnen und aufzuhören, wenn jedes System eine IP-Adresse hat. Weisen Sie der Einfachheit halber in Ihrer Konfiguration dem Router 192.168.0.1, Server A 192.168.0.2, Server B 192.168.0.3, Server C 192.168.0.4 und Ihrer Entwicklungsmaschine 192.168.0.5 zu. Ja, Sie könnten die Reihenfolge umkehren oder nur gerade Zahlen verwenden oder sie alle zu Zehnerpotenzen machen (.10, .20, .30, .40, .50), wenn Sie möchten. Ich mache es einfach.
Nachdem Sie nun Ihr Netzwerkdesign haben, müssen Sie auf jedem Gerät Folgendes konfigurieren:
IP Adresse:
Subnetzmaske:255.255.255.0
Gateway: Für alles außer dem Router ist dies die IP-Adresse des Routers oder 192.168.0.1 (für den Router ist es die IP-Adresse Ihres ISPs). Stellen Sie sich dies als eine statische Route zwischen Ihrem Netzwerk und dem ISP vor (oder dem Netzwerk, mit dem Sie es verbinden).
Einige Vorteile dieses Systems. Durch die Nichtvergabe von DHCP-Adressen erhält ein neues Gerät, das an Ihr Netzwerk angeschlossen wird, nicht einfach standardmäßig eine IP-Adresse. Diese muss konfiguriert werden. Das bedeutet, dass es für andere etwas schwieriger ist, sich unbemerkt an Ihr Netzwerk anzuschließen.
Eine weitere nette Sache: Wenn Sie einen VPN-Server auf der Ubuntu-Box konfigurieren, können Sie eine Remote-Verbindung herstellen. Anweisungen dazu werden hier nicht bereitgestellt.
Außerdem müssen Sie sich nicht um Dinge wie MAC-Adressen kümmern, sondern nur um IP-Adressen.
Mit all dem sollten Sie ein Netzwerk haben. Wenn Sie wissen möchten, wie Sie jede einzelne Box konfigurieren, wird Ihnen Google dabei sicher helfen. Denken Sie daran, dass dies nur eine grundlegende Netzwerkkonfiguration ist, die ich Ihnen gezeigt habe. Kein Schnickschnack, auf diese Weise ist es einfach zu konfigurieren, Fehler zu beheben und abzusichern, da Sie mit weniger Variablen arbeiten müssen. Denken Sie daran, dass Sie bei dieser Konfiguration die IP-Adressen für jedes Gerät fest codiert haben. Der Router leitet nur den Datenverkehr weiter. Haben Sie Fragen?
Oh, und um Ihre Frage zu beantworten: Ja, statische Routen funktionieren auch über Router-Neustarts hinweg, wenn sie auf ein nichtflüchtiges Speichergerät geschrieben werden, aber das ist eine andere Frage als die, die Sie offenbar stellen wollten.
Antwort4
Um auf einem Ubuntu-Server eine statische IP-Adresse einzurichten, müssen Sie die /etc/network/interfaces
Datei so bearbeiten, dass sie wie folgt aussieht (erstellen Sie die Buchstaben address
, netmask
, und gateway
natürlich zu Ihren eigenen).
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
Zitiert ausHier:
Um Ihr System für die Verwendung einer statischen IP-Adresszuweisung zu konfigurieren, fügen Sie der Anweisung „inet address family“ für die entsprechende Schnittstelle in der Datei /etc/network/interfaces die statische Methode hinzu. Im folgenden Beispiel wird davon ausgegangen, dass Sie Ihre erste Ethernet-Schnittstelle mit der Bezeichnung eth0 konfigurieren. Ändern Sie die Werte für Adresse, Netzmaske und Gateway, um sie den Anforderungen Ihres Netzwerks anzupassen.