# Ubuntu Server Netzwerk

<div drawio-diagram="120"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2024-10/drawing-3-1729257996.png" alt=""/></div>

<div drawio-diagram="101"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2024-01/drawing-3-1706037844.png" alt=""/></div>

<p class="callout info">Was muss alles erledigt werden</p>

<p class="callout info">- [DHCP-Server](#bkmrk-installation-dhcp-se)  
- [ip-Forwarding](#bkmrk-ip-forwarding)  
- [NAT aktivieren](#bkmrk-nat-aktivieren)</p>

[Wiki](https://wiki.ubuntuusers.de/Netzwerk/)

[Routing 2 Netze](https://administrator.de/knowledge/routing-2-ip-netzen-windows-linux-router-56073.html)

### Netzwerk

<div class="page-content" id="bkmrk-fritz.box-10.1.1.1-u"><div class="page-content"><div class="page-content"><div class="page-content"><div class="page-content"><div dir="auto"><table border="1" id="bkmrk-fritz.box-10.1.1.1-u-1" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td style="border-width: 1px;">Fritz.Box</td><td style="border-width: 1px;">10.1.1.1</td></tr><tr><td style="border-width: 1px;">Ubuntu Server</td><td style="border-width: 1px;">10.1.1.160

10.10.1.254

</td></tr><tr><td style="border-width: 1px;">Client </td><td style="border-width: 1px;">10.10.1.51

</td></tr></tbody></table>

</div></div></div></div></div></div><div drawio-diagram="92"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2024-01/drawing-3-1704236921.png" alt=""/></div>

<details id="bkmrk-funkionierend-geilfu"><summary>Funkionierend Geilfuss</summary>

<div drawio-diagram="89"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2023-12/drawing-3-1702360220.png" alt=""/></div>

</details><details id="bkmrk-schema-2"><summary>Schema 2</summary>

<div drawio-diagram="79"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2023-11/drawing-3-1701208832.png" alt=""/></div>

</details><details id="bkmrk-schema"><summary>Schema</summary>

<div drawio-diagram="80"><img src="https://wiki.hhml.selfhost.co/uploads/images/drawio/2023-11/drawing-3-1701256510.png" alt=""/></div>

</details><div class="page-content" id="bkmrk--11"><div class="page-content"><div dir="auto">  
</div></div></div>### Netzwerkeinstellungen Ubuntu Server

Die YAML-Dateien, die von netplan genutzt werden, befinden sich im Verzeichnis

```plain
/etc/netplan
```

Nach der Installation von Ubuntu Server existiert dort bereits die YAML-Datei “50-cloud-init.yaml”, die indes nur wenige Vorgaben enthält.

#### Statische IP-Adresse

In diesem Beispiel soll für die Netzwerkkarte (eth0) die statische IP-Adresse “192.168.178.2” genutzt werden. Die Gateway-Adresse soll “192.168.178.1” lauten, und als Nameserver soll ebenfalls diese Adresse konfiguriert werden. Dazu kommt noch der Google-Server “8.8.8.8”. Die YAML-Datei “50-cloud-init.yaml” würde dann folgendermaßen aussehen:

Die Datei zum bearbeiten der Netzwerkkonfiguration befindet sich hier: `cd /etc/netplan/xxx.yaml` und kann mit `sudo nano` bearbeitet werden

```yaml
network:
version: 2
renderer: networkd
ethernets:
    eth0:
        dhcp4: false
        dhcp6: false
        optional: true
        addresses: [192.168.178.2/24]
        gateway4: 192.168.178.1
        nameservers:
            addresses: [192.168.178.1,8.8.8.8]
```

Damit die Konfiguration nun aufgrund dieser Einstellungen durchgeführt wird, ist die Anweisung

```bash
$ sudo netplan apply
```

auszuführen. Falls Fehlermeldungen erscheinen sollten, kann die Anweisung

```bash
$ sudo netplan --debug apply
```

weiterhelfen.

#### DHCP

Für die Einrichtung einer IP-Adressvergabe per DHCP könnte die YAML-Datei wie folgt aussehen:

```yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true
```

Damit diese Einstellungen übernommen werden, muss auch hier die Anweisung

```bash
$ sudo netplan apply
```

### Installation DHCP-Server

At a terminal prompt, enter the following command to install dhcpd:

```
sudo apt install isc-dhcp-server
```

NOTE: dhcpd’s messages are being sent to syslog. Look there for diagnostics messages.

#### Configuration

You will probably need to change the default configuration by editing `/etc/dhcp/dhcpd.conf` to suit your needs and particular configuration.

<p class="callout warning">Der nächste Punkt führt zu Problemen mit DHCP</p>

Als erste Änderung sollte im oberen Bereich der Datei das Kommentarzeichen vor authoritative; entfernt werden. Hierdurch wird der Server zum zentralen DHCP-Server, wodurch Probleme mit anderen DHCP-Servern ausgeschlossen werden.

```
authoritative;
```

#### DHCP-Server Konfiguration

Most commonly, what you want to do is assign an IP address randomly. This can be done with settings as follows:

```yaml
# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.150 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
 option domain-name "mydomain.example";
}
```

This will result in the DHCP server giving clients an IP address from the range 192.168.1.150-192.168.1.200. It will lease an IP address for 600 seconds if the client doesn’t ask for a specific time frame. Otherwise the maximum (allowed) lease will be 7200 seconds. The server will also “advise” the client to use 192.168.1.254 as the default-gateway and 192.168.1.1 and 192.168.1.2 as its DNS servers.

You also may need to edit `/etc/default/isc-dhcp-server` to specify the interfaces dhcpd should listen to.

```
INTERFACESv4="eth4"
```

After changing the config files you have to restart the dhcpd service:

```
sudo systemctl restart isc-dhcp-server.service
```

### ip-Forwarding

Damit Ubuntu Server Daten weiterleitet muss ip-forwarding aktiviert werden. Dazu:

```bash
sudo nano /etc/sysctl.conf
```

und den Eintrag einkommentieren:

```
net.ipv4.ip_forward=1
```

Aktivieren Sie die Änderungen mit:

```
sudo sysctl -p
```

#### Statische Route Ubuntu Server

```
sudo ip route add Zielnetzwerk-adresse/Subnetzmaske via Gateway-Adresse
```

Wenn man eine Route aktualisieren will verwendet man `ip route replace`

Außerdem wird die netplan config yaml angepasst.

```
cd /etc/netplan
nano xxx.yaml
```

  
Die Einstellung gehört auf die LAN Seite (Ausgehender Netzwerkadapter)

```yaml
network:
  version: 2
  ethernets:
    ens19:
      routes:
        - to: <zielnetzwerk>
          via: <gateway>
```

Um die Änderung zu aktivieren:

`sudo netplan apply`

### NAT Aktivieren

```
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
```

Damit die iptables dauerhauft gespeichert werden muss iptables-persistent installiert werden

```
apt install iptables-persistent
```

Wenn Änderungen vorgenommen werden können diese gespeichert werden mit:

```
iptables-save > /etc/iptables/rules.v4
```

#### Fritzbox konfigurieren

<p class="callout danger">Nicht vergessen</p>

Der Router muss eine Statische Route entgetragen werden.

Unter Netzwerk &gt; Erweiterte Einstellungen &gt; Statische Route

<table border="1" id="bkmrk-netzwerk-ip-adresse-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>Netzwerk</td><td>IP-Adresse des dahinterligenden Netzwerkes  
10.1.1.0</td></tr><tr><td>Subnetzmaske</td><td>255.255.255.0</td></tr><tr><td>Gateway</td><td>Ubuntu Server Adresse  
192.168.1.172</td></tr></tbody></table>