pfSense in VM (Hyper-V) mit insg. 3 (physischen) NICs - will nicht so recht...

Und3rst8

Neuling
Thread Starter
Mitglied seit
16.10.2016
Beiträge
432
Ort
Bamberg / München
Servus Leute,

habe im Forum (und auch sonst im Netz) nichts genaues zu diesem Problem gefunden, daher dieser Thread.
Bin auf diesem Gebiet noch nicht so die Leuchte, momentan probiere ich noch recht viel rum. Ich bitte daher um euer Verständnis :hail:

Die Ausgangslage:
  • Die Verbindung: Fritzbox - Mein PC - Switch - Mein PC (Hinweis: Wenn ich den Switch weglasse und nur meinen PC direkt mit der Fritzbox verbinde, ändert sich an den unten beschriebenen Problemen nichts)
  • Es sind 3 physische NICs vorhanden: 1x am Mainboard selbst und 2x via PCI-E

Die Situation:
  • pfSense läuft in einer VM in Hyper-V (Windows 10)
  • Beide NICs sind jeweils als virtueller Switch konfiguriert (1x WAN & 1x LAN)
  • Das Kabel vom Router ist am WAN-Port angeschlossen
  • Vom LAN-Port geht ein Kabel zum (physischen) Switch
  • Vom Switch geht ein Kabel zum Ethernet-Port des Mainboards

Das Problem:
  • Am Router wird nicht nur eine Verbindung zu pfSense angezeigt, sondern auch zu meinem Desktop - da stimmt doch etwas nicht?
  • Egal an welchem NIC ich das Kabel vom Router anschließe, die Internetverbindung geht - wenn ich daran herumspiele, wird zwischendurch mein Desktop in der Fritzbox 3x angezeigt, pfSense dafür gar nicht mehr
  • Offenbar wird der Traffic nicht über pfSense geroutet, da pfblockerng scheinbar nichts bringt
  • Mittlerweile kann ich auf pfSense (über das Web-Interface) gar nicht mehr zugreifen, obwohl pfSense laut Fritzbox verbunden und damit auch aktiv ist :confused:

Der Wunsch / die Frage:
  • Mein Desktop soll seine Internetverbindung nur über die pfSense-VM bekommen; der Umweg über den Switch ist dabei nötig, da dort auch noch andere PCs dranhängen, die ebenfalls von der Firewall profitieren sollen - ist das überhaupt möglich?
  • Am Router sollte bei dieser Konstellation doch nur pfSense angezeigt werden - oder habe ich da einen Denkfehler?


Jede Hilfe ist herzlich willkommen! Mit meinem Latein bin ich jedenfalls schon lang am Ende, vielleicht fange ich demnächst mal mit Spanisch an (OK, für diesen "Witz" dürft ihr mich haten.. :d )


PS: Mir ist klar, dass ein Extragerät als Firewall das Ganze stark vereinfachen und auch noch sicherer machen würde, nur ist dafür momentan leider weder Geld noch Platz da. Da das Ganze auch einen gewissen Lerneffekt für mich haben soll, möchte ich (zumindest für's Erste) - falls überhaupt möglich - diese Variante zum Laufen bringen.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi,
eine kurze frage, wenn du die VM bzw. den Host entsprechen verkabelst und pfsense gestartest hast, hast du aber schon das Kabel zwischen Fritzbox und Switch getrennt oder?
 
Niemand eine Idee? :confused:

Oder mal anders gefragt: Wie würdet ihr das Ganze aufsetzen, wenn ihr pfSense in einer VM betreiben müsstet, an die aber auch noch externe Geräte (über einen Switch) angeschlossen sind?
 
Zur Einleitung ich kenne mich weder mit Windows noch Hyper-V im speziellen aus.

Da Hyper-V ein native Hypervisor ist: werden die NICs überhaupt an die pfsense VM exklusiv durchgereicht? Oder werden sie wie bei Type 2 Hypervisoren üblich geshared?
Falls möglich ließen sich die NICs auch per PCIe Passthrough durchreichen (IOMMU bzw. Intel nennt es VT-d), dann kann kein Hyper-V Treiber mehr involviert sein. Das setzt aber voraus, dass Deine Hardware auch die NICs da mitspielt.
 
Man kann für einen virtuellen Switch das sharing mit dem Host unterbinden. Geht in den Eigenschaften des Switches.
 
Danke euch beiden schon mal für den Tipp, die beiden NICs sind jetzt non-shared. Dieses Problem ist dadurch also gelöst.
Allerdings hat das an der Gesamtsituation leider auch nichts geändert: Immer noch keine Internetverbindung, nicht mal auf die Fritzbox kann zugegriffen werden, wenn ich versuche den Traffic über pfSense zu routen. Auch auf das pfSense-Interface kann ich nach wie vor nicht zugreifen. Habe pfSense in der Fritzbox eine feste IP zugewiesen und diese auch in den IPv4-Eigenschaften des NIC eingetragen - jeweils ohne Erfolg.

Ich werde das Gefühl nicht los, einfach nur irgendwo einen banalen Fehler gemacht bzw. etwas total simples vergessen zu haben - aber was?
 
Magst du noch ein paar Details nennen? FRITZ!Box Modell? Firmware? Konfiguration?
 
Fritzbox ist die 7362SL mit dem aktuellsten OS (6.50).
Welche Einstellungen genau meinst du denn? Außer der festen IP für pfSense dürfte soweit eigentlich nichts umgestellt sein.
 
Welche IP Adressbereiche werden wo verwendet? Kannst du das Netzwerk einmal aufmalen? Paint reicht :-)
 
Gute Idee mit dem Bild :)

Aktuell ist mein PC per Patchkabel direkt mit der Fritzbox verbunden.
So hatte ich mir das Ganze aber eigentlich vorgestellt:



Die physischen NICs sind grün gekennzeichnet, NIC 2 und 3 sind jeweils als non-shared vNIC konfiguriert.
Rot sind die Netzwerkkabel, wie sie auch tatsächlich verlaufen (sollen).

IPs xxx.xxx.xxx.10 - xxx.xxx.xxx..19 sind für die PCs reserviert,
IPs xxx.xxx.xxx.20 - xxx.xxx.xxx..29 für die VMs.

WLAN-Geräte verbinden sich direkt mit der Fritzbox (soll vorerst auch so bleiben) und bekommen ihre IP dynamisch.
 
Zuletzt bearbeitet:
Nein, nichts außer die beschriebenen Einstellungen.
Auch sonst hängen bis auf zwei iPhones und zwei Laptops über WLAN keine Geräte dran.
 
Geht Ping von pfSense WAN -> Fritzbox und zurück?
Geht ein Ping pfSense LAN -> NIC1?

Probier mal ohne, dass NIC1 im Switch hängt.

gruß
hostile

- - - Updated - - -

Das andere Problem könnte sein: Du hast ja nur ein Netz, aber zwei Broadcast-Domänen. Dein PC X hat jetzt das Standard-Gateway pfSense. pfSense hat Standard-Gateway Fritzbox (im gleichen Netz). Es kann sein, dass dein PC X ein ICMP Redirect von der pfSense bekommt, dass er direkt mit der Fritzbox reden kann (mach mal Wireshark oder tcpdump an!), weil beide PCs ja im gleichen IP-Netz sind. Dein PC X kann aber die Fritzbox nicht erreichen.... // Korrigiert mich, wenn ich falsch liege :fresse:
 
Zuletzt bearbeitet:
Danke für den Tipp, hat mich auf eine interessante Spur gebracht :)

Pings gingen in beiden Fällen nicht durch, nach einem Neustart ging es manchmal. Irgendwie komisch das Ganze, dachte ich mir.
Also habe ich pfSense neu aufgesetzt:
WAN die IP per DHCP von der Fritzbox zuweisen lassen statt der vorher fest vergebenen.
LAN hat eine feste IP und verteilt wiederum IPs per DHCP im Bereich von 10.10.10.10 bis 10.10.10.29
(beides jeweils per IPv4; IPv6 ist disabled, auch in der Fritzbox)

Für die beiden Netzwerkadapter habe ich in Windows (in den Adaptereinstellungen) übrigens alles bis auf "Hyper-V Extensible Virtual Switch" deaktiviert.

Die (Teil-)Erfolge dieser Maßnahmen:
- Pingen geht nun von überall in alle Richtungen
- in der Fritzbox ist nur noch pfSense zu sehen

Das neue Problem:
DNS Forwarding bzw. Resolving funktioniert auf Client-Seite nicht. Internetverbindung ist da, Ping von Windows-Shell an 8.8.8.8 geht durch. Ping an google.com jedoch nicht.
In der pfSense-Shell geht es hingegen schon, daher gehe ich davon aus, dass irgendetwas mit den DNS-Einstellungen nicht stimmt.
Ich habe nun diesen Guide von pfSense vollständig durchgearbeitet.
Der einzige Punkt, der Probleme macht, ist dieser hier:

Test if the client can ping an Internet host by Host name (e.g. Google)

- If this fails, check the client's DNS settings, and/or the DNS Forwarder on the firewall (Services > DNS Forwarder, Diagnostics > DNS Lookup)

Standardmäßig ist DNS Resolver aktiviert, funktioniert aber scheinbar nicht. Beide gleichzeitig geht offenbar auch nicht. Und nur DNS Forwarder war leider auch nicht der Heilsbringer.
Mal sehen, was dieser Tag noch so bringt :)

Edit: Wenn ich im pfSense Web-Admin als "LAN" google.com anpingen lasse, funktioniert alles. Ich verstehe aber nicht so recht, wieso es vom Client aus nicht geht.
 
Zuletzt bearbeitet:
Da hab ich schon alles mögliche ausprobiert. Bei statisch vergebener IP sowohl WAN als auch die Fritzbox und bei dynamischer IP dann eben DNS auch dynamisch. Ich habe das unten beschriebene Szenario mit beiden Einstellungsmöglichkeiten durchprobiert, an der Gesamtsituation hat es nichts geändert.

Beim Rumprobieren habe ich pfSense auch diverse Male auf Werkseinstellungen zurückgesetzt und komplett neu aufgesetzt, dabei ist mir etwas recht komisches aufgefallen:

pfSense auf Werkseinstellungen / neu installiert -> WAN & LAN den jeweiligen NICs zugewiesen (in der Shell) -> IP's für WAN & LAN vergeben (in der Shell) -> Traffic wurde über pfSense geroutet; in der Fritzbox wurde nur pfSense angezeigt; Internetverbindung da, keine DNS-Probleme
=> alles super, so hatte ich es mir ja vorgestellt

Doch dann:
webConfig gestartet -> Setup Wizard abgeschlossen -> pfSense startet neu => keine Verbindung mehr! und egal was ich tat, sie kam auch nie wieder

Dieses Szenario habe ich mehrmals wiederholt, mit jeweils unterschiedlichen Ergebnissen (scheinen willkürlich aufzutreten, unabhängig davon, ob die Client-IP statisch oder dynamisch vergeben wird):
- Ping geht bis einschl. WAN, bleibt dort aber stecken
- Ping geht bis einschl. LAN, bleibt dort aber stecken
- Ping erreicht nicht mal LAN, es geht gar nichts mehr

Dabei ist es übrigens egal, ob ich den Setup Wizard durchlaufe oder direkt irgendeine andere Änderung vornehme - sobald ich irgendwo auf "Save" bzw. "Apply Changes" klicke, hängt sich die VM auf.

In der pfSense-Shell konnte ich hingegen immer sowohl die Fritzbox als auch Internetdomains anpingen.
Die pfSense-Version ist 2.3.2, die ja eigentlich stable sein soll. Ich werde es morgen mal mit einer anderen Version versuchen, vielleicht ist es ja tatsächlich nur ein Bug.

Falls der Fehler jedoch bei mir liegen sollte, freue ich mich natürlich über entsprechende Kritik :d
 
Zuletzt bearbeitet:
Vielleicht steh ich auf dem Schlauch, aber hast du geschrieben, dass die Fritz nicht in einem anderen Subnetz ist? Also hast du auf dem Schirm, dass das interne Netz der pfsense ein anderes sein muss?
 
@Und3rst8
Das könnte sogar sein - mit dem Bug.
Unter XenServer 6.5 SP1 läuft/lief das Ding nämlich auch nicht korrekt (als ich es damals mal schnell installieren wollte), die (virtuellen) Netzwerkkarten in der VM spinn(t)en da irgendwie. Zugriff via Web-Interface geht, aber es werden einfach keine Pakete "ge-forwarded". Siehe auch (unter anderem) hier:
Fix NAT not working with pfSense in Xenserver - Technicus

Evtl. hat Hyper-V ein ähnliches Problem. Ich kenne Hyper-V überhaupt nicht.

PS: Die Lösung aus dem Blog funktionierte bei mir irgendwie nicht.
 
Vielleicht steh ich auf dem Schlauch, aber hast du geschrieben, dass die Fritz nicht in einem anderen Subnetz ist? Also hast du auf dem Schirm, dass das interne Netz der pfsense ein anderes sein muss?

Wenn jemand auf dem Schlauch steht, dann bin es ja wohl eher ich :d
Bei der Fritzbox ist es hier standardmäßig 192.168.178.xxx, in pfSense habe ich 10.10.10.xx eingestellt (habe es aber auch schon z.B. mit 192.168.179.xxx und ähnlichem versucht)
Das meintest du doch, oder habe ich da etwas falsch verstanden?

Nur, um es nochmal deutlich zu machen:
Fritzbox: 192.168.178.1
pfSense WAN: 192.168.178.25(/24) via DHCP der Fritzbox
pfSense LAN: 10.10.10.1 (statisch); vergibt die IPs der daran angeschlossenen Geräte per DHCP im Bereich von 10.10.10.10 bis 10.10.10.29
Mein Desktop also folglich: 10.10.10.10

Ich hoffe mal, dass ich hier keinen Bock reingehauen habe :)

@Und3rst8
Das könnte sogar sein - mit dem Bug.
Unter XenServer 6.5 SP1 läuft/lief das Ding nämlich auch nicht korrekt (als ich es damals mal schnell installieren wollte), die (virtuellen) Netzwerkkarten in der VM spinn(t)en da irgendwie. Zugriff via Web-Interface geht, aber es werden einfach keine Pakete "ge-forwarded". Siehe auch (unter anderem) hier:
Fix NAT not working with pfSense in Xenserver - Technicus

Evtl. hat Hyper-V ein ähnliches Problem. Ich kenne Hyper-V überhaupt nicht.

PS: Die Lösung aus dem Blog funktionierte bei mir irgendwie nicht.

Danke, ich werde mir den Link mal ansehen, wenn ich wieder zuhause bin und versuche es dann auch noch mal mit 1-2 älteren Releases von pfSense.
 
Ja das meinte ich und dann hast du da keinen Bock.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh