Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

linux:linux_zum_router_konfigurieren

Linux zum Router konfigurieren

Voraussetzungen

Ein Computersystem mit zwei Netzwerkschnittstellen und einem installierten Ubuntu Server 18.04 LTS. Eine Netzwerkkarte muss mit dem Internet verbinden sein, die andere mit dem lokalen Netzwerk.

Hinweis: Da man im Zuge der Konfiguration die Linux-Firewall aktiviert, sollte man die Konfiguration nicht per SSH durchführen.

Konfiguration der Netzwerkkarten

Interface mit Internetzugriff: auf DHCP belassen (oder die vom Provider angegebenen Einstellungen übernehmen)

Interface mit LAN-Zugriff: Statische IP aus dem Subnetz, das für das LAN verwendet werden soll. In Ubuntu 18.04 LTS geschieht die Konfiguration der Netzwerkadapter mit Hilfe von Netplan

Die geänderte Netzwerkkonfiguration wird mit folgenden Befehlen gespeichert und angewendet:

sudo netplan generate
sudo netplan apply

DHCP-Server aufsetzen

Zur Verteilung der Netzwerkeinstellungen installiert man einen DHCP-Server. Bei Ubuntu 18.04 LTS habe ich diesen genommen:

sudo apt-get install isc-dhcp-server

Als erstes gibt man in der Datei /etc/default/isc-dhcp-server an, auf welchen Interfaces das DHCP Anfragen beantworten soll (Option INTERFACESv4)

In der dhcpd.conf definiert man die zu verteilenden Einstellungen:

option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers **IPAdresse des Servers hier eintragen**;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;

subnet 172.16.0.0 netmask 255.255.0.0 {
     range 172.16.10.0 172.16.99.255;
     option subnet-mask 255.255.0.0;
     option broadcast-address 172.16.255.255;
}

Alternativ einzelnen Hosts feste IP-Adressen zuteilen:

host wiki {
                hardware ethernet 00:00:0e:d2:da:be;
                fixed-address 192.168.2.5;
                option host-name "wiki";
}

Zuletzt DHCP aktivieren und als selbststartenden Serverdienst registrieren:

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Firewall

Firewall aktivieren:

sudo ufw enable

Weiterleitung von IP-Paketen zwischen den Interfaces erlauben: /etc/ufw/sysctl.conf file:

net/ipv4/ip_forward=1

Die Firewall wird mit Hilfe von iptables-Einstellungen konfiguriert. Sollen diese nach einem Neustart wieder angewendet werden, müssen diese beim Start des Servers über ein Script ausgeführt werden. Das geht beispielsweise durch das Anlegen der rc.local

sudo nano /etc/rc.local

In diesem Script ist eth0 die WAN-Schnittstelle und eth1 die LAN-Schnittstelle. Bitte entsprechend den Begebenheiten anpassen.

#!/bin/bash

# Standard-Policy: Alle eingehenden Packete verwerfen
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Eingehende Packete von Localhost und vom LAN akzeptieren
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT

# Eingehende Packete von WAN akzeptieren, wenn der Router die Verbindung geöffnet hat
iptables -A INPUT -i eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# LAN-Packete zur WAN-Schnittstelle weiterleiten
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

# WAN-Packete zum LAN weiterleiten, wenn die Verbindung vom Router geöffnet wurde
iptables -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Ausgehenden Traffic per NAT maskieren
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# rc.local mus mit exit 0 enden
exit 0

Die rc.local muss mit

sudo chmod 755 /etc/rc.local

ausführbar gemacht werden.

Quelle

Weitere Infos bzgl. iptables

linux/linux_zum_router_konfigurieren.txt · Zuletzt geändert: 2019/11/01 13:57 von ronny