Muokataan sivua Virtuaalisen järjestelmän verkkosiltaus
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Muistiinpanoja verkkosillan rakentamisesta virtualisoituun asiakkaaseen. | |||
Isäntäkoneen käyttöjärjestelmä on | == Host A == | ||
Isäntäkoneen käyttöjärjestelmä on Sabayon linux 4.0. Tämä on gentoo-pohjainen ja sopii erinomaisesti mm. testailuun. | |||
Linux ariloulaleelay 2.6.27-sabayon #1 SMP Sat Dec 20 16:15:56 UTC 2008 x86_64 Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz GenuineIntel GNU/Linux | Linux ariloulaleelay 2.6.27-sabayon #1 SMP Sat Dec 20 16:15:56 UTC 2008 x86_64 Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz GenuineIntel GNU/Linux | ||
Rivi 12: | Rivi 12: | ||
=== libvirt + KVM Gentoossa === | === libvirt + KVM Gentoossa === | ||
Tästä eteenpäin seuraa | Tästä eteenpäin seuraa gentoo-kohtaista testausjärjestelmän pystytystä. Asennetaan qemu, kvm ja libvirt. | ||
Sabayonin 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ää | 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 ] | * qemu-0.9.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] | ||
* checking ebuild checksums ;-) ... [ ok ] | * checking ebuild checksums ;-) ... [ ok ] | ||
Rivi 28: | Rivi 29: | ||
* could be harmful. | * could be harmful. | ||
Qemu käännetään versiolla 3.4.6, muilla kääntäjä on järjestelmän oletus: | Qemu käännetään 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 | ||
Rivi 40: | Rivi 41: | ||
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 | ||
Käynnistys: | |||
# /etc/init.d/libvirtd start | # /etc/init.d/libvirtd start | ||
# | # rc-update add libvirtd default | ||
=== | == 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 Link encap:Ethernet HWaddr 00:18:f3:16:aa:7f | |||
eth1 on toinen verkkokortti, 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. | |||
$ | |||
$ 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 | ||
Rivi 70: | Rivi 67: | ||
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 | ||
=== Luodaan uusi verkkoyhteys ”Bridge to LAN” === | === Luodaan uusi verkkoyhteys ”Bridge to LAN” === | ||
Ks. myös [http://libvirt.org/formatdomain.html#elementsNICSBridge] | |||
”This is the recommended config for general guest connectivity on hosts with static wired networking configs. Provides a bridge from the VM directly onto the LAN. This assumes there is a bridge device on the host which has one or more of the hosts physical NICs enslaved.” | ”This is the recommended config for general guest connectivity on hosts with static wired networking configs. Provides a bridge from the VM directly onto the LAN. This assumes there is a bridge device on the host which has one or more of the hosts physical NICs enslaved.” | ||
Tämä on br0, jolla on hallussa eth0. | |||
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 <tt>uuidgen</tt>:llä. | |||
<network> | <network> | ||
Rivi 100: | Rivi 98: | ||
</network> | </network> | ||
Ladataan määritykset | |||
Ladataan määritykset | |||
$ virsh net-define bridge.xml | $ virsh net-define bridge.xml | ||
Rivi 112: | Rivi 112: | ||
----------------------------------------- | ----------------------------------------- | ||
bridge aktiivinen no | bridge aktiivinen no | ||
default aktiivinen yes | |||
Tämä luo automaattisesti sillan "br0". | |||
”An ethernet bridge is a device commonly used to connect different networks of ethernets together, so that these ethernets will appear as one ethernet to the participants. Each of the ethernets being connected corresponds to one physical interface in the bridge.” | ”An ethernet bridge is a device commonly used to connect different networks of ethernets together, so that these ethernets will appear as one ethernet to the participants. Each of the ethernets being connected corresponds to one physical interface in the bridge.” | ||
Rivi 118: | Rivi 121: | ||
# 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 | Muut routet korjataan aiemmasta konfiguraatiosta, tässä niiden määritykset: | ||
# route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0 | # route del -net 192.168.1.0 netmask 255.255.255.0 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 | ||
Oletusreitti voi kulkea vain sisäverkkoon, (NAT2) tai dmz-verkkoon (NAT1). '''Oletusreittejä voi olla vain yksi!!''' | Oletusreitti voi kulkea vain sisäverkkoon, (NAT2) tai dmz-verkkoon (NAT1). '''Oletusreittejä voi olla vain yksi!!''' | ||
# route add default gw 192.168.1.1 br0 # NAT1 | |||
# route add default gw 192.168.0.1 netmask 255.255.255.0 dev eth1 # NAT2 | # route add default gw 192.168.1.1 br0 # NAT1 | ||
# route add default gw 192.168.0.1 netmask 255.255.255.0 dev eth1 # NAT2 | |||
Alla on reititystaulu, jossa isäntäkone on yhteydessä NAT1:een ja NAT2:een, pääsee vielä internetiinkin. | Alla on reititystaulu, jossa isäntäkone on yhteydessä NAT1:een ja NAT2:een, pääsee vielä internetiinkin. | ||
Rivi 140: | Rivi 145: | ||
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 | |||
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 br0 | default 192.168.1.1 0.0.0.0 UG 0 0 0 br0 | ||
Rivi 165: | Rivi 171: | ||
except-interfaces=br0 | except-interfaces=br0 | ||
== | ==Guest A== | ||
Gentoo 2008.0 x86 | Gentoo 2008.0 x86 livecd, ei käynnistä X:ää ja on kevyt testaukseen. Livecd sisältää ssh-palvelimen. | ||
Jotta guest voi kytkeytyä siltaan, tarvitaan 'tun'-moduli. Ladataan myös virtualisointimodulit. | |||
# modprobe tun | |||
# modprobe kqemu | |||
# modprobe kvm | |||
Sitten käynnistetään guest: | |||
$ virt-install --connect=qemu:///system \ | $ virt-install --connect=qemu:///system \ | ||
Rivi 185: | Rivi 199: | ||
Samassa verkossa eth0:n kanssa olevat koneet voivat nyt liikennöidä virtuaalikoneen kanssa NATin/palomuurin sääntöjen mukaan. | Samassa verkossa eth0:n kanssa olevat koneet voivat nyt liikennöidä virtuaalikoneen kanssa NATin/palomuurin sääntöjen mukaan. | ||
[[Luokka:Verkko]] | [[Luokka:Verkko]] | ||