Networking

網橋不轉發數據包 centos

  • May 3, 2014

我正在使用 CentOS 6.5 64 並使用 xen 創建虛擬機(CentOS)

如果配置

[root@CentOS ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:54:B3:FA
         inet6 addr: fe80::a00:27ff:fe54:b3fa/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:10087 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6094 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:763616 (745.7 KiB)  TX bytes:541789 (529.0 KiB)

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:5 errors:0 dropped:0 overruns:0 frame:0
         TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

vif2.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
         inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:32 errors:0 dropped:0 overruns:0 frame:0
         TX packets:3969 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:32
         RX bytes:2088 (2.0 KiB)  TX bytes:267825 (261.5 KiB)

xenbr0    Link encap:Ethernet  HWaddr 08:00:27:54:B3:FA
         inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fe54:b3fa/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:9896 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1892 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:613149 (598.7 KiB)  TX bytes:284945 (278.2 KiB)

brctl 顯示

[root@CentOS ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.08002754b3fa       yes             eth0
                                                       vif2.0

xl 網路列表

[root@CentOS ~]# xl network-list xc
Idx BE Mac Addr.         handle state evt-ch   tx-/rx-ring-ref BE-path
0   0  00:16:3e:22:4f:4b     0     4     10   768/769         /local/domain/0/backend/vif/2/0

brctl showmacs xenbr0

[root@CentOS ~]# brctl showmacs xenbr0
port no mac addr                is local?       ageing timer
 2     00:16:3e:22:4f:4b       no                89.35
 1     00:1e:8c:19:62:67       no                 0.00
 1     00:22:6b:fe:b9:36       no                 4.92
 1     08:00:27:54:b3:fa       yes                0.00
 1     90:c1:15:c4:89:6d       no                25.00
 1     e0:2a:82:3d:c0:c5       no                 3.78
 2     fe:ff:ff:ff:ff:ff       yes                0.00

Ping

從同一主機 ping 虛擬機

[root@CentOS ~]# ping 192.168.1.120
PING 192.168.1.120 (192.168.1.120) 56(84) bytes of data.
64 bytes from 192.168.1.120: icmp_seq=1 ttl=64 time=2.78 ms
64 bytes from 192.168.1.120: icmp_seq=2 ttl=64 time=0.916 ms
64 bytes from 192.168.1.120: icmp_seq=3 ttl=64 time=0.917 ms
^C
--- 192.168.1.120 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2370ms
rtt min/avg/max/mdev = 0.916/1.538/2.782/0.879 ms

從本地網路中的設備 ping 虛擬機

C:\Users\motaz>ping 192.168.1.120

Pinging 192.168.1.120 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.

iptables

[root@CentOS ~]#  iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
  11   700 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
   0     0 ACCEPT     icmp --  any    any     anywhere             anywhere
   0     0 ACCEPT     all  --  lo     any     anywhere             anywhere
   0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:ssh
   0     0 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
   0     0 ACCEPT     all  --  any    any     anywhere             anywhere            PHYSDEV match --physdev-is-bridged
   0     0 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 8 packets, 864 bytes)
pkts bytes target     prot opt in     out     source               destination

誰能給我一個解決這個問題的想法,我將不勝感激。

brctl showstp xenbr0

[root@CentOS images]# brctl showstp xenbr0
xenbr0
bridge id              8000.080027798267
designated root        8000.080027798267
root port                 0                    path cost                  0
max age                  20.00                 bridge max age            20.00
hello time                2.00                 bridge hello time          2.00
forward delay             2.00                 bridge forward delay       2.00
ageing time             300.00
hello timer               0.65                 tcn timer                  0.00
topology change timer     0.00                 gc timer                 109.38
hash elasticity           4                    hash max                 512
mc last member count      2                    mc init query count        2
mc router                 1                    mc snooping                1
mc last member timer      1.00                 mc membership timer      260.00
mc querier timer        255.00                 mc query interval        125.00
mc response interval     10.00                 mc init query interval    31.25
flags


eth0 (0)
port id                0000                    state                forwarding
designated root        8000.080027798267       path cost                  4
designated bridge      8000.080027798267       message age timer          0.00
designated port        8001                    forward delay timer        0.00
designated cost           0                    hold timer                 0.00
mc router                 1
flags

首先,如果您使用 VirtualBox 來託管 XEN 伺服器,請確保使用乙太網而不是無線網路,並將混雜模式設置為“全部允許”。

其次,為了讓一切都變得乾淨,讓我們從使用 XEN 的 CentOS 的干淨安裝開始,並在其上安裝 Bridge Network 和 CentOS VM。

假設您有外部伺服器 192.168.1.6,在 /var/www/html/centos/6.3/os/i386/ 上提取了 CentOS ISO,在 /var/www/html/centos/6.3/os/i386/ks.cfg 上提取了 kickstart 文件和 /var/www/html/centos/6.3/os/i386/repodata 與 repodata/TRANS.TBL 文件中的名稱匹配

在 XEN 伺服器 (CentOS+XEN) 上安裝以下軟體包:

yum install -y rsync wget vim-enhanced openssh-clients
yum install -y libvirt python-virtinst libvirt-daemon-xen
yum install -y bridge-utils tunctl

然後編輯 ifcfg-* 文件以創建網橋

echo "DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-br0

echo "DEVICE=eth0
HWADDR=XX:XX:XX:XX:XX:XX
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=br0" >  /etc/sysconfig/network-scripts/ifcfg-eth0

編輯HWADDR=XX:XX:XX:XX:XX:XX行以匹配您的 MAC 地址。不要在 ssh 控制台上重新啟動,使用 VBox 控制台

reboot

重啟後,假設您有 DHCP 伺服器 XEN 伺服器將獲得一個新 IP,通過 VBox 控制台登錄以獲取新 IP

ifconfig 結果應該類似於

br0       Link encap:Ethernet  HWaddr 08:00:27:23:54:69  
         inet addr:192.168.1.105  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fe23:5469/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:5063 errors:0 dropped:0 overruns:0 frame:0
         TX packets:3142 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:34251267 (32.6 MiB)  TX bytes:361205 (352.7 KiB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:23:54:69  
         inet6 addr: fe80::a00:27ff:fe23:5469/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:149910 errors:0 dropped:0 overruns:0 frame:0
         TX packets:5045 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:182020057 (173.5 MiB)  TX bytes:493792 (482.2 KiB)

現在網橋已準備就緒,您可以使用 br0 的 IP 再次獲取 ssh 控制台

要在 XEN 上創建使用先前網橋的虛擬機:

cd /var/lib/xen/images/

創建虛擬磁碟:

dd if=/dev/zero of=centos_1.img bs=4K count=0 seek=1024K
qemu-img create -f raw centos_1.img 8G 

然後使用 virt-install 創建虛擬機:

virt-install -d -n TestVM1 -r 512 --vcpus=1 \
--bridge=br0 --disk /var/lib/xen/images/centos_1.img \
--nographics -p -l "http://192.168.1.6/centos/6.3/os/i386" \
--extra-args="text console=com1 utf8 console=hvc0 ks=http://192.168.1.6/centos/6.3/os/i386/ks.cfg"

現在虛擬機應該可以正常啟動並能夠從 DHCP 伺服器獲取 IP 並能夠完成無人值守的遠端安裝。

XEN 上的 ifconfig 結果應該類似於:

br0       Link encap:Ethernet  HWaddr 08:00:27:23:54:69  
         inet addr:192.168.1.105  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fe23:5469/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:10247 errors:0 dropped:0 overruns:0 frame:0
         TX packets:8090 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:102264338 (97.5 MiB)  TX bytes:827859 (808.4 KiB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:23:54:69  
         inet6 addr: fe80::a00:27ff:fe23:5469/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:998780 errors:0 dropped:0 overruns:0 frame:0
         TX packets:37992 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:724701715 (691.1 MiB)  TX bytes:2897912 (2.7 MiB)


vif5.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
         inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:37 errors:0 dropped:0 overruns:0 frame:0
         TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:32 
         RX bytes:4381 (4.2 KiB)  TX bytes:9842 (9.6 KiB)

安裝完成後,你可以使用xen控制台獲取它的IP,然後你就可以在上面安裝ssh控制台了。

引用自:https://unix.stackexchange.com/questions/126032