Ero sivun ”Virtuaalisen järjestelmän verkkosiltaus” versioiden välillä

Siirry navigaatioon Siirry hakuun
muotoilua
(muotoilu bugaa)
 
(muotoilua)
Rivi 13: Rivi 13:
Tästä eteenpäin seuraa gentoo-kohtaista testausjärjestelmän pystytystä. Järjestelmän qemu-system -binääri on viallinen. Käännetään qemu, kvm ja libvirt uudelleen. Gentoo-pohjaisessa järjestelmässä tämä käy helposti paketinhallinnan kautta.
Tästä eteenpäin seuraa gentoo-kohtaista testausjärjestelmän pystytystä. Järjestelmän qemu-system -binääri on viallinen. Käännetään qemu, kvm ja libvirt uudelleen. Gentoo-pohjaisessa järjestelmässä tämä käy helposti paketinhallinnan kautta.


libvirtError: internal error Cannot determine QEMU argv syntax /usr/bin/qemu-system-x86_64
libvirtError: internal error Cannot determine QEMU argv syntax /usr/bin/qemu-system-x86_64




System.map pitää linkittää jotta voi kääntää kernel-moduleja (bugi distrossa):
System.map pitää linkittää jotta voi kääntää kernel-moduleja (bugi distrossa):


ariloulaleelay ~ # ln -s /boot/System.map-genkernel-x86_64-2.6.27-sabayon /lib/modules/2.6.27-sabayon/build/System.map
ariloulaleelay ~ # ln -s /boot/System.map-genkernel-x86_64-2.6.27-sabayon /lib/modules/2.6.27-sabayon/build/System.map


Qemu täytyy kääntää gcc-3:lla!
Qemu täytyy kääntää gcc-3:lla!
 
  >>> Emerging (1 of 1) app-emulation/qemu-softmmu-0.9.1-r3
>>> Emerging (1 of 1) app-emulation/qemu-softmmu-0.9.1-r3
  * qemu-0.9.1.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                                [ ok ]
* qemu-0.9.1.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                                [ ok ]
  * checking ebuild checksums ;-) ...                                                                                                                [ ok ]
* checking ebuild checksums ;-) ...                                                                                                                [ ok ]
  * checking auxfile checksums ;-) ...                                                                                                                [ ok ]
* checking auxfile checksums ;-) ...                                                                                                                [ ok ]
  * checking miscfile checksums ;-) ...                                                                                                              [ ok ]
* checking miscfile checksums ;-) ...                                                                                                              [ ok ]
  * qemu requires gcc-3 in order to build and work correctly
* qemu requires gcc-3 in order to build and work correctly
  * please compile it switching to gcc-3.
* please compile it switching to gcc-3.
  * We are aware that qemu can guess a gcc-3 but this feature
* We are aware that qemu can guess a gcc-3 but this feature
  * could be harmful.
* could be harmful.
 


Qemu käännettiin versiolla 3.4.6, muilla kääntäjä on järjestelmän oletus: gcc-4.3.2. Tässä asennetut paketit:
Qemu käännettiin versiolla 3.4.6, muilla kääntäjä on järjestelmän oletus: gcc-4.3.2. Tässä asennetut paketit:


Wed Feb 25 16:46:08 2009 >>> sys-devel/gcc-3.4.6-r2
  Wed Feb 25 16:46:08 2009 >>> sys-devel/gcc-3.4.6-r2
Wed Feb 25 16:55:31 2009 >>> app-emulation/qemu-softmmu-0.9.1-r3
  Wed Feb 25 16:55:31 2009 >>> app-emulation/qemu-softmmu-0.9.1-r3
Wed Feb 25 17:05:27 2009 >>> app-emulation/qemu-0.9.1
  Wed Feb 25 17:05:27 2009 >>> app-emulation/qemu-0.9.1
Wed Feb 25 17:08:20 2009 >>> app-emulation/libvirt-0.5.1
  Wed Feb 25 17:08:20 2009 >>> app-emulation/libvirt-0.5.1
Wed Feb 25 17:13:01 2009 >>> app-emulation/kqemu-1.3.0_pre11
  Wed Feb 25 17:13:01 2009 >>> app-emulation/kqemu-1.3.0_pre11
Wed Feb 25 17:19:45 2009 >>> app-emulation/kvm-84
  Wed Feb 25 17:19:45 2009 >>> app-emulation/kvm-84
Wed Feb 25 17:22:20 2009 >>> app-emulation/virtinst-0.400.0
  Wed Feb 25 17:22:20 2009 >>> app-emulation/virtinst-0.400.0
Wed Feb 25 17:22:45 2009 >>> app-emulation/virt-viewer-0.0.3
  Wed Feb 25 17:22:45 2009 >>> app-emulation/virt-viewer-0.0.3
Wed Feb 25 17:23:21 2009 >>> app-emulation/virt-manager-0.6.0-r1
  Wed Feb 25 17:23:21 2009 >>> app-emulation/virt-manager-0.6.0-r1




Rivi 49: Rivi 47:


== Verkko ==
== Verkko ==
-------


eth0 on kytketty reitittimeen NAT1 192.168.1.0/24, joka on kytketty palomuurin kautta internetiin. Tämä simuloi sisäverkkoa, joka sillataan virtuaalikoneelle. Tällä liitännällä ei tule olla omaa ip-osoitetta isäntäjärjestelmässä.
eth0 on kytketty reitittimeen NAT1 192.168.1.0/24, joka on kytketty palomuurin kautta internetiin. Tämä simuloi sisäverkkoa, joka sillataan virtuaalikoneelle. Tällä liitännällä ei tule olla omaa ip-osoitetta isäntäjärjestelmässä.


eth0      Link encap:Ethernet  HWaddr 00:18:f3:16:aa:7f
eth0      Link encap:Ethernet  HWaddr 00:18:f3:16:aa:7f




eth1 on toinen verkko, joka on kytketty reittimeen NAT2 192.168.0.0/24. Tämä simuloi sisäverkkoa, mutta sen kautta ei ole pääsyä internetiin. Fyysisesti tämä on täysin erillinen verkosta NAT1.
eth1 on toinen verkko, joka on kytketty reittimeen NAT2 192.168.0.0/24. Tämä simuloi sisäverkkoa, mutta sen kautta ei ole pääsyä internetiin. Fyysisesti tämä on täysin erillinen verkosta NAT1.


eth1      Link encap:Ethernet  HWaddr 00:20:18:8e:43:32
eth1      Link encap:Ethernet  HWaddr 00:20:18:8e:43:32
inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0


Routet ovat vielä asetettu siten, että host on kytketty eth0:n kautta verkkoon NAT1, johon tullaan kytkemään bridge.
Routet ovat vielä asetettu siten, että host on kytketty eth0:n kautta verkkoon NAT1, johon tullaan kytkemään bridge.


$ route
  $ route
Kernel IP routing table
  Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
  Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
192.168.1.0    *              255.255.255.0  U    0      0        0 eth0
  192.168.1.0    *              255.255.255.0  U    0      0        0 eth0
192.168.0.0    *              255.255.255.0  U    0      0        0 eth1
  192.168.0.0    *              255.255.255.0  U    0      0        0 eth1
192.168.122.0  *              255.255.255.0  U    0      0        0 virbr0
  192.168.122.0  *              255.255.255.0  U    0      0        0 virbr0
loopback        ariloulaleelay  255.0.0.0      UG    0      0        0 lo
  loopback        ariloulaleelay  255.0.0.0      UG    0      0        0 lo
default        192.168.1.1    0.0.0.0        UG    0      0        0 eth0
  default        192.168.1.1    0.0.0.0        UG    0      0        0 eth0




Rivi 82: Rivi 79:
The guest VM will have an associated tun device created with a name of vnetN, which can also be overridden with the <target> element. The tun device will be enslaved to the bridge. The IP range / network configuration is whatever is used on the LAN. This provides the guest VM full incoming & outgoing net access just like a physical machine.  
The guest VM will have an associated tun device created with a name of vnetN, which can also be overridden with the <target> element. The tun device will be enslaved to the bridge. The IP range / network configuration is whatever is used on the LAN. This provides the guest VM full incoming & outgoing net access just like a physical machine.  


Luotu bridge.xml ja sille UUID uuidgen:llä.
Luotu bridge.xml ja sille UUID <tt>uuidgen</tt>:llä.
 
  <network>
    <name>bridge</name>
    <uuid>4aa7bd44-302e-4bcd-896b-34c83be1dec0</uuid>
    <bridge name='br0' stp='on' forwardDelay='0' />
    <interface type='bridge'>
    <!-- tässä määritellään laite joka on kytketty haluttuun ulkoverkkoon -->
      <source bridge='eth0'/>
      <target dev='vnet0'/>
    </interface>
    <!-- tämä on ip jonka eth0 saa -->
    <ip address='192.168.1.100' netmask='255.255.255.0'>
    <!-- virtuaalikoneiden ip-määritykset, näitä ei käytetä mikäli verkossa on dhcp -->
      <dhcp>
        <range start='192.168.1.101' end='192.168.1.254' />
      </dhcp>
    </ip>
  </network>
 
 


Ladataan määritykset
Ladataan määritykset


$ virsh net-define bridge.xml
  $ virsh net-define bridge.xml
Verkko bridge määritetty tiedostosta bridge.xml
  Verkko bridge määritetty tiedostosta bridge.xml
 
$ virsh net-start bridge
  $ virsh net-start bridge
Verkko bridge käynnistetty
  Verkko bridge käynnistetty
 
$ virsh net-list
  $ virsh net-list
Nimi                Tila      Automaattikäynnistys
  Nimi                Tila      Automaattikäynnistys
-----------------------------------------
  -----------------------------------------
bridge              aktiivinen no
  bridge              aktiivinen no
default              aktiivinen yes
  default              aktiivinen yes


Tämä luo automaattisesti sillan "br0".
Tämä luo automaattisesti sillan "br0".
Rivi 104: Rivi 121:
br0:aan yhdistetään eth0. libvirt yhdistää itse luomansa laitteen ”vnet0”.
br0:aan yhdistetään eth0. libvirt yhdistää itse luomansa laitteen ”vnet0”.


# brctl addif br0 eth0
# brctl addif br0 eth0






Määritetään sillan route:
Määritetään sillan route:
# route add -net 192.168.1.0 netmask 255.255.255.0 dev br0
  # route add -net 192.168.1.0 netmask 255.255.255.0 dev br0


Muut routet korjataan aiemmasta konfiguraatiosta, tässä niiden määritykset:
Muut routet korjataan aiemmasta konfiguraatiosta, tässä niiden määritykset:
# route del -net 192.168.1.0 netmask 255.255.255 dev eth0
  # route del -net 192.168.1.0 netmask 255.255.255 dev eth0
# route del default gw 192.168.1.1
  # route del default gw 192.168.1.1


# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1
  # route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1
# route add default gw 192.168.0.1 netmask 255.255.255.0 dev eth1
  # route add default gw 192.168.0.1 netmask 255.255.255.0 dev eth1


# route
  # route
Kernel IP routing table
  Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
  Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
default        192.168.0.1    255.255.255.0  UG    0      0        0 eth1
  default        192.168.0.1    255.255.255.0  UG    0      0        0 eth1
192.168.1.0    *              255.255.255.0  U    0      0        0 br0
  192.168.1.0    *              255.255.255.0  U    0      0        0 br0
192.168.0.0    *              255.255.255.0  U    0      0        0 eth1
  192.168.0.0    *              255.255.255.0  U    0      0        0 eth1
192.168.122.0  *              255.255.255.0  U    0      0        0 virbr0
  192.168.122.0  *              255.255.255.0  U    0      0        0 virbr0
loopback        ariloulaleelay  255.0.0.0      UG    0      0        0 lo
  loopback        ariloulaleelay  255.0.0.0      UG    0      0        0 lo






Sillä internet kulkee hostilla eth0:sta, sen ei pitäisi nyt toimia:
Sillä internet kulkee hostilla eth0:sta, sen ei pitäisi nyt toimia:
ariloulaleelay $ ping google.fi
ariloulaleelay $ ping google.fi
connect: Network is unreachable
connect: Network is unreachable


Kun virtuaalikone on päällä, pingaus sillan kautta pitäisi toimia:
Kun virtuaalikone on päällä, pingaus sillan kautta NAT1:een pitäisi toimia:


ariloulaleelay $ ping 192.168.1.14
ariloulaleelay $ ping 192.168.1.14
PING 192.168.1.14 (192.168.1.14) 56(84) bytes of data.
PING 192.168.1.14 (192.168.1.14) 56(84) bytes of data.
64 bytes from 192.168.1.14: icmp_seq=1 ttl=64 time=2.67 ms
64 bytes from 192.168.1.14: icmp_seq=1 ttl=64 time=2.67 ms


Samoin kuin ”sisäverkossa” olevien koneiden, joilla on eri route.
Samoin kuin NAT2:n ”sisäverkossa” olevien koneiden, joilla on eri route.


ariloulaleelay $ ping 192.168.0.101
ariloulaleelay $ ping 192.168.0.101
Rivi 147: Rivi 164:


Dnsmasq ei ole päällä. Jos se olisi, sen konfiguraation olisi lisättävä
Dnsmasq ei ole päällä. Jos se olisi, sen konfiguraation olisi lisättävä
except-interfaces=br0
except-interfaces=br0




15

muokkausta

Navigointivalikko