가상 호스트에서 pfSense/OPNSense를 설정하는 방법은 무엇입니까?

가상 호스트에서 pfSense/OPNSense를 설정하는 방법은 무엇입니까?

*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을 통해 라우팅됩니다. 호스트 시스템의 트래픽은 가상 시스템을 통해 전송될 수 없습니다.

내가 사용하는 네트워크 및 가상 머신 관리용웹버트클라우드 하지만 모든 것을 수동으로 하는 것도 가능합니다.

  1. 각 공용 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
    

    [...]

  2. 설명된 대로 libvirt를 사용하여 네트워크를 만듭니다.여기: (또는 WebvirtCloud 사용) 최소한 두 개의 브리지가 필요합니다. 하나는 LAN용이고 다른 하나는 WAN용입니다.

이 시점에서 LAN(장치: virbr1)(네트워크: 192.168.100.0/24)이라는 네트워크 하나와 WAN(장치: virbr0)(네트워크: 192.168.77.0/24)이라는 네트워크 하나가 있어야 합니다.

  1. 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>
  1. 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.

[...]

  1. 호스트 시스템의 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

  1. OPNSense(웹 브라우저) - WAN 인터페이스에서 가상 IP 생성
Virtual IP-address    Interface           TYPE
192.168.77.136/32         WAN          IP Alias
192.168.77.137/32         WAN          IP Alias

[...]

  1. 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년에 누군가 이것을 본다면 어떤 도움이라도 주시면 감사하겠습니다... ㅋㅋㅋ. 서두를 필요는 없지만 재미있으니까 하고 싶어요.

고마워요, 시기타이

관련 정보