Ero sivun ”Virtuaalisen järjestelmän verkkosiltaus” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Virtuaalisen järjestelmän verkkosiltaus (muokkaa)
Versio 27. helmikuuta 2009 kello 20.20
, 27. helmikuuta 2009muotoilua
(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 | |||
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 | |||
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 | |||
* qemu-0.9.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] | |||
* checking ebuild checksums ;-) ... [ ok ] | |||
* checking auxfile checksums ;-) ... [ ok ] | |||
* checking miscfile checksums ;-) ... [ ok ] | |||
* qemu requires gcc-3 in order to build and work correctly | |||
* please compile it switching to gcc-3. | |||
* We are aware that qemu can guess a gcc-3 but this feature | |||
* 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: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: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: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:45 2009 >>> app-emulation/virt-viewer-0.0.3 | |||
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 | |||
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 | |||
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 | |||
Kernel IP routing table | |||
Destination Gateway Genmask Flags Metric Ref Use Iface | |||
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.122.0 * 255.255.255.0 U 0 0 0 virbr0 | |||
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 | |||
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 | |||
Verkko bridge määritetty tiedostosta bridge.xml | |||
$ virsh net-start bridge | |||
Verkko bridge käynnistetty | |||
$ virsh net-list | |||
Nimi Tila Automaattikäynnistys | |||
----------------------------------------- | |||
bridge aktiivinen no | |||
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 | |||
Määritetään sillan route: | Määritetään sillan route: | ||
# 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 default gw 192.168.1.1 | |||
# 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 | |||
Kernel IP routing table | |||
Destination Gateway Genmask Flags Metric Ref Use Iface | |||
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.0.0 * 255.255.255.0 U 0 0 0 eth1 | |||
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 | |||
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 | |||
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 | |||
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 | |||
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 | |||