Soru Kvm'de yönlendirme ağı


Kvm-ağı için kullanılan birçok yapılandırma var. Ancak, ev sahibinden veya dışarıdan konuya ulaşamıyorum. Ubuntu 11.04 üzerinde çalışıyorum. Konukta dhcp ile bir WindowsXp var.

Konukçının ev sahibinin aynı ağında olmasını istiyorum. ip takma adlarını kullanmaya çalıştım

/ etc / network / interfaces'te köprülü ağ kurdum

auto eth0
iface eth0 inet manual

auto eth0:1
iface eth0:1 inet static
address 192.168.0.11
netmask 255.255.255.0

auto br0
iface br0 inet static
         address 192.168.0.10
         netmask 255.255.255.0
         gateway 192.168.0.1
         bridge_ports eth0
         bridge_stp off
         bridge_fd 0
         bridge_maxwait 0

sonra /etc/libvirtd/qemu/network/default.xml dosyasında varsayılan ağ değiştirildi

<network>
<name>default</name>
<uuid>831a93e1-0b84-0b0e-9ca2-23c407983968</uuid>
<forward mode='route'/>
<bridge name='virbr0' stp='on' delay='0' />
 <ip address='192.168.122.1' netmask='255.255.255.0'>
  <dhcp>
    <range start='192.168.122.100' end='192.168.122.254' />
    <host mac='52:54:00:7c:df:88' name='vm' ip='192.168.122.99' />
  </dhcp>
</ip>
</network>

/etc/libvirt/qemu/vm.xml dosyasındaki ağ

<interface type='network'>
  <mac address='52:54:00:7c:df:88'/>
  <source network='default'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

dhcp gelen misafir doğru ip alır. Son olarak, harici arayüzlerden gelen trafiği iç ve arkaya yönlendirin

sudo iptables -t nat -A PREROUTING -d 192.168.0.11 -j DNAT --to-destination 192.168.122.99

sudo iptables -t nat -A POSTROUTING -d 192.168.122.99 -j SNAT --to-source 192.168.0.11

Böylece, yapılandırma şu şekildedir:

$> brctl show
bridge name          bridge id      STP enabled interfaces
br0             8000.0026b902076d   no      eth0
virbr0          8000.fe54007cdf88   yes     vnet0

$> route
Tabella di routing IP del kernel
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 br0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
link-local      *               255.255.0.0     U     1000   0        0 br0
default         192.168.0.1     0.0.0.0         UG    100    0        0 br0

$> ifconfig

br0       Link encap:Ethernet  HWaddr 00:26:b9:02:07:6d  
      indirizzo inet:192.168.0.10  Bcast:192.168.0.255  Maschera:255.255.255.0

eth0      Link encap:Ethernet  HWaddr 00:26:b9:02:07:6d  
      indirizzo inet6: fe80::226:b9ff:fe02:76d/64 Scope:Link

eth0:1    Link encap:Ethernet  HWaddr 00:26:b9:02:07:6d  
      indirizzo inet:192.168.0.11  Bcast:192.168.0.255  Maschera:255.255.255.0

virbr0    Link encap:Ethernet  HWaddr fe:54:00:7c:df:88  
      indirizzo inet:192.168.122.1  Bcast:192.168.122.255  Maschera:255.255.255.0

vnet0     Link encap:Ethernet  HWaddr fe:54:00:7c:df:88  
      indirizzo inet6: fe80::fc54:ff:fe7c:df88/64 Scope:Link

Yanlış olan ne? Ya da ev sahibi dışında görünebilen bir misafirimi nasıl kurabilirim?


5
2018-05-18 11:46


Menşei




Cevaplar:


Buna bir zaman önce rastladım. Ancak, bir takma addaki köprüyü kurmanın bir yolu yok gibi görünüyor. eth0:1. Gerçek arayüzü kullan eth0.

auto eth0
iface eth0 inet static

auto br0
iface br0 inet static
     bridge_ports eth0
     address 192.168.0.10
     netmask 255.255.255.0
     gateway 192.168.0.1
     broadcast 192.168.0.255
     bridge_stp off
     bridge_fd 0
     bridge_maxwait 0

Ayrıca adres, ağ maskesi, geçit ve yayın yapmak değerler, bir arayüzün sahip olması gereken mininal konfigürasyonlardır. Daha az değerle çalışabilir, ancak garip ağ davranışlarına neden olabilir.

Daha önce hatırladığım gibi, default.xml dosyasını hiç düzenlemek zorunda değilsiniz. Sadece, her KVM Konağı'nın, ihtiyaçlarınıza göre ağ arabirimi kurulumuna sahip olduğundan emin olmalısınız.

<interface type='bridge'>
  <mac address='00:01:b4:02:00:db'/> # change per guest
  <source bridge='br0'/>             # the name of your source bridge
  <target dev='vnet0'/>              # the name, the network interface has for the guest
</interface>

Kurulum, DHCP ve statik kurulum gibi tüm çeşitleri kapsayacak şekilde karmaşıktır. Kontrol ettin mi KVM ile ilgili Ubuntu belgeleri? Bu işe girmek için bana çok yardımcı oldu.


7
2018-05-18 12:35





Neden br0'ı kullanacaksınız? Bir "ağ" ile yapılandırmak yerine, onu bir "köprü" ile yapılandırabilir ve VM'yi br0'a ekleyebilirsiniz. örnek:

<interface type='bridge'>
<source bridge='br0'/>
<mac address='00:16:3e:1a:b3:4a'/>
</interface>

Bu sayede konuk, harici ağdan bir IP alacaktır ve iş ile iletişim kurabilir ve üzerinden ev sahibi olabilir.

NOT: Bununla birlikte, bir köprünün kullanılmasının olumsuz tarafı, sanal makinenize yapılan bağlantıların istemci ip adresini görmeyeceğinizdir. Bunun yerine, köprü ana bilgisayarının IP adresi bir linux VM'de ve benzer şekilde bir windows VM'de apache, auth.log vb.


7
2018-05-18 11:52



istemcideki windows güvenlik duvarı, tüm istekleri engelliyordu ... çözüldü! - nevios