Ich bin ein wenig verwirrt, wie ich eine *Sense-Box als VM hosten und sie das Routing für den Host bereitstellen lassen kann.
Internet -> Modem/Router (bridge mode) -> en1 on Dell r710 -> OPNSense in a VM
Then also:
OPNSense in a VM -> en2 -> 12-port switch
Beispielsweise: Wie stelle ich die Netzwerkschnittstellen auf der VM ein und wie definiere ich OPNSense so, dass es 10.0.2.1 als IP hat und als Hauptrouter (DHCP usw.) dient, damit OPNSense Routing für alle Geräte bereitstellen kann, die ich anschließe (über einen vorhandenen Switch), und auch für den Host, auf dem die VM ausgeführt wird?
Meine VMs laufen auf KVM mit Wok/Kimchi auf Ubuntu 16.04.5.
Antwort1
Leider ist die Frage etwas zu unpräzise und ich habe nicht den Ruf, weitere Fragen zu stellen. Ich habe vor ein paar Tagen OPNSense in einer virtuellen Umgebung eingerichtet, daher hoffe ich, dass ich hier ein paar Hinweise hinterlassen kann. Ich behaupte nicht, dass dies eine gute Lösung ist, aber für mich funktioniert es. In diesem Szenario habe ich einen dedizierten Server und ein /29 öffentliches IP-Subnetz. Der gesamte Datenverkehr von anderen VMs wird über die OPNSense-VM geleitet. Der Datenverkehr der Host-Maschine kann nicht über die virtuelle Maschine gesendet werden.
Zur Administration der Netzwerke und virtuellen Maschinen verwende ichWebvirtCloud es ist aber auch möglich, alles manuell zu machen.
Erstellen Sie virtuelle Netzwerkschnittstellen für jede Ihrer öffentlichen IPs.
/etc/network/interfaces auto eth0 iface eth0 inet static address 103.x.x.104 #Dedicated server IP address netmask 255.255.255.255 gateway 103.x.x.65 pointopoint 103.x.x.65 #IP of the switch in the data center auto eth0:0 iface eth0:0 inet static address 103.xx.77.136 #First IP from the public subnet netmask 255.255.255.255 auto eth0:1 iface eth0:1 inet static address 103.xx.77.137 netmask 255.255.255.255
[...]
Verwenden Sie libvirt, um die Netzwerke wie beschrieben zu erstellenHier: (oder verwenden Sie WebvirtCloud) Sie benötigen mindestens zwei Brücken, eine für LAN und eine für WAN.
An diesem Punkt sollten Sie ein Netzwerk namens LAN (Gerät: virbr1) (Netzwerk: 192.168.100.0/24) und ein weiteres namens WAN (Gerät: virbr0) (Netzwerk: 192.168.77.0/24) haben.
- Erstellen Sie Ihre OPNSense-Maschinenkonfiguration. Dies ist der wichtige Teil:
<interface type='network'> <mac address='00:52:66:d7:7e:65'/> <source network='WAN' bridge='virbr0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <interface type='network'> <mac address='00:c0:41:50:f9:0b'/> <source network='lan' bridge='virbr1'/> <target dev='vnet1'/> <model type='virtio'/> <alias name='net1'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </interface> <interface type='network'> <mac address='00:98:c3:b1:b6:b8'/> <source network='lan' bridge='virbr1'/> <target dev='vnet2'/> <model type='virtio'/> <alias name='net2'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/> </interface>
- Starten Sie OPNSense, weisen Sie Schnittstellen entsprechend Ihrer Maschinenkonfiguration zu und legen Sie die Schnittstellen-IP-Adressen über das Terminal fest. Ich habe 192.168.77.2 als meine OPNSense-WAN-IP-Adresse ausgewählt. Das WAN-Upstream-Gateway ist auf 192.168.77.1 eingestellt.
Ich habe auch für jede meiner öffentlichen IPs in OPNSense separate LANs erstellt.
LAN136 IP-Address: 192.168.100.136/24
LAN137 IP-Address: 192.168.100.137/32
No upstream Gateways.
[...]
- NAT POST- und PREROUTING-Regeln auf dem Hostrechner
iptables -t nat -A POSTROUTING -s 192.168.77.2 -j SNAT --to-source 103.x.x.104 iptables -t nat -A POSTROUTING -s 192.168.77.136 -j SNAT --to-source 103.xx.77.136 iptables -t nat -A POSTROUTING -s 192.168.77.137 -j SNAT --to-source 103.xx.77.137 iptables -t nat -A PREROUTING -p tcp --dport 10:65530 -d 103.xx.77.136 -j DNAT --to 192.168.77.136 iptables -t nat -A PREROUTING -p udp --dport 10:65530 -d 103.xx.77.136 -j DNAT --to 192.168.77.136 iptables -t nat -A PREROUTING -p tcp --dport 10:65530 -d 103.xx.77.137 -j DNAT --to 192.168.77.137 iptables -t nat -A PREROUTING -p udp --dport 10:65530 -d 103.xx.77.137 -j DNAT --to 192.168.77.137
Nach diesem Schritt sollten Sie OPNSense über Ihren Webbrowser öffnen können. Dazu benötigen Sie eine virtuelle Maschine, die bereits Teil des LAN ist. Ich empfehle die Verwendung einer Live-CD wie grml oder Ubuntu. In diesem Fall erreichen Sie OPNSense überhttp://192.168.100.136
- OPNSense (Webbrowser) - Erstellen Sie virtuelle IPs auf der WAN-Schnittstelle
Virtual IP-address Interface TYPE 192.168.77.136/32 WAN IP Alias 192.168.77.137/32 WAN IP Alias
[...]
- NAT-Regeln in OPNSense (Webbrowser) Erstellen Sie Ihre Portweiterleitungs- und Ausgangsregeln
Beispiel Portweiterleitung:
Interface Proto S-address S-port D-address D-port NAT-Ip Nat-Port WAN TCP * * 192.168.77.137 80 (HTTP) 192.168.100.101 80 (HTTP)
Beispiel für ausgehende Regeln:
Der Modus muss auf manuell eingestellt sein
Interface Source S-port Dest. D-port NAT-IP Port static? WAN 192.168.100.100/32 * * * 192.168.77.136 * no
Stellen Sie sicher, dass alle Ihre öffentlichen IPs über ausgehende Regeln und eine eindeutige NAT-IP verfügen.
Antwort2
Heilige Scheiße... Das ist komplex! Ich wollte mein dediziertes OPNsense-Setup mit Mini-PC durch eine VM auf meinem TrueNAS-Server (jetzt Scale, aber ich verwende seit vielen Jahren Core) ersetzen und habe mich einfach gefragt... gibt es einen einfacheren Weg, das alles zum Laufen zu bringen? Ich möchte lediglich, dass es buchstäblich mein Netzwerk betreibt und die VM über WAN und LAN kommunizieren kann (natürlich innerhalb und außerhalb der VM...). Ich bin mir durchaus bewusst, dass meine Internetverbindung abbricht, wenn ich meinen TrueNAS-Server neu starte (es ist in erster Linie mein Plex Media Server). Ich bin mir auch durchaus bewusst, dass dies in den meisten Situationen nicht ideal ist, aber ich möchte es ausprobieren. Mir geht es nur um einen kleineren Platzbedarf, und wenn ich einen Computer loswerden kann, der in meinem Netzwerk und in meinem Zimmer läuft, wäre das großartig.
Und was konnte ich bisher tun? Ich konnte meine OPNsense-VM nur dazu bringen, eine WAN-Verbindung zu erkennen, und ich konnte auch auf die Web-Benutzeroberfläche zugreifen ... manchmal ...
Ich wäre für jede Hilfe dankbar, wenn das 2023 jemand sieht ... lol. Es besteht keine Eile, aber ich möchte es irgendwie machen, weil es interessant ist.
Danke, Shiggitay