2016-04-05 11 views
-2

私はRHEL6.4 OSのホストを持っています。ホストの下には、RHEL6.4を実行しているKVM VMがあります。OpenVswitch/KVMゲストが外部GWにpingできません

ホストは次のようにIは、ホストのネットワークインタフェースを設定したVLANタグ1

を有するタグ付けされたスイッチインタフェースに接続されている:

のifcfg-eth0の

DEVICE=eth0 
TYPE=Ethernet 
ONBOOT=yes 
USERCTL=no 
BOOTPROTO=none 
MASTER=bond0 
SLAVE=yes 

ifcfg-eth1

DEVICE=eth1 
TYPE=Ethernet 
ONBOOT=yes 
USERCTL=no 
BOOTPROTO=none 
MASTER=bond0 
SLAVE=yes 

のifcfg-bond0の

DEVICE=bond0 
TYPE=Bond 
BONDING_MASTER=yes 
BOOTPROTO=static 
NAME=bond0 
ONBOOT=yes 
USERCTL=no 
BONDING_OPTS="mode=active-backup primary=eth0 miimon=100" 

とホストのvSwitchは、次のように:

ovs-vsctl add-br ovsbr0 
ovs-vsctl add-port ovsbr0 bond0 
ovs-vsctl add-port ovsbr0 vlan1 tag=1 -- set interface content type=internal 
ifconfig vlan1 192.168.1.2/28 up 

そして、私はすることができますよ外部vlan1 GW(192.168.1.1)にpingを実行します。

問題は、私がVMから外部IPv4ゲートウェイにpingできないことです。 VMからpingを実行すると、最初のパケットに対する応答が得られますが、残りの部分はVLANタグを失い、間違ったインタフェースになります。私はbond0.1 tcpdumpの場合 は、私は(ないbond0.1)

[[email protected] ~]# ping 192.168.1.1 
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=2.64 ms 
^C 
--- 192.168.1.1 ping statistics --- 
5 packets transmitted, 1 received, 80% packet loss, time 4786ms 
rtt min/avg/max/mdev = 2.642/2.642/2.642/0.000 ms 
[[email protected] ~]# 
[[email protected] ~]# tcpdump -i bond0.1 host 192.168.1.1 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
listening on bond0.1, link-type EN10MB (Ethernet), capture size 65535 bytes 
20:49:28.053502 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 1, length 64 
20:49:28.054158 IP 192.168.1.1 > 192.168.1.3: ICMP echo reply, id 55664, seq 1, length 64 
20:49:29.055189 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 2, length 64 
20:49:30.054971 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 3, length 64 
20:49:31.054935 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 4, length 64 
20:49:32.054918 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 5, length 64 
bond0のインターフェイスに表示されているように見える最初のICMP要求と応答が、ICMPのreplysの残りを見ます次のように#
[[email protected]]# tcpdump -i bond0 host 192.168.1.1 
tcpdump: WARNING: bond0: no IPv4 address assigned 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
listening on bond0, link-type EN10MB (Ethernet), capture size 65535 bytes 
20:49:28.053509 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 1, length 64 
20:49:29.055199 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 2, length 64 
20:49:29.055653 IP 192.168.1.1 > 192.168.1.3: ICMP echo reply, id 55664, seq 2, length 64 
20:49:30.054983 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 3, length 64 
20:49:30.055522 IP 192.168.1.1 > 192.168.1.3: ICMP echo reply, id 55664, seq 3, length 64 
20:49:31.054968 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 4, length 64 
20:49:31.056497 IP 192.168.1.1 > 192.168.1.3: ICMP echo reply, id 55664, seq 4, length 64 
20:49:32.054927 IP 192.168.1.3 > 192.168.1.1: ICMP echo request, id 55664, seq 5, length 64 
20:49:32.055402 IP 192.168.1.1 > 192.168.1.3: ICMP echo reply, id 55664, seq 5, length 64 

VMネットワークインタフェースが構成されている:

のifcfg-eth0の

DEVICE=eth0 
TYPE=Ethernet 
ONBOOT=yes 
USERCTL=no 
BOOTPROTO=none 
MASTER=bond0 
SLAVE=yes 

のifcfg-eth1の

DEVICE=eth1 
TYPE=Ethernet 
ONBOOT=yes 
USERCTL=no 
BOOTPROTO=none 
MASTER=bond0 
SLAVE=yes 

のifcfg-bond0の

DEVICE=bond0 
TYPE=Bond 
BONDING_MASTER=yes 
BOOTPROTO=static 
NAME=bond1 
ONBOOT=yes 
USERCTL=no 
BONDING_OPTS="mode=active-backup primary=eth0 miimon=100" 

のifcfg-bond0.1

なぜこの問題が発生するのでしょうか?

答えて

0

デフォルトでは、VLAN 1はタグなしです。したがって、タグ付き(トランクモードのポート)として使用する場合、別のタグなし(デフォルトのVLAN)スイッチを選択する必要があります。 間違ったVLAN構成では、上記の動作が発生する可能性があります。つまり、トラフィックは送信していますが、戻ってきていません。 別のVLANを作成してもう一度やり直してください。

また、sysctlと別の設定をthis article

で確認してください
関連する問題