Kapitel 21
IN DIESEM KAPITEL
Im Kapitel 20 wird ein virtueller Router für das virtuelle Labornetzwerk vorgestellt. Damit ist es möglich, ein virtuelles lokales Netzwerk in einem PC zu erstellen, das zwar Zugang zum Internet hat, aber vom lokalen Netzwerk abgetrennt ist. So können keine Schäden am Netzwerk entstehen und es ist auch nicht möglich, die Server von außen zu erreichen. In diesem Kapitel soll nun ein Server erstellt werden, der im internen Netzwerk arbeitet.
Der Server soll wiederum ein Linux-Server sein. Die meisten Server kommen prima ohne grafische Oberfläche aus, was natürlich extrem ressourcenschonend ist. Für solche Systeme ohne grafische Oberflächen bieten sich Debian oder ein Ubuntu-Server besonders an.
Sie können aber auch einen sparsamen Desktop wie beispielsweise MATE verwenden. Allein die Möglichkeit, mehrere Terminals im Fenster nebeneinander zu haben, kann bei der Wartung, beim Testen und bei der Installation hilfreich sein.
Das Erzeugen einer virtuellen Linux-Maschine wurde bereits in Kapitel 19 und in Kapitel 20 beschrieben. Darum muss das in diesem Kapitel nicht wiederholt werden.
Der Server hat genau wie ein normaler Client nur einen Netzwerkadapter. Damit der Server im virtuellen Netzwerk arbeitet, müssen die Netzwerkeinstellungen in VirtualBox umgestellt werden. Dazu klicken Sie die Server-VM in VirtualBox mit der rechten Maustaste an, wählen ÄNDERN und suchen nach NETZWERK.
Ab diesem Zeitpunkt wird der Server nur noch problemlos booten, wenn zuvor die virtuelle Router-Maschine gestartet wurde. Der Hintergrund ist, dass der Server ansonsten keinen DHCP-Server findet und sich nur schwer damit abfindet.
Nach dem Start des Servers überprüfen Sie den Status.
ip a
. Ansonsten ist die DHCP-Konfiguration des Routers defekt.www.willemer.de
klappen. Ansonsten geht es dem DNS auf dem Router nicht gut.Genau wie ein Router sollte auch ein Server möglichst eine gleichbleibende IP-Adresse haben.
Die feste Adresse kann über eine statische Adresse erfolgen, die im Server selbst festgelegt wird. Wie schon in Kapitel 20 beschrieben, verwendet Debian dazu die Deklaration in /etc/network, Ubuntu und Linux Mint verwenden /etc/netplan. Im Gegensatz zum Router benötigt der Server allerdings noch Gateway und DNS-Server, falls er mal auf das Internet zugreifen will.
auto lo
iface lo inet loopback
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.1
Sie starten die Netzwerkkonfiguration durch den folgenden Befehl neu:
# systemctl restart networking
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.1.50/24
nameservers:
addresses: [192.168.1.1]
routes:
- to: default
via: 192.168.1.1
Nach dieser Eingabe kann die Konfiguration aktiv geschaltet werden.
# netplan apply
Ein erneuter Aufruf von ip a
sollte enp0s3 nun die Adresse 192.168.1.50 anzeigen.
Wenn nun jeder Server seine eigene Adresse festlegt, erfolgt dies außerhalb der Adressvergabe durch den DHCP-Server, und so etwas ist niemals gut. Es hat vor allem den Nachteil, dass dieser Server auf die IP-Adresse auch dann festgelegt ist, wenn er in ein anderes Umfeld umgesetzt werden soll. Es wäre besser, die IP-Adresse würde im Router in der DHCP-Konfiguration festgelegt, in der bereits die IP-Adressvergabe für das lokale Netzwerk erfolgt.
Dazu wird im DHCP-Server eingetragen, welche Hardware-Adresse der Netzwerkadapter des Servers hat. Immer wenn dieser Netzwerkadapter nach einer IP-Adresse fragt, sorgt der DHCP-Server dafür, dass er immer wieder dieselbe IP-Adresse erhält.
Dazu benötigen Sie natürlich zunächst die Hardware-Adresse, die Sie aus der Ausgabe des Befehls ip a
unter link
oder ether
erfahren.
# ip a
...
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
link/ether 08:00:27:0e:f8:91 brd ff:ff:ff:ff:ff:ff
Hier ist es die Adresse 08:00:27:0e:f8:91
. Diese muss auf dem Router in der Datei /etc/dhcp/dhcpd.conf für einen Host eingetragen werden, hier unter dem Namen meinserver
. Die IP-Adresse wird auf 192.168.1.50 festgelegt.
host meinserver {
hardware ethernet 08:00:27:0e:f8:91;
fixed-address 192.168.1.50;
}
Starten Sie nun den DHCP-Server auf dem Router, damit er die Konfiguration einliest.
# systemctl start isc-dhcp-server
Nun müssen Sie dem Server entweder das virtuelle Netzwerkkabel abziehen und wieder einstecken oder ihn neu starten. Anschließend sollte er auf der Adresse 192.168.1.50 stehen.
# ip a
...
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
link/ether 08:00:27:0e:f8:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.2.255 scope global ...
Der DNS-Server im Router sorgt derzeit nur dafür, dass die Computer im lokalen Netzwerk an den DNS des Providers kommen. Aber er kann darüber hinaus auch im lokalen Netzwerk Namen festlegen. Gerade bei einem Server ist es ja sinnvoll, dass er einen Namen trägt und nicht nur über seine IP-Adresse bekannt ist.
Wenn Sie sich die Beschreibung des DNS-Servers in Kapitel 8 ansehen, wissen Sie, dass Sie zwei neue Zonen einrichten müssen. Die eine Zone bildet den Namen auf die Nummer ab und die andere die Nummer auf den Namen. Zonen werden in der Datei /etc/bind/named.conf.local eingetragen.
// named.conf.local
zone "willemer.edu" {
type master;
file "/etc/bind/db.willemer.edu";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1";
};
Für jede der beiden Zonen muss also eine Datei angelegt werden. Mit der Datei db.willemer.edu geht es los. Sie legt für jeden Namen eine Nummer fest. Entscheidend ist die letzte Zeile.
; db.willemer.edu
$TTL 86400
@ IN SOA admin.willemer.edu. root.localhost. (
123 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS localhost.
server IN A 192.168.1.50
Somit wird jedes Mal, wenn der Name »server« im lokalen Netzwerk benutzt wird, die IP-Adresse 192.168.1.50 verwendet.
In manchen Fällen wird auch die Rückmeldung benötigt, also welchen Namen der Host mit der IP-Adresse 192.168.1.50 trägt. Dies wird in der Datei db.192.168.1 festgelegt.
; db.192.168.1
$TTL 604800
@ IN SOA admin.willemer.edu. root.localhost. (
14 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
50 IN PTR server.willemer.edu.
Der Netzwerkanteil der IP-Adresse ergibt sich aus der Zonendefinition in der Datei named.conf.local. Hier in der Datei db.192.168.1 wird nur noch der Hostanteil, die 50 auf den FQHN (fully qualified host name) server.willemer.edu
, abgebildet.
Damit der DNS-Server diese Einträge auch zur Kenntnis nimmt, ist ein Neustart des DNS-Servers erforderlich:
# systemctl restart bind9