starkimarm
Goto Top

OpenWRT unter KVM - Netzwerkproblem pointopoint

Entweder ich stehe gerade voll auf dem Schlauch oder das was ich will geht nicht (wäre auch nicht das erste Mal).

Folgende Aufgabenstellung: Ich habe einen Root-Server von ServDiscount (=Webtropia/myloc), auf dem Debian mit KVM als Hypervisor läuft und mehrere VMs, die die eigentlichen Dienste (Mail, Web...) bereitstellen sollen. Zusätzlich zu der Haupt-IP habe ich noch zusätzliche IPs, die als Virtualisierungs-IPs konfiguriert sind. Wenn ich eine solche IP einer VM zuweise ist die VM von außen erreichbar, alles schön.

Da zusätzliche IPs Geld kosten und aus Sicherheits-Erwägungen möchte ich aber die VMs nicht komplett ins Netz stellen, weshalb ich mir überlegt habe, daß ich die VMs alle in einem internen virtuellen LAN betreibe, welches mit einer OpenWRT-VM, die zwei Interfaces hat, mit dem Netz verbunden ist und nur die relevanten Ports auf die öffentliche IP des Routers gemappt werden.

Das Problem ist jetzt folgendes: Das WAN-Interface von OpenWRT läßt sich nicht entsprechend konfigurieren. Weder eingehend noch ausgehend kommt man durch (Network unreachable).

Die Konfiguration sieht wie folgt aus:

Hypervisor:
auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
address 93.186.x.y
netmask 255.255.255.0
network 93.186.x.0
broadcast 93.186.x.255
gateway 93.186.x.1
bridge_ports eth1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
                  1. dns-* options are implemented by the resolvconf package, if installed
                  dns-nameservers 62.141.32.5 62.141.32.4 62.141.32.3
                  dns-search lemon.servdiscount-customer.com

                  VM, bei der die zusätzlichen IPs funktionieren:
                  auto eth0
                  iface eth0 inet static
                  address 89.163.a.b
                  netmask 255.255.255.255
                  pointopoint 93.186.x.1
                  gateway 93.186.x.1

                  OpenWRT, wo es nicht funktioniert:
                  network.wan=interface
                  network.wan.proto='static'
                  network.wan.ifname='eth0'
                  network.wan.ipaddr='5.104.b.c'
                  network.wan.netmask='255.255.255.255'
                  network.wan.gateway='93.186.x.1'
                  network.wan.dns='62.141.32.5'


                  Ich schätze das Problem liegt im pointopoint-Eintrag, ohne den funktioniert es auf den anderen VMs auch nicht. Nur stellt sich die Frage, (wie) kann man das bei OpenWRT abbilden?


                  Disclaimer: Ja, das könnte man auch anders lösen, z.B. mit iptables oder dergleichen auf dem Hypervisor oder einer eigenne VM, aber das wäre für mich nur zweite Wahl.

Content-Key: 290513

Url: https://administrator.de/contentid/290513

Printed on: April 24, 2024 at 22:04 o'clock

Member: aqui
Solution aqui Dec 09, 2015, updated at Dec 10, 2015 at 17:13:25 (UTC)
Goto Top
welches mit einer OpenWRT-VM, die zwei Interfaces hat, mit dem Netz verbunden ist
Richtiges Konzept aber eine Firewall wäre sicherer als ein simpler Router.
pfSense gibt es z.B. gleich fertig als VM:
Preiswerte, VPN fähige Firewall im Eigenbau oder als Fertiggerät
Das WAN-Interface von OpenWRT läßt sich nicht entsprechend konfigurieren
Warum nicht ?? Ist doch nix weiter als eine simple IP Adresse mit Maske und ein Default Gateway des Hosters...fertisch !

Bedenke wenn du im internen Netz also hinter dem Router private RFC 1918 IP Adressen verwendest dann macht dein OpenWRT NAT oder muss es zumindest machen damit die VMs ins Internet gelangen können.
Das ist routingtechnisch dann aber eine Einbahnstrasse, da aus dem Internet eingehende Sessions die NAT Firewall des Routers nicht überwinden können.
Das funktioniert ausnahmslos nur mit Port Forwarding auf dem OpenWRT.

Normal hast du im Hypervisor einen internen vSwitch an dem alle VMs hängen und auch das LAN Interface des Routers.
Der WAN Port des Routers hängt an der externen NIC des Hypervisors im Bridge Mode.
Soviel zur simplen Theorie des ganzen Konstrukts was per se nicht falsch ist.
Eine öffentliche IP liegt dann direkt auf der externen NIC des Hypervisors und eine weitere öffentliche IP aus dem gleichen Subnetz des Hypervisors am WAN Port des Routers.
Eigentlich kinderleicht.
Und nein.... mit iptables kannst du IP Adressknappheit auch nicht lösen...
Nochwas...
Sind deine IP Adressen oben pure Phantasie oder entsprechen sie nur annähernd der Realität.
Ein 93er Netz kann niemals mit einem 89er Netz kommunizieren ohne Router und eine Hostadresse hat gemeinhin keine 32Bit Maske sondern die des verwendeten Subnetzes. Also entweder ist das wild gewürfelt aber so wie es da steht kann die IP Adressierung niemals funktionieren.
Member: Starkimarm
Starkimarm Dec 10, 2015 at 12:35:25 (UTC)
Goto Top
Zitat von @aqui:

welches mit einer OpenWRT-VM, die zwei Interfaces hat, mit dem Netz verbunden ist
Richtiges Konzept aber eine Firewall wäre sicherer als ein simpler Router.
pfSense gibt es z.B. gleich fertig als VM:
Preiswerte, VPN fähige Firewall im Eigenbau oder als Fertiggerät

Schau ich mir auch mal an, danke.

Das WAN-Interface von OpenWRT läßt sich nicht entsprechend konfigurieren
Warum nicht ?? Ist doch nix weiter als eine simple IP Adresse mit Maske und ein Default Gateway des Hosters...fertisch !

Jein, siehe unten

Bedenke wenn du im internen Netz also hinter dem Router private RFC 1918 IP Adressen verwendest dann macht dein OpenWRT NAT oder muss es zumindest machen damit die VMs ins Internet gelangen können.
Das ist routingtechnisch dann aber eine Einbahnstrasse, da aus dem Internet eingehende Sessions die NAT Firewall des Routers nicht überwinden können.
Das funktioniert ausnahmslos nur mit Port Forwarding auf dem OpenWRT.

Genau, das ist der Plan

Und nein.... mit iptables kannst du IP Adressknappheit auch nicht lösen...

Naja, ich könnte mir eine Linux-VM für Routing/Firewallzwecke selbst stricken, nur reicht dafür mein Netzwerk-KnowHow (noch) nicht aus - zumal das ja im Prinzip schon ein von anderen Leuten gelöstes Problem ist

Nochwas...
Sind deine IP Adressen oben pure Phantasie oder entsprechen sie nur annähernd der Realität.
Ein 93er Netz kann niemals mit einem 89er Netz kommunizieren ohne Router und eine Hostadresse hat gemeinhin keine 32Bit Maske sondern die des verwendeten Subnetzes. Also entweder ist das wild gewürfelt aber so wie es da steht kann die IP Adressierung niemals funktionieren.

Das sind die echten Adressen (abgesehen von xyzabcd offensichtlich). Und wie gesagt, auf den normalen Debian-VMs funktioniert das auch, was soweit ich das verstanden habe wohl an dem pointopoint-Eintrag liegt, aber Netzwerk ist eben leider nicht mein Spezialgebiet, so daß ich nicht weiß wie/ob man das bei OpenWRT einstellen kann.
Member: Starkimarm
Starkimarm Dec 10, 2015 at 17:13:18 (UTC)
Goto Top
OK, ich hab's. Routing war im Prinzip das richtige Stichwort. Ich habe zwei statische Routen eingerichtet:
- IP 93.186.x.1 -> eth0 (also das br0-Interface der OpenWRT-VM)
- default gw -> 93.186.x.1
Die default Route wird anscheinend nicht automatisch von OpenWRT gesetzt wenn man bei der Interface-Config das default Gateway angibt.