KVM網路配置之公網
上篇記錄了kvm私有網路的相關配置,這篇記錄一下如何給虛擬機器配置公網。
具體網路拓撲圖參考上篇,router1
模擬分配公網IP地址。192.168.11.0網段模擬為公網IP地址段。
為kvm虛擬機器繫結IP地址
以vm1為例為其分配192.168.11.14。
首先檢視vm1的配置檔案
... <interface type='bridge'> <mac address='52:54:00:27:c7:f3'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='rtl8139'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> ...
通過掛載虛擬機器img映象方式修改vm1的/etc/network/interfaces
,將interface改為靜態ip。我這裡的虛擬機器系統為ubuntu10.04,其他系統請配置相應的網路管理工具。
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto ens3 iface ens3 inet static address 192.168.11.14 netmask 255.255.255.0 gateway 192.168.11.1 dns-nameservers 192.168.11.1
為了防止使用者隨意更改ip地址,使用ebtables
對網橋br0新增規則
ebtables -t nat -A vm1-vnet0-I -s ! 52:54:00:27:c7:f3 -j DROP ebtables -t nat -A vm1-vnet0-I -p IPv4 --ip-src 192.168.11.14 -j ACCEPT ebtables -t nat -A vm1-vnet0-I -p ARP --arp-ip-src 192.168.11.14 -j ACCEPT ebtables -t nat -A vm1-vnet0-I -p ARP --arp-mac-src ! 52:54:00:27:c7:f3 -j DROP ebtables -t nat -A vm1-vnet0-I -p ARP --arp-op Request -j ACCEPT ebtables -t nat -A vm1-vnet0-I -p ARP --arp-op Reply -j ACCEPT ebtables -t nat -A vm1-vnet0-I -j DROP ebtables -t nat -A vm1-vnet0-O -p ARP --arp-op Reply --arp-mac-dst ! 52:54:00:27:c7:f3 -j DROP ebtables -t nat -A vm1-vnet0-O -p IPv4 --ip-dst 192.168.11.14 -j ACCEPT ebtables -t nat -A vm1-vnet0-O -p ARP --arp-ip-dst 192.168.11.14 -j ACCEPT ebtables -t nat -A vm1-vnet0-O -p ARP --arp-op Request -j ACCEPT ebtables -t nat -A vm1-vnet0-O -p ARP --arp-op Reply -j ACCEPT ebtables -t nat -A vm1-vnet0-O -j DROP ebtables -t nat -A PREROUTING -i vnet0 -j vm1-vnet0-I ebtables -t nat -A POSTROUTING -O vnet0 -j vm1-vnet0-O
限制虛擬機器頻寬
有空在寫