Networking

如何僅使用公共 IP 在 KVM 上配置網路?

  • July 15, 2013

我有一個 KVM 伺服器和兩個 VM。我有一個主 IP 和兩個額外的“單一”IP(不是子網)。我不想在我的 KVM 上有一個帶有私有地址的本地網路,但我想將我的公共 IP 從提供商(我購買)分配給虛擬機,並且我想在 KVM 主機上管理這些 IP 的路由,不在提供商方面(因此,不僅僅是從提供商橋接,而是從我的主機橋接到虛擬機)

我在 Internet 上找到的所有教程都有些混亂,因為它們在解決同一個問題時都是不同的(但仍然對我不起作用)。

更新:

這行得通嗎?

auto  eth0
iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
 address 176.x.y.133 (not 192.168.1.1)
 netmask 255.255.255.224 (not 255.255.255.0)
 gateway 176.x.y.129 (Provider's GW IP)
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0

您的設置與公共 IP 沒有任何關係 - 您的根本問題是您需要使用橋接網路而不是 NATted 或僅主機橋接。

將以下內容放入/etc/network/interfaces

iface eth0 inet manual
iface br0 inet static
   bridge_ports eth0
   bridge_stp no
   bridge_fd 0
   bridge_maxwait 0
   address 192.168.1.2
   netmask 255.255.255.0
   gateway 192.168.1.1
   dns-nameservers 192.168.1.2 8.8.8.8 8.8.4.4
   dns-search example.com

當然為您的特定設置重新配置。

然後將您的虛擬機配置為橋接br0,它的行為就好像它直接連接到進入eth0.

即您的訪客虛擬機將如下所示:

<interface type='bridge'>
 <mac address='52:54:de:ad:be:ef'/>
 <source bridge='br0'/>
 <model type='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

引用自:https://serverfault.com/questions/523436