ブリッジはパケットを転送しない


3

CentOS 6.5 64を使用しており、xenを使用して仮想マシン(CentOS)を作成しています

ifconfig

[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 show

[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

これを解決するためのアイデアを私にくれる人なら、感謝します。

回答:


2

まず、VirtualBoxを使用してXENサーバーをホストしている場合は、ワイヤレスネットワークではなくイーサネットを使用し、無差別モードを「すべて許可」に設定してください。

次に、すべてをクリーンにするために、XENを使用したCentOSのクリーンインストールから始めて、Bridge NetworkとCentOS VMをインストールします。

/var/www/html/centos/6.3/os/i386/に抽出されたCentOS ISOおよび/var/www/html/centos/6.3/os/i386/ks.cfgにキックスタートファイルがある外部サーバー192.168.1.6があると仮定しますおよび/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:XXMACアドレスに合わせて行を編集します。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を使用してVMを作成します。

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"

これでVMが起動し、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コンソールをインストールできます。


3

私は私からそれを得た、あなたはこれが役に立つことを願って、ここで
ブリッジを介してすべてのトラフィックを転送しませんブリッジ

原因:ネットワークブリッジは、ブリッジを介してすべてのトラフィックを転送しません。定義により、ブリッジはブロードキャストトラフィックを転送します。他のネットワークトラフィックは、ターゲット(MACアドレス)がトラフィックの反対側にある場合にのみ転送されます。MACアドレスがトラフィックの反対側にない場合、転送されません。

解決策:すべてのトラフィックをブリッジ経由で転送するには、「IPテーブル」で転送ルールを設定する必要があります。残念ながら、このドキュメントではその方法を詳しく説明するには変数が多すぎます。このソリューションを実装する必要がある場合は、Novell Linuxパートナーにお問い合わせください。

解決策:別の解決策は、PCIパススルーを実行することです。これは、Xenのドキュメントに詳しく記載されています。ただし、注意点は、現時点では準仮想ドミアンのみが利用できるということです。Intel-VTdテクノロジーをサポートする新しいチップとマザーボードを使用すると、完全仮想ドメインでPCIパススルーを使用できます。


2

問題が解決するかどうかはわかりませんが、開い/etc/sysctl.confて設定してみましたか?

net.ipv4.ip_forward = 1

network新しい構成を再ロードするには、再起動が必要になる場合があります。

service network restart

私は前にそれを試してみました:(
スティーブ14

0

sysctl -aを確認してください

net.ipv6.conf.all.forwarding = 0が見つかります

sysctl.confにnet.ipv6.conf.all.forwarding = 1を追加できます

次に、sysctl -pを実行して新しい設定をロードします。

動作しない場合は、にリストされている他の変数を変更します

sysctl -a | grep forward

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.