gabbagandalf
Goto Top

Virtualisierte m0n0wall - Captive Portal wird nicht angezeigt

Hi,
ich möchte ein relativ einfaches Projekt realisieren. Auf einer LAN-Party sollen die User die "Nutzungsbedinungen" akzeptieren und erst dann ins Internet dürfen.

Ich virtualisiere auf der LAN mit Hyper-V. Das funktioniert soweit auch ganz gut. Nun möchte ich halt die Sache mit den Nutzungsbedingungen per m0n0wall lösen und ebenfalls virtualisieren.

Mein Router (Fritz!Box) hat die IP 172.16.200.1 (255.255.0.0).

Die m0n0 habe ich über das CD-Image gemountet und anschließend in die VHD installiert. Davon bootet die m0n0wall nun auch tadellos. Sie ist auch stets im Netzwerk unter der IP 172.16.200.254 erreichbar, das funktioniert wirklich soweit schonmal sehr gut. Nun habe ich mich gerade dran gemacht und wollte das Captive Portal einrichten. Bei meinem Rechner habe ich dazu die IPs manuell vergeben:

IP: 172.16.100.10
SM: 255.255.0.0
Gateway: 172.16.200.254
DNS-Server: 172.16.200.1

Das Captive-Portal habe ich m.M.n. auch richtig eingerichtet. Sobald ich aber eine Adresse im Browser aufrufe, bleibt der Browser bei "Verbinden..." eine ganze Weile stecken. Irgendwann bricht die Anfrage ab mit der Fehlermeldung:

Fehler: Verbindung unterbrochen
Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde.

Ein Tracert zu www.administrator.de funktioniert bis zur m0n0 (172.16.200.254), danach nur noch "Zeitüberschreitung der Anforderung".

Meine m0n0wall-Config sieht so aus:

<?xml version="1.0"?>  
-<m0n0wall> <version>1.8</version> <lastchange>1362082513</lastchange> -<system> <hostname>m0n0wall</hostname> <domain>local</domain> <dnsallowoverride/> <username>admin</username> <password>$1$2xGLA75j$W/jiJc00HYBZX7kFjxjQv0</password> <timezone>Europe/Berlin</timezone> <time-update-interval>300</time-update-interval> <timeservers>0.m0n0wall.pool.ntp.org</timeservers> -<webgui> <protocol>http</protocol> <port/> </webgui> </system> -<interfaces> -<lan> <if>de0</if> <ipaddr>172.16.200.254</ipaddr> <subnet>16</subnet> <media/> <mediaopt/> </lan> -<wan> <if>de1</if> <media/> <mediaopt/> <spoofmac/> <ipaddr>dhcp</ipaddr> <dhcphostname/> </wan> </interfaces> <staticroutes/> <pppoe/> <pptp/> -<dyndns> <type>dyndns</type> <username/> <password/> <host/> <mx/> <server/> <port/> </dyndns> <dnsupdate/> -<dhcpd> -<lan> -<range> <from>192.168.178.160</from> <to>192.168.178.175</to> </range> <defaultleasetime/> <maxleasetime/> <next-server/> <filename/> </lan> </dhcpd> -<pptpd> <mode/> <nunits>16</nunits> <redir/> <localip/> <remoteip/> </pptpd> -<dnsmasq> <enable/> </dnsmasq> -<snmpd> <syslocation/> <syscontact/> <rocommunity>public</rocommunity> </snmpd> <diag/> <bridge/> <syslog/> <nat/> -<filter> -<rule> <type>pass</type> <interface>wan</interface> -<source> <any/> </source> -<destination> <any/> </destination> <descr/> </rule> -<rule> <type>pass</type> <descr>Default LAN -> any</descr> <interface>lan</interface> -<source> <network>lan</network> </source> -<destination> <any/> </destination> </rule> -<rule> <type>pass</type> <descr>Default IPsec VPN</descr> <interface>ipsec</interface> -<source> <any/> </source> -<destination> <any/> </destination> </rule> </filter> <shaper/> <ipsec/> <aliases/> <proxyarp/> <wol/> -<captiveportal> -<page> <htmltext>PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiRQT1JUQUxfQUNUSU9OJCI+DQogICA8aW5wdXQgbmFtZT0iYXV0aF92b3VjaGVyIiB0eXBlPSJ0ZXh0Ij4NCiAgIDxpbnB1dCBuYW1lPSJyZWRpcnVybCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJFBPUlRBTF9SRURJUlVSTCQiPg0KICAgPGlucHV0IG5hbWU9ImFjY2VwdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQ29udGludWUiPg0KPC9mb3JtPg==</htmltext> </page> <timeout>60</timeout> <interface>lan</interface> <maxproc/> <idletimeout/> <auth_method>none</auth_method> <reauthenticateacct/> <httpsname/> <certificate/> <private-key/> <bwdefaultdn/> <bwdefaultup/> <redirurl>http://www.google.de</redirurl> <radiusip/> <radiusip2/> <radiusport/> <radiusport2/> <radiusacctport/> <radiuskey/> <radiuskey2/> <radiusvendor>default</radiusvendor> <radmac_format>default</radmac_format> <enable/> </captiveportal> -<voucher> <charset>2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ</charset> <rollbits>16</rollbits> <ticketbits>10</ticketbits> <saveinterval>300</saveinterval> <checksumbits>5</checksumbits> <magic>820521368</magic> <publickey>LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1DUXdEUVlKS29aSWh2Y05BUUVCQlFBREV3QXdFQUlKQU5leWFuRFpPbEJEQWdNQkFBRT0NCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ0K</publickey> <privatekey>LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUQ0Q0FRQUNDUURYc21wdzJUcFFRd0lEQVFBQkFnZ21CU3o5cERiRkFRSUZBUDI3ekMwQ0JRRFpuNlF2QWdSOQ0KTFVVUkFnVUFtT1hsdHdJRVBRT1lvQT09DQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ0K</privatekey> <msgnoaccess>Voucher invalid</msgnoaccess> <msgexpired>Voucher expired</msgexpired> <enable/> -<roll> <number>0</number> <minutes>222222222</minutes> <comment/> <count>10</count> <used>AAA=</used> </roll> </voucher> </m0n0wall>

In den Hyper-V Einstellungen habe ich zwei "Ältere Netzwerkkarten" hinzugefügt. Beide verweisen auf den Virtuellen Switch "vSwitch_NIC1". Dabei handelt es sich um einen zuvor eingerichteten Virtuellen Switch. In den Einstellungen für vSwitches habe ich "Externes Netzwerk:" die erste Netzwerkkarte eingestellt. Die zweite Netzwerkkarte im Server ist zur Zeit AUSGESCHALTET und wird in keinem vSwitch verwendet.

Woran könnte der Fehler wohl liegen? Würde mich sehr über eine Antwort freuen.

GabbaGandalf

Content-Key: 202581

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

Printed on: April 26, 2024 at 13:04 o'clock

Member: eagle2
eagle2 Feb 28, 2013 at 21:24:59 (UTC)
Goto Top
Moin,

verwende den DNS-Forwarder und stelle die IP der Monowall als DNS-Server ein. Alternativ kannst du den DNS-Server manuell freigeben (geht jedenfalls bei pfSense, bei mono k.A.). Außerdem kannst du die Erreichbarkeit des Captive Portals über http://IP:8000 testen (IP durch deine Monowall-IP ersetzen).

Gruß,
Eagle2
Member: GabbaGandalf
GabbaGandalf Feb 28, 2013 updated at 22:04:19 (UTC)
Goto Top
Hi,
wieso glaubst du, dass der DNS-Server die Probleme verursacht? Wenn ich direkt auf das Captive Portal zugreife (mittels Port) kann ich meinen Voucher eingeben. Allerdings bleibt er danach wieder auf "Verbinden..." stehen.

Im monowall Adminmenü sehe ich dann auch meinen zuletzt eingegebenen Voucher als aktiv. Allerdings kann ich immer noch auf keine einzige Webseite zugreifen - auch nicht per direkte IP.

Von daher glaube ich nicht, dass es am DNS-Server liegt.

EDIT: Habs mal getestet. Leider ohne Erfolg.

Habe unter Services: DNS forwarder den Haken bei "Enable DNS forwarder" gesetzt. Unter "System: General setup" habe ich unter DNS Servers die IP der Fritz!Box eingetragen. Immer noch das gleiche Problem.

EDIT2: Wenn ich direkt über das Captive Portal (:8000) mein Voucher Passwort eingebe, komme ich zwar immer noch nicht auf Webseiten, der Voucher wurde aber richtig genommen. Wenn ich ein zweites mal auf Port 8000 gehe, steht dort "You are currently connected". Im Log der m0n0 stehe ich auch richtig.

Ich vermute, dass das Problem eher in den Netzwerkeinstellungen liegt. Der vSwitch hat keine IP-Adresse. Könnte das daran liegen?
Member: GabbaGandalf
GabbaGandalf Mar 01, 2013 at 08:06:44 (UTC)
Goto Top
Guten morgen. Ich habe gerade eben nochmal von der monowall eine ip-adresse angepingt. Das funktioniert auch problemlos. Mir kommt es so vor, als ob die kommunikation zwischen den beiden virtuellen interfaces nicht funktioniert. Sie hängen aber auf dem gleichen vswitch.

Jemand ne idee wie ich das problem lösen kann?
Member: aqui
aqui Mar 01, 2013 updated at 17:02:21 (UTC)
Goto Top
Wichtig wäre ja auch erstmal zu wissen ob Clients im CP Segment ohne aktives CP überhaupt in die große weite Welt kommen ?!
Deaktiviere doch zuallererst mal das CP auf dem Segment und checke generell erstmal ob du aus dem Segment rauskommst und keinerlei DNS Probleme hast.
Klappt das alles kannst du das CP wieder aktivieren und weitersuchen.. So kannst du sicher sein das du kein anderes Problem hast !
So würde man doch erstmal taktisch vorgehen...!
Was man von virualisierten FW zu halten hat ja ein ganz anderer Punkt ?!
Die beiden virtuellen Ports sind ja vermutlich der LAN Port und der WAN Port der FW, oder ?
Das die auf dem vSwitch dann zwingend in unterschiedlichen VLANs liegen muss sollte klar sein ?!
Member: GabbaGandalf
GabbaGandalf Mar 01, 2013 at 17:07:43 (UTC)
Goto Top
Hi aqui,
nein - auch ohne CP komme ich nicht ins www. Das ist ja schonmal gut zu wissen.

Ich hatte es eigentlich so geplant, dass beide Gigabit-Ports des Servers per NIC-Teaming an den Switch angeschlossen werden. Bisher habe ich keine vLANs eingerichtet - vermutlich liegt da das Problem.

Was müsste ich tun?
Member: GabbaGandalf
GabbaGandalf Mar 01, 2013 at 21:37:23 (UTC)
Goto Top
Hi nochmal,
also ich gehe fest davon aus, dass das Problem am fehlenden vLAN liegt.

Ich habe dein Tutorial gelesen:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern

Ich habe allerdings einen Unmanaged Switch (HP 1410-16G). Kann ich da trotzdem die m0n0wall virtualisieren? Oder wie ist der einfachste Weg?
Member: aqui
aqui Mar 02, 2013 at 12:41:57 (UTC)
Goto Top
Das kommt drauf an.... Mit VLANs natürlich nicht, das ist klar denn mit so einem "dummen" Switch ist das nicht möglich, muss aber auch nicht !
Es ist davon abhängig WIE die NICs im Host verwendet werden.
Minimum brauchst du 2 ! Eine NIC musst du völlig isolieren (Host Mode) denn das ist der WAN Port der virtualisiert FW. Dieser darf natürlich niemals auf das loklae Netzwerk gelangen sondenr muss völlig isoliert sein und geht dann nur auf den Internet Router !
Der Internet Router darf dann auch niemals mit den internen LAN verbunden sein, klar ! denn sonst hätte man die FW umgangen.
Letztlich ist das also eine klassische Kaskade. Router-Firewall-LAN
Member: GabbaGandalf
GabbaGandalf Mar 02, 2013 at 13:24:03 (UTC)
Goto Top
Hi aqui,
ich habe 2 Netzwerkkarten im Server. Diese würde ich aber gerne via NIC-Teaming (Switch unabhängig) an den Unmanaged-Switch packen um einen höheren Datendurchsatz zu erziehlen.

Bekomme ich das dann ohne VLAN hin? Oder brauche ich eine physikalische Netzwerkkarte isoliert von der anderen? In dem Fall würde ich dann doch lieber einen zweiten physikalischen PC nur für die FW einrichten.
Member: GabbaGandalf
GabbaGandalf Mar 02, 2013 at 13:38:05 (UTC)
Goto Top
Ich habe hier noch eine Netzwerkkarte gefunden, die ich noch in den Server bauen könnte. Die wiederum könnte ich ja mit dem Router direkt verbinden.

Die Frage ist dann:
Was muss ich im Server konfigurieren, damit das Ganze funktioniert?

Oder anders gefragt: Was genau blockt im Moment den Verkehr zwischen den beiden virtuellen Interfaces?
Member: aqui
aqui Mar 02, 2013 updated at 17:16:10 (UTC)
Goto Top
Ein Teaming zur Erzielung von größerer Link Performance mit nicht mangebaren Switches ist technisch unmöglich. Diese Diskussion hatten wir hier schon:
NIC-Teaming in Server 2012
"Switch unabhängig" ist KEIN Teaming, sondern nur ein simples Link Failover der beiden Links, damit ist keine Erhöhung des Datendurchsatzes möglich wie bei richtigem Teaming, also einer Link Aggregation ! Klar, denn ein Link ist nur standby und nur einer aktiv.

Wenn du das machen willst, dann musst du aber zwingend das WAN Interface bzw. den WAN Port isoliert rausführen !
Logischerweise kann das ja niemals über das lokale LAN Netz passieren, ist dir ja vermutlich auch klar.
Das geht dann nur über VLANs.
Da du keinen VLAN Switch hast..??! Wie sollte das denn deiner Meinung nach klappen ??
Das musst du uns dann hier erstmal netzwerktechnisch erklären ?!
Member: GabbaGandalf
GabbaGandalf Mar 02, 2013 updated at 21:56:12 (UTC)
Goto Top
Hi,
gut, dann kann ich in dem Fall das NIC-Teaming ausschalten und beide physikalischen Onboard Karten einzeln nutzen.

In deinem ersten Post hast du geschrieben, dass ich irgendwie den Host Mode aktivieren soll. Über Google konnte ich keine Informationen diesbezgl. finden.

Könntest du mir vielleicht näher erklären, was ich nun genau zu tun habe? Du spricht von Isolation - wie genau muss ich das machen?

Würde halt den einen Port an den Router anschließen und den anderen an den Switch.
Member: aqui
aqui Mar 03, 2013 updated at 14:05:41 (UTC)
Goto Top
Jeder Hypervisor (Virtualisierer) lässt immer alle 3 Modi für den Netzwerkbetrieb zu..
- Host Mode
- NAT Mode mit IP Translation
- Bridge Mode
Es mag sein das isolierte Ports anders heissen bei deiner SW da musst du mal ins Handuch sehen ggf.
Wenn du sie nun aber trennst reicht es eine separate Bridge zu erzeugen die die 2te NIC fest mit dem einen internen virtuellen NIC bindet, so das du genau auf den deinen WAN Port der FW legst...eigentlich kinderleicht.
Member: GabbaGandalf
GabbaGandalf Mar 04, 2013 at 20:53:05 (UTC)
Goto Top
Hi,
also ich finde dazu absolut gar nichts. Hättest du eine Idee wo ich das finde? Habe im Hyper-V Manager alles durchgeguckt. In den Settings zu den einzelnen VMs finde ich auch nichts.

Bin drauf und dran echt noch ein Alixboard zu kaufen und dann eine Hardwarefirewall zu nehmen. Ist nur Blöd, ich möchte die Firewall nicht aus Sicherheitsgrunden einsetzen, sondern überwiegend zur Bandbreitenlimitierung / User. Das Event ist außerdem einmalig, eigentlich ist dann ein Alix-Board Oversized. Nen alten Rechner habe ich auch gerade nicht parad. Eine virtualisierte Lösung wäre echt schön
Member: aqui
aqui Mar 05, 2013 at 08:49:21 (UTC)
Goto Top
Ich habe keine Ahnung wo das bei Hyper V steht, den das kenne ich nicht. Bei VmWare, Virtual Box usw. findet man das auf den ersten Blick in den NIC Adapter Settings.
Diese Einstellungen sind aber essentiell wichtig ür den Betrieb. Sie sind deshalb zu 100% auch bei Hyper V zwangsweise irgendwo vorhanden !!
Ggf. mal im Handbuch suchen. Das MUSS dort zu finden sein ! Oder hier im Forum mal in der "Virtualisierungs" Rubrik einen Thread eröffnen...
Member: GabbaGandalf
GabbaGandalf Mar 05, 2013 at 23:09:53 (UTC)
Goto Top
Hi,
ich habe hier mal einen Thread erstellt:
(Hyper-V) Phy. NIC mit virt. NIC bridgen

Ich muss aber gestehen, dass ich die genaue Ursache des Problems noch nicht verstanden habe. Nochmal bitte - sämtliche physikalische und virtuelle NICs lassen sich untereinander anpingen. Die Firewallregel ist auf any-to-any gesetzt und kann auch nichts blockieren.
Welche Komponente sorgt nun konkret dafür, dass das Routing im virtuellen Umfeld nicht klappt? Ist das mit Absicht eine Sicherheitsmaßnahme?
Member: aqui
aqui Mar 05, 2013 at 23:20:44 (UTC)
Goto Top
Eigentlich keine ! Wenn NIC1 im Bridging Mode ist auf das lokale LAN und die 2te NIC einzig den WAN Port bridged auf die FW ist alles OK und richtig.
Wichtig ist eben NIC2 das die völlig isoliert ist und darf lediglich nur den WAN Port bridgen und sonst nichts, denn sonst hättest du die Firewall ausgehebelt...was ja logisch ist.
Dieser 2te Port wird dann einfach Punkt zu Punkt mit einem Kabel mit dem Internet Router oder DSL Modem verbunden in einem separaten IP Netzwerk...fertig
LAN Port bridged ganz normal auf das lokale LAN und gut ist...das ist alles.
Wenn du das so einstellst funktioniert das auch ohne Probleme !
Member: GabbaGandalf
GabbaGandalf Mar 05, 2013 at 23:29:35 (UTC)
Goto Top
Hi,
wie muss ich das denn dann mit den vSwitches handhaben? Muss da was geändert werden? Im Moment greifen alle VMs auf den gleichen vSwitch zu.
Member: aqui
aqui Mar 06, 2013 updated at 09:43:25 (UTC)
Goto Top
Die vrituelle LAN NIC der Monowall kannst du problemlos an den vSwitch mit einhängen, denn das stellt ja das lokale LAN Segment dar !
Der WAN Port darf keinesfalls hier mit draufhängen, denn damit schliesst du dann ja logischerweise die Firewall kurz und machst sie nutzlos !!
Der WAN Port MUSS vollkommen isoliert auf eine separate physische NIC per Bridging oder 2tem vSwitch gelegt werden.
Die internen vSwitches oder Bridges dürfen sich keinesfalls sehen, denn der WAN Port muss zwangsweise vollkommen isoliert von jeglichen lokalen LANs sein.
Das weisst du ja sicher selber ?!

(P.S.: Und entferne oben mal die sinnfreie Konfig Datei ! Kein Mensch kann zeilenloses XML online lesen !)
Member: GabbaGandalf
GabbaGandalf Mar 07, 2013 at 06:46:26 (UTC)
Goto Top
Hi aqui,
das WAN-Interface hatte ich testweise schonmal auf einem zweiten externen vSwitch hängen - da war genau das gleiche Problem.

Anscheinend bietet Hyper-V aber keine Bridging-Unterstützung von einer physikalischen NIC auf eine virtuelle. Zumindest in meinem Thread im Virtualisierungs-Unterforum kam bisher keine Antwort, die darauf hindeutet.

(Hyper-V) Phy. NIC mit virt. NIC bridgen

Ich werde heute nach Feierabend es nochmals mit einem zweiten vSwitch probieren. Wenn das wieder nicht funktioniert, wie könnte ich dann weitermachen?

Liebe Grüße und danke für die tolle Hilfe!!!
Member: aqui
aqui Mar 07, 2013 at 08:12:05 (UTC)
Goto Top
Damit wäre ja Hyper V ein ziemlich schrottiger Hypervisor der vollkommen ungeeignet ist für diese Anforderung.
Stellt sich dann die Frage warum du es nicht mit Virtual Box oder vmWare machst, denn die können das wunderbar ohne Frickleie und zahllose Threads hier... ?!
Member: GabbaGandalf
GabbaGandalf Mar 07, 2013 at 09:14:40 (UTC)
Goto Top
Weil ich mich nur mit Hyper-V auskenne (ein bisschen...). Alles andere habe ich auch super mit Hyper-V hinbekommen - nur diese Firewallgeschichte nicht.
Ich organisiere mir heute aber mal einen Managed Switch (brauche ich sowieso) und dann gehe ich den Weg über VLANs. Dann könnte ich auch Link Aggregation vernünftig nutzen, was mir wichtig wäre.
Wie müsste ich das Netzwerk dann konkret aufbauen? Beide physikalischen Netzwerkkarten teamen, wie sollte ich das dann am besten mit den VLANs machen?
Member: aqui
aqui Mar 07, 2013 updated at 12:16:03 (UTC)
Goto Top
Na ja...auch VmWare und VirtualBox ist alles das gleiche. Da muss man sich nicht wirklich auskennen, da gilt kennst du eins kennst du alle....ist ja immer das gleiche. Kostenlos sind sie auch alle...
Nur das MS wieder mal seine User mehr gängelt als andere...siehe oben ! Und technisch weniger weit ist... Vielleicht also mal zur Horizonterweiterung mal was anderes ansehen..kost ja nix !
VLAN ist dann aber der richtige (Aus)weg für dich !