*Sense 상자를 VM으로 호스팅하고 호스트에 대한 라우팅을 제공하는 방법이 약간 혼란스럽습니다.
Internet -> Modem/Router (bridge mode) -> en1 on Dell r710 -> OPNSense in a VM
Then also:
OPNSense in a VM -> en2 -> 12-port switch
VM에서 네트워크 인터페이스를 설정하는 방법과 OPNSense가 IP로 10.0.2.1을 갖도록 정의하고 OPNSense가 내가 연결하는 모든 장치에 라우팅을 제공할 수 있도록 기본 라우터(dhcp 등)가 되도록 정의하는 방법과 같습니다. (내가 가지고 있는 스위치를 통해) 그리고 VM이 실행되는 호스트도 있습니까?
내 VM은 Ubuntu 16.04.5의 Wok/Kimchi가 있는 KVM에서 실행되고 있습니다.
답변1
불행하게도 질문이 너무 부정확해서 더 이상 질문할 만한 평판이 없습니다. 며칠 전 가상 환경에서 OPNSense를 설정했는데 여기에 몇 가지 힌트를 남길 수 있기를 바랍니다. 나는 이것이 좋은 해결책이라고 주장하지 않지만 그것은 나에게 효과적입니다. 이 시나리오에는 전용 서버와 /29 공용 IP 서브넷이 있습니다. 다른 VM의 모든 트래픽은 OPNSense-VM을 통해 라우팅됩니다. 호스트 시스템의 트래픽은 가상 시스템을 통해 전송될 수 없습니다.
내가 사용하는 네트워크 및 가상 머신 관리용웹버트클라우드 하지만 모든 것을 수동으로 하는 것도 가능합니다.
각 공용 IP에 대한 가상 네트워크 인터페이스를 만듭니다.
/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
[...]
설명된 대로 libvirt를 사용하여 네트워크를 만듭니다.여기: (또는 WebvirtCloud 사용) 최소한 두 개의 브리지가 필요합니다. 하나는 LAN용이고 다른 하나는 WAN용입니다.
이 시점에서 LAN(장치: virbr1)(네트워크: 192.168.100.0/24)이라는 네트워크 하나와 WAN(장치: virbr0)(네트워크: 192.168.77.0/24)이라는 네트워크 하나가 있어야 합니다.
- OPNSense 머신 구성을 생성하십시오. 이것은 중요한 부분입니다:
<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>
- OPNSense를 시작하고 시스템 구성에 따라 인터페이스를 할당하고 터미널을 통해 인터페이스 IP 주소를 설정하십시오. OPNSense WAN IP 주소로 192.168.77.2를 선택했습니다. WAN 업스트림 게이트웨이는 192.168.77.1로 설정됩니다.
또한 OPNSense의 각 공용 IP에 대해 별도의 LAN을 만들었습니다.
LAN136 IP-Address: 192.168.100.136/24
LAN137 IP-Address: 192.168.100.137/32
No upstream Gateways.
[...]
- 호스트 시스템의 NAT POST 및 PREROUTING 규칙
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
이 단계가 끝나면 웹 브라우저에서 OPNSense를 열 수 있습니다. 이를 위해서는 이미 LAN의 일부인 가상 머신이 필요합니다. grml이나 Ubuntu와 같은 라이브 CD를 사용하는 것이 좋습니다. 이 경우 OPNSense는 다음을 통해 접근할 수 있습니다.http://192.168.100.136
- OPNSense(웹 브라우저) - WAN 인터페이스에서 가상 IP 생성
Virtual IP-address Interface TYPE 192.168.77.136/32 WAN IP Alias 192.168.77.137/32 WAN IP Alias
[...]
- OPNSense(웹 브라우저)의 NAT 규칙 포트 전달 및 발신 규칙 생성
포트 전달 예시:
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)
나가는 규칙의 예:
모드를 수동으로 설정해야 합니다
Interface Source S-port Dest. D-port NAT-IP Port static? WAN 192.168.100.100/32 * * * 192.168.77.136 * no
모든 공용 IP에 발신 규칙과 고유한 NAT IP가 있는지 확인하세요.
답변2
이런 젠장... 이건 복잡해요! 저는 전용 miniPC 실행 OPNsense 설정을 TrueNAS(지금은 확장되었지만 수년 동안 Core를 실행했습니다) 서버의 VM으로 교체하려고 했고, 궁금했습니다... 더 간단한 방법이 있습니까? 다 작동시키나요? 내가 원하는 것은 말 그대로 네트워크를 실행하고 VM이 WAN 및 LAN을 통해 통신할 수 있게 하는 것입니다(물론 VM 내부와 외부...). TrueNAS 서버(주로 Plex Media Server)를 재부팅하면 인터넷 연결이 끊어진다는 사실을 잘 알고 있습니다. 또한 대부분의 상황에서 이렇게 하는 것이 이상적이지 않다는 것도 잘 알고 있습니다. 그것을 시험해보고 싶다. 저는 차지하는 공간이 더 작은 것을 중요하게 생각합니다. 네트워크와 방에서 실행 중인 컴퓨터를 없앨 수 있다면 정말 좋을 것 같습니다.
이제 내가 지금까지 무엇을 할 수 있었습니까? OPNsense VM에서 WAN 연결을 볼 수 있을 뿐 아니라 webUI에도 들어갈 수 있었습니다... 가끔...
2023년에 누군가 이것을 본다면 어떤 도움이라도 주시면 감사하겠습니다... ㅋㅋㅋ. 서두를 필요는 없지만 재미있으니까 하고 싶어요.
고마워요, 시기타이