網橋不轉發數據包 centos
我正在使用 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控制台了。