Ubuntu - Routing mit 2 Netzwerkkarten?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Grobe Anleitung, die Details sind nämlich mitunter sehr distributionsspezifisch:

Da ens192 Zugriff aufs internet hat, gehe ich davon aus, daß hier bereits eine IP etc. konfiguriert ist.

Auf ens160 wird ein dhcp server gebunden, dieser versorgt ausschließlich das lokale private Netz.

Es wird packet forwarding (also Routing) aktiviert. (sysctl !)

Die Sache wäre grundlegend fertig, jetzt kommen aber die ganzen abers:

Muß eine NAT stattfinden, muß diese natürlich eigerichtet werden - Am einfachsten via iptables mit masquerading, Anleitungen gibt es zu Hauf.

Es wäre erstmal genau zu klären, welche Rolle die Kiste eigentlich übernehmen soll und welche Dienste/Funktionen welches Gerät übernimmt.

gabrixl 
Fragesteller
 23.01.2018, 06:58

Hei

Das forwarding hab ich aktivieret.

Wegen den Geräten: Momentan arbeite ich mit zwei Maschinen, die eine Funktioniert als Server, welcher das Private Netzwerk hostet (DHCP). Die andere dient lediglich als Client, um das private Netz zu testen.

Das private Netz soll Internetzugriff erhalten. Der DHCP hat zwei Netzwerkadapter, auf dem einen (ens192) hängt er am Internet und der andere (ens160) ist für das private Netz. Er soll nun die Anfragen die nicht ins private Netz passen, an den Server weiterleiten und dieser soll dann den Internetzugriff ermöglichen.

Das Problem ist, ich weiss nicht wo ich was wie Konfigurieren soll, um mein Wunsch umzusetzen.

0
KarlRanseierIII  23.01.2018, 15:41
@gabrixl

Prinzipiell reicht dafür eigentlich, daß Forwarding aktiviert ist, damit leitet er die Pakete weiter.

Das Problem ist jetzt natürlich was mit den Paketen mit privaten Adressen eigentlich passieren soll. Wenn Dein Server die NAT machen muß, dann mußt Du die iptables rules eben einrichten (Das wäre dann der Fall, wenn auf ens192 eine öffentliche WAN IP vorliegt). Liegt ens192 noch im privaten Adressbereich, dann reicht das Forwarding, dann wird die NAT eben an andere Stelle gemacht.

Deswegen sagte ich ja, es kommt auf die genaue Konstellation an. Ist denn der Server mit ens192 direkt ans internet angeschlossen (mit welcher Technik) und hat dort eine öffentliche IP, oder hast Du gar den PPPoE-Endpunkt (bei DSL) auf Deinem Server liegen, oder ...

0
gabrixl 
Fragesteller
 22.01.2018, 14:50

Danke für die Links

https://wiki.ubuntuusers.de/Internetverbindungsfreigabe/#LAN-auf-LAN-2

Klingt nicht schlecht.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
broadcast 192.168.3.255

## vorhandene Regeln und Ketten zuerst löschen
up /sbin/iptables -F
 up /sbin/iptables -X
  up /sbin/iptables -t nat -F

## Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren
up /sbin/iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
 up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  up /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
   up /sbin/sysctl -w net.ipv4.ip_forward=1 

Ich hab jetzt aber leider keine Ahnung wie ich das Konfigurieren muss...

eth0 ist im obigen Beispiel das Interface für das private Netz...?

Dementsprechend ist eth1 das Internet?

0
flaglich  22.01.2018, 17:08
@gabrixl

Weiß man nich. Wennd ens192 und ens160 die Namen deiner netzwerkkarten sind musst du die verwenden. Wenn ens192 etwas anderes ausdrücken soll, müsstest du z.B. mit ifconfig überprüfen wie deine Karten heißen. Was das up in der Konfiguration soll weiß ich nicht und weshalb es so eingerückt ist auch nicht.

In der beschriebenen Konfig bekommt eth0 seine Konfiguration per dhcp. Die Firewallregeln nehmen eth0 als Interface zum Internet und richten das NAT ein, dazu zwei Regeln, die ausgehenden Verkehr (aus dem Lokalen Netz) zulassen. Für eingehenden Verkehr auf eht0 ist nichts festgelegt, er wird nicht verboten und nicht erlaubt. Für PortForwarding fehlen Regeln.

1
KarlRanseierIII  23.01.2018, 01:55
@flaglich

Ja, das sind definitiv die Namen der Netzwerkkarten (ens*), schimpft sich predictable interface name. Das Konzept ist echt Knorke - nein, es ist eigentlich vollkommen für den Arsch.

up -> Ausführung wenn das Interface hoch kommt, also aktiviert wird.

Es gibt auch entsprechend pre-up und post-up. (Und das Ganze auch noch für down)

Einrückung kommt durchungünstiges Copy&Paste.

Zu den Regeln. Sie richten NAT/MASQUERADING ein, sie behandeln nur geroutete Pakete und zwar derart, daß Verbindungen von innen nach außen aufgebaut werden können, und Pakete bestehender Verbindungen in beide Richtungen transportiert werden.

1

Den DHCP-Server musst du konfigurieren und starten. Die Option Routers bekommt die Adresse von ens160. option DNS-Servers kann auch ens160 sein, dann musst du auch einen DNS-Forwarding-Only DNS-Server aufsetzen, oder du nimmst den DNS-Server, den der Server selbst verwenden ( cat /etc/resolve.conf ).