Estoy un poco confundido sobre cómo alojar un *Sense Box como una máquina virtual y hacer que proporcione enrutamiento para el host.
Internet -> Modem/Router (bridge mode) -> en1 on Dell r710 -> OPNSense in a VM
Then also:
OPNSense in a VM -> en2 -> 12-port switch
Por ejemplo, ¿para qué configuro las interfaces de red en la máquina virtual y cómo defino OPNSense para que tenga 10.0.2.1 como su IP y sea el enrutador principal (dhcp, etc.) para que OPNSense pueda proporcionar enrutamiento para cualquier dispositivo que conecte? (a través de un conmutador que tengo) y también el host en el que se ejecuta la VM.
Mis máquinas virtuales se ejecutan en KVM con Wok/Kimchi en Ubuntu 16.04.5.
Respuesta1
Desafortunadamente, la pregunta es demasiado imprecisa y no tengo la reputación para hacer más preguntas. Hace unos días configuré OPNSense en un entorno virtual, así que espero poder dejar algunas pistas aquí. No pretendo que esta sea una buena solución, pero funciona para mí. En este escenario tengo un servidor dedicado y una subred IP pública /29. Todo el tráfico de otras máquinas virtuales se enruta a través de OPNSense-VM. El tráfico de la máquina host no se puede enviar a través de la máquina virtual.
Para la administración de las redes y máquinas virtuales que uso.WebvirtNube pero también es posible hacer todo manualmente.
Cree interfaces de red virtuales para cada una de sus IP públicas.
/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
[...]
Utilice libvirt para crear las redes como se describeaquí: (o use WebvirtCloud) Necesita al menos dos puentes, uno para LAN y otro para WAN.
En este punto deberías tener una red llamada LAN (Dispositivo: virbr1)(Red: 192.168.100.0/24) y otra llamada WAN (Dispositivo: virbr0) (Red: 192.168.77.0/24)
- Cree la configuración de su máquina OPNSense. Esta es la parte importante:
<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>
- Inicie OPNSense, asigne interfaces de acuerdo con la configuración de su máquina y configure las direcciones IP de las interfaces a través del terminal. He seleccionado 192.168.77.2 para mi dirección IP WAN OPNSense. La puerta de enlace ascendente de WAN está configurada en 192.168.77.1.
También creé LAN separadas para cada una de mis IP públicas en OPNSense.
LAN136 IP-Address: 192.168.100.136/24
LAN137 IP-Address: 192.168.100.137/32
No upstream Gateways.
[...]
- Reglas NAT POST y PREROUTING en la máquina host
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
Después de este paso, debería poder abrir OPNSense desde su navegador web. Para hacerlo necesita una máquina virtual que ya sea parte de la LAN. Recomiendo usar un CD en vivo como grml o Ubuntu. En este caso, se puede acceder a OPNSense a través dehttp://192.168.100.136
- OPNSense (navegador web): cree IP virtuales en la interfaz WAN
Virtual IP-address Interface TYPE 192.168.77.136/32 WAN IP Alias 192.168.77.137/32 WAN IP Alias
[...]
- Reglas NAT en OPNSense (navegador web) Cree sus reglas de reenvío de puertos y salidas
ejemplo de reenvío de puertos:
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)
ejemplo de reglas salientes:
El modo debe configurarse en manual.
Interface Source S-port Dest. D-port NAT-IP Port static? WAN 192.168.100.100/32 * * * 192.168.77.136 * no
Asegúrese de que todas sus IP públicas tengan reglas de salida y una IP NAT única.
Respuesta2
Santa mierda... ¡Esto es complejo! He estado buscando reemplazar mi configuración OPNsense ejecutada en miniPC dedicada con una máquina virtual en mi servidor TrueNAS (ahora Scale, pero he ejecutado Core durante muchos años), y me preguntaba... ¿existe una forma más sencilla de ¿Hacer que todo funcione? Todo lo que quiero es que literalmente ejecute mi red y que la VM pueda comunicarse a través de WAN y LAN (dentro y fuera de la VM, por supuesto...). Soy muy consciente de que si reinicio mi servidor TrueNAS (es principalmente mi Plex Media Server), mi conexión a Internet se cortará, etc. También soy muy consciente de que no es ideal en la mayoría de las situaciones hacer esto, pero Quieres probarlo. Lo que más me gusta son las huellas más pequeñas, y si puedo deshacerme de una computadora que se ejecuta en mi red y en mi habitación, sería fantástico.
Ahora, ¿qué he podido hacer hasta ahora? Solo he podido hacer que mi máquina virtual OPNsense vea una conexión WAN, y también puedo acceder a su interfaz de usuario web... a veces...
Se agradecería cualquier ayuda si alguien ve esto en 2023... jajaja. No hay prisa, pero quiero hacerlo porque es interesante.
Gracias, Shiggitay.