如何在虛擬主機上設定pfSense/OPNSense?

如何在虛擬主機上設定pfSense/OPNSense?

我對如何將 *Sense 盒子託管為虛擬機器並讓它為主機提供路由感到有點困惑。

Internet -> Modem/Router (bridge mode) -> en1 on Dell r710 -> OPNSense in a VM

Then also:
OPNSense in a VM -> en2 -> 12-port switch

例如我在虛擬機器上設定網路介面的目的,以及如何定義 OPNSense 將 10.0.2.1 作為其 IP 並使其成為主路由器(dhcp 等),以便 OPNSense 可以為我連接的任何設備提供路由(透過我擁有的交換器),以及虛擬機器運作的主機?

我的虛擬機器在 Ubuntu 16.04.5 上使用 Wok/Kimchi 的 KVM 上運作。

答案1

不幸的是,這個問題有點太不精確,我沒有資格提出進一步的問題。幾天前我在虛擬環境中設定了 OPNSense,所以希望我可以在這裡留下一些提示。我並不認為這是一個好的解決方案,但它對我有用。在這種情況下,我有一個專用伺服器和一個 /29 公用 IP 子網路。來自其他 VM 的所有流量都透過 OPNSense-VM 路由。宿主機器的流量無法透過虛擬機器發送。

用於管理我使用的網路和虛擬機Web虛擬雲 但也可以手動完成所有操作。

  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 位址。我選擇 192.168.77.2 作為我的 OPNSense WAN IP 位址。 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

完成此步驟後,您應該可以從 Web 瀏覽器開啟 OPNSense。為此,您需要一台已經屬於 LAN 的虛擬機器。我建議使用 grml 或 Ubuntu 等 Live CD。在這種情況下,可以透過以下方式存取 OPNSensehttp://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(Web 瀏覽器)中的 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

天啊……這很複雜!我一直在尋找用TrueNAS(現已擴展,但我已經運行Core 多年)伺服器上的虛擬機來替換我專用的miniPC 運行的OPNsense 設置,我只是想知道......是否有一種更簡單的方法一切順利嗎?我想要的只是它能夠真正運行我的網絡,並使虛擬機能夠透過 WAN 和 LAN 進行通訊(當然是在虛擬機器內部和外部...)。我很清楚,如果我重新啟動我的 TrueNAS 伺服器(主要是我的 Plex 媒體伺服器),我的網路連線將會中斷等。嘗試一下。我喜歡更小的佔地面積,如果我能擺脫在我的網路和房間裡運行的計算機,那就太棒了。

那麼到目前為止我能做什麼呢?我只能讓我的 OPNsense 虛擬機器查看 WAN 連接,並且我能夠進入其 WebUI...有時...

如果有人在 2023 年看到此內容,我們將不勝感激......哈哈。並不著急,但我有點想做,因為它很有趣。

謝謝,希吉泰

相關內容