다리가 패킷 중심을 전달하지 않습니다


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 쇼

[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

동일한 호스트에서 가상 머신 핑

[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

로컬 네트워크의 장치에서 가상 머신 핑

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 console을 사용하여 IP를 얻은 다음 ssh console을 사용할 수 있습니다.


3

이 정보가 도움이 되었기를 바랍니다 .
브리지를 통해 모든 트래픽을 전달하지는 않습니다.

원인 : 네트워크 브리지가 브리지를 통해 모든 트래픽을 전달하지는 않습니다. 정의에 따라 브리지는 브로드 캐스트 트래픽을 전달합니다. 다른 네트워크 트래픽은 대상 (MAC 주소)이 트래픽의 다른쪽에있을 때만 전달됩니다. MAC 주소가 트래픽의 다른쪽에 없으면 전달되지 않습니다.

솔루션 : 브리지를 통해 모든 트래픽을 전달하려면 "ip 테이블"에 전달 규칙을 설정해야합니다. 불행히도,이 문서에는 그 방법을 자세히 설명하기에는 너무 많은 변수가 있습니다. 이 솔루션을 구현해야하는 경우 Novell Linux 파트너에게 문의해야합니다.

솔루션 : 다른 솔루션은 PCI 통과를 수행하는 것인데, Xen 설명서에 잘 설명되어 있습니다. 그러나주의 할 점은 현재 현재 반 가상적 Domians에서만 사용할 수 있다는 것입니다. Intel-VTd 기술을 지원하는 최신 칩 및 마더 보드를 사용하면 완전히 가상 도메인에서 PCI 통과를 사용할 수 있습니다.


2

문제가 해결되는지 확실하지 않지만 열기 /etc/sysctl.conf및 설정 을 시도 했습니까 ?

net.ipv4.ip_forward = 1

network새 구성을 다시로드하려면 다시 시작해야 할 수 있습니다 .

service network restart

나는 전에 그것을 시도했다 :(
Steve

0

sysctl -a 확인

net.ipv6.conf.all.forwarding = 0을 찾을 수 있습니다

sysctl.conf에서 net.ipv6.conf.all.forwarding = 1을 추가 할 수 있습니다

그런 다음 sysctl -p를 수행하여 새 설정을로드하십시오.

작동하지 않으면에 나열된 다른 변수를 수정하십시오.

sysctl -a | 앞으로 인사하다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.