Networking
qemu,kvm:訪客:未收到 DHCPOFFERS
我正在嘗試設置一個虛擬機(訪客),它應該充當路由器(ubntu 14.04)。主機是 CentOS 7 機器(4x LAN)。來賓應該通過它的
eth0
( guest ) 獲得一個公共 IP 地址,該地址通過( host )連接到enp0s20f0
( host )。br0
問題是,客人沒有獲得IP地址。
更多資訊:
- 主機(
enp0s20f0
- ) 的所有介面enp0s20f3
都通過網橋br0
-br3
( host ) 連接到eth0
-eth3
( guest )。- LAN 介面(主機)沒有bootproto
- 網橋(主機)沒有bootproto,除了
br2
:有bootproto=static
這樣我可以將主機連接到來賓,然後連接到網際網路草圖:
+---------------------------------------------------------------------------------------------------------+ |主機:CentOS 7、KVM、qemu | | +------------------------------------------------------------------------------------+ + - - - - - -+ | | |來賓 (VM):ubuntu 14.04 路由器、防火牆 | |其他客人| | | | (虛擬機) | | | | +--------------------------------------------------------------------------------+ | | | | | | | | | | | | | 防火牆| | | | | | | | | | | | | ++------------+---------+-------------+-------+-------------+------+------------++ | | | | | +------------+ +-------------+ +-------------+ +------------+ | | | | | |問題:| | | | | | | | | | | | |eth0 | |eth1 | |eth2 | |eth3 | | + - - - - - -+ | | | |dhcp | |靜態 | |靜態 | |靜態 | | X | | +-------------------------------------------------- ------------------------------------------------+ X | | |不工作 | |區域網路區| |dmz | |wlan 區 | X | | +----+-------+ +-----+--------+ +--------+-----+ +----- ------++ X | | | | | | X | | | | | XXXX |X | | +------+---------+ +-----+------------+ +-+--------- ----X---+ +-----------------+ | | | | | | | | | | | | | | | | | | | | | | | br0 | | br1 | | br2 | | br3 | | | | | | | | BOOTPROTO=靜態 | | | | | | BOOTPROTO=無| | BOOTPROTO=無 | | IP:本地ip | | BOOTPROTO=無 | | | +-------+--------+ +---------+--------+ +----------+-------+ +---------+--------+ | | | | | | | | | | | | | | | | | | | | +-------+--------+ +---------+--------+ +----------+-------+ +---------+--------+ | | | | | | | | | | | | enp0s20f0 | enp0s20f1 enp0s20f2 enp0s20f3 | +---------------------------------------------------------------------------------------------------------+ | | | | | | | | | | | | | | | | +--------X-------+ +---------X--------+ +---------XX- ------+ +----------XX------+ XXXXXX X XXXXXX XX XX loc LAN XXX X 其他伺服器 (dmz) XXX wlan zone XX X XXXXXXXXX X XXXXXX XXX X 網際網路 XXXXXX XXXXXXXXX XXXXXXXXX XXX
配置:
客人:
貓 /etc/網路/介面 #[...] 它 [...] # 主網路介面 自動 eth0 iface eth0 inet dhcp # 區域網路 汽車 eth1 iface eth1 inet 靜態 地址 192.168.xy 網路遮罩 255.255.255.0 廣播 192.168.x.255 # DMZ 自動 eth2 iface eth2 inet 靜態 地址 10.0.pq 網路遮罩 255.255.255.0 廣播 10.0.p.255 # 無線區域 自動 eth3 iface eth3 inet 靜態 地址 192.168.vw 網路遮罩 255.255.255.0 廣播 192.168.v.255
主持人:
貓 /etc/sysconfig/network-scripts/ifcfg-* 名稱=br0 設備=br0 名稱=br2 名稱=br3 TYPE=網橋 NAME=br1 TYPE=網橋 TYPE=網橋 ONBOOT=yes TYPE=橋接 BOOTPROTO=static ONBOOT=yes BOOTPROTO=none ONBOOT=yes ONBOOT=yes BOOTPROTO=none NM_CONTROLLED=無 BOOTPROTO=無 IPADDR=10.0.0.10 NM_CONTROLLED=無 延遲=0 NM_CONTROLLED=無網路遮罩=255.255.255.0 延遲=0 DEFROUTE=no DELAY=0 網關=10.0.pq DEFROUTE=no PEERDNS=no DEFROUTE=no DNS1=10.0.pq PEERDNS=no # PEERROUTES=yes PEERDNS=no NM_CONTROLLED=no # PEERROUTES=yes # IPV4_FAILURE_FATAL=no # PEERROUTES=yes DELAY=0 # IPV4_FAILURE_FATAL=no #IPV6INIT=no #IPV4_FAILURE_FATAL=no DEFROUTE=yes #IPV6INIT="no" #IPV6_AUTOCONF=no #IPV6INIT=no PEERDNS=yes #IPV6_AUTOCONF=no #IPV6_DEFROUTE=no #IPV6_AUTOCONF=no #PEERROUTES=yes #IPV6_DEFROUTE=no # IPV6_PEERDNS = 否 # IPV6_DEFROUTE = 否 # IPV4_FAILURE_FATAL = 否 # IPV6_PEERDNS = 否 #IPV6_PEERROUTES=yes #IPV6_PEERDNS=no #IPV6INIT=no #IPV6_PEERROUTES=yes #IPV6_FAILURE_FATAL=否#IPV6_PEERROUTES=是#IPV6_AUTOCONF=否#IPV6_FAILURE_FATAL=否 DEVICE=br0 # IPV6_FAILURE_FATAL=no # IPV6_DEFROUTE=no DEVICE=br3 設備=br1 # IPV6_PEERDNS=否 # IPV6_PEERROUTES=是 #IPV6_FAILURE_FATAL=否 設備=br2 名稱=enp0s20f0 名稱=enp0s20f1 名稱=enp0s20f2 名稱=enp0s20f3 HWADDR="ab:cd:ef:gh:ij:kl" HWADDR=ab:cd:ef:gh:ij:mn HWADDR=ab:cd:ef:gh:ij:op HWADDR=ab:cd:ef:gh :ij:qr UUID="[...]" UUID=[...] UUID=[...] UUID=[...] TYPE=乙太網 TYPE=乙太網 TYPE=乙太網 TYPE=乙太網 BOOTPROTO=none BOOTPROTO=none BOOTPROTO=none BOOTPROTO=none ONBOOT=yes ONBOOT=yes ONBOOT=yes ONBOOT=yes 橋=br0 橋=br1 橋=br2 橋=br3 NM_CONTROLLED=否 NM_CONTROLLED=否 NM_CONTROLLED=否 NM_CONTROLLED=否 #PERSISTENT_DHCLIENT=1 #DEFROUTE=no #DEFROUTE=no #DEFROUTE=no #DEFROUTE=no #PEERDNS=yes #PEERDNS=yes #PEERDNS=yes #PEERDNS=yes #PEERROUTES=yes #PEERROUTES=yes #PEERROUTES=yes #PEERROUTES =是#IPV4_FAILURE_FATAL =否#IPV4_FAILURE_FATAL =否#IPV4_FAILURE_FATAL =否 #IPV4_FAILURE_FATAL=yes #IPV6INIT="no" #IPV6INIT=no #IPV6INIT=no #IPV6INIT=no #IPV6_AUTOCONF=no #IPV6_AUTOCONF=no #IPV6_AUTOCONF=no #IPV6_AUTOCONF=no #IPV6_DEFROUTE=yes #IPV6_DEFROUTE=yes #IPV6_DEFROUTE=yes #IPV6_DEFROUTE=no #IPV6_PEERDNS=yes #IPV6_PEERDNS=yes #IPV6_PEERDNS=yes #IPV6_PEERDNS=yes #IPV6_PEERROUTES=yes #IPV6_PEERROUTES=yes #IPV6_PEERROUTES=yes #IPV6_PEERROUTES =是#IPV6_FAILURE_FATAL =否#IPV6_FAILURE_FATAL =否#IPV6_FAILURE_FATAL =否 # IPV6_FAILURE_FATAL=無設備=enp0s20f1 設備=enp0s20f2 設備=enp0s20f3 設備=enp0s20f0
- 所有
ip route
和所有ifconfig
/ip addr
都返回正確的值,除了eth0
( guest )。- 在執行
ifup eth0
時,來賓嘗試獲取一個 IP 地址 (DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval [...]
) 並使用No DHCPOFFERS received.
我對每一個想法都很滿意…
您的 ISP 的設備可能沒有將 DHCP 地址提供給未直接連接到它的 MAC 地址。您需要致電您的 ISP 來確認這一點。
如果是這樣,您可以使用 ebtables 來欺騙 VM 的 MAC,如下所示: