Üdv!
KVM alatt (fedora20 ill. majd centos7) szeretném megoldani, hogy a VM-eket el lehessen érni kívülről (bridged nic).
Be is állítottam, de kintről (LAN-ból) nem érhető el a gép. Milyen beállítás kell neki?
Ez tesztgép és van rajta VBox, VMware Player, KVM. Mennek ezek egymás mellett?
# ifconfig
em1: flags=4163 mtu 1500
inet 192.168.1.54 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ba70:f4ff:fee0:d493 prefixlen 64 scopeid 0x20
ether b8:70:f4:e0:d4:93 txqueuelen 1000 (Ethernet)
RX packets 249214 bytes 119919697 (114.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 280834 bytes 163709049 (156.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 817027 bytes 784159620 (747.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 817027 bytes 784159620 (747.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4163 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether fe:54:00:96:81:b7 txqueuelen 0 (Ethernet)
RX packets 47079 bytes 2832884 (2.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 82782 bytes 119714645 (114.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vmnet1: flags=4163 mtu 1500
inet 172.16.57.1 netmask 255.255.255.0 broadcast 172.16.57.255
inet6 fe80::250:56ff:fec0:1 prefixlen 64 scopeid 0x20
ether 00:50:56:c0:00:01 txqueuelen 1000 (Ethernet)
RX packets 71 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2696 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vmnet8: flags=4163 mtu 1500
inet 172.16.48.1 netmask 255.255.255.0 broadcast 172.16.48.255
inet6 fe80::250:56ff:fec0:8 prefixlen 64 scopeid 0x20
ether 00:50:56:c0:00:08 txqueuelen 1000 (Ethernet)
RX packets 67 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2702 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163 mtu 1500
inet6 fe80::fc54:ff:fe96:81b7 prefixlen 64 scopeid 0x20
ether fe:54:00:96:81:b7 txqueuelen 500 (Ethernet)
RX packets 32758 bytes 2294382 (2.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 60447 bytes 89631620 (85.4 MiB)
Első körben ezt néztem: public bridge, Solution 1
--
G.
- 5957 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
Az első link szerint megcsináltam a bridge1-et:
* br0 -> DHCP
* br0 1. alárendeltje: Ethernet -> em1
systemctl network restart
Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details
journalctl -xn
-- Logs begin at h 2014-04-28 23:55:39 CEST, end at sze 2014-09-24 19:20:56 CEST. --
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb network[11850]: RTNETLINK answers: File exists
szept 24 19:20:56 fedoranb systemd[1]: network.service: control process exited, code=exited status=1
szept 24 19:20:56 fedoranb systemd[1]: Failed to start LSB: Bring up/down networking.
-- Subject: Unit network.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit network.service has failed.
--
-- The result is failed.
szept 24 19:20:56 fedoranb systemd[1]: Unit network.service entered failed state.
ifconfig
br0: flags=4163 mtu 1500
inet6 fe80::b8b8:4dff:fe03:6a99 prefixlen 64 scopeid 0x20
ether ba:b8:4d:03:6a:99 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27 bytes 5058 (4.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
em1: flags=4163 mtu 1500
inet 192.168.1.64 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ba70:f4ff:fee0:d493 prefixlen 64 scopeid 0x20
ether b8:70:f4:e0:d4:93 txqueuelen 1000 (Ethernet)
RX packets 17460 bytes 2978309 (2.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22223 bytes 10906620 (10.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 1177985 bytes 1102832959 (1.0 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1177985 bytes 1102832959 (1.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 00:00:00:00:00:00 txqueuelen 0 (Ethernet)
RX packets 74559 bytes 4385073 (4.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 125466 bytes 183613786 (175.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vmnet1: flags=4163 mtu 1500
inet 172.16.57.1 netmask 255.255.255.0 broadcast 172.16.57.255
inet6 fe80::250:56ff:fec0:1 prefixlen 64 scopeid 0x20
ether 00:50:56:c0:00:01 txqueuelen 1000 (Ethernet)
RX packets 93 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3553 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vmnet8: flags=4163 mtu 1500
inet 172.16.48.1 netmask 255.255.255.0 broadcast 172.16.48.255
inet6 fe80::250:56ff:fec0:8 prefixlen 64 scopeid 0x20
ether 00:50:56:c0:00:08 txqueuelen 1000 (Ethernet)
RX packets 91 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3564 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Mi lehet a hiba?
--
G.
- A hozzászóláshoz be kell jelentkezni
Ebből nekem úgy tűnik, hogy az em1 nic továbbra is teljes értékű nic, azaz ezért van layer3 konfigja.
A br0 meg nem indult el.
Szerintem a bridge konfigurációban fordítva kötötted össze őket.
em1-nél (/etc/sysconfig/network-scripts/ifcfg-em1) kéne legyen "DEVICE=em1 BRIDGE=br0" opció és IPADDR meg NETMASK ne legyen, azt majd a br0 konfigjába kell tenni.
br0 (/etc/sysconfig/network-scripts/ifcfg-br0) DEVICE=br0 IPADDR=x.y.z.w NETMASK=255.255.255.0 (pl.)
A hoston ip-forwarding-ot engedélyezni kell, ellenkező esetben nem lesz routolás a hálózataid között.
A VirtualBox meg a KVM nem megy el egymás mellett, pontosabban vagy egyik vagy másik féle VM-ek bírnak futni egy időben.
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)
- A hozzászóláshoz be kell jelentkezni
A br0 és az em1 konfigja pontosan az, amit leírtál. Akkor valószínű a KVM VBox nem eszi meg egymást.
Este megpróbálom majd, hogy a VBox-ot leállítom.
--
G.
- A hozzászóláshoz be kell jelentkezni
Hát ha az em1-re kaptál IP-t, ahogy az az ifconfig outputban van, akkor mégiscsak benne maradt valami az em1 configjában, esetleg DHCP-re van állítva, ilyenek.
Normál esetben, ha jól van összerakva a nic/bridge config, akkor a bridge alatt lévő nicre nem kaphatsz IP-t.
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)
- A hozzászóláshoz be kell jelentkezni
Esetleg NetworkManager nem pofázik bele a dologba?
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)
- A hozzászóláshoz be kell jelentkezni
A CentOS 7 féle leírás szerint működik. :)
A NetworkManager-t kikapcsoltam.
--
G.
- A hozzászóláshoz be kell jelentkezni
Nekem ubuntun van KVM host gép, és elérem a virtuális gépeket az internet felöl ha úgy állítom be a tűzfalat. Adott portot beirányítasz a megfelelő virtuális gép megfelelő portjára...
DeuchE
- A hozzászóláshoz be kell jelentkezni
Igen, így talán jobban védve vannak VM-ek is. Mert csak a kívánt (beirányított) portokon lesz elérhető.
A bridgelt variációban meg a teljes gép elérhető, mintha a hálózatba lenne kötve.
--
G.
- A hozzászóláshoz be kell jelentkezni
Többé kevésbé elmennek egymás mellett, bár nekem is vesztek már össze. Na min? A bridge és tűzfal konfigon :)
- A hozzászóláshoz be kell jelentkezni
CentOS 7 majd ez kell nekem.
Lényegében ugyanaz(?).
--
G.
- A hozzászóláshoz be kell jelentkezni
Bocsi, de korlátozott a netem perpill, ezért nem olvastam végig :D
KVM hálózat nálam így megy (hoston kiadandó):
modprobe kvm_intel
modprobe kvm_amd
modprobe tun
brctl addbr br0
ifconfig br0 192.168.100.254 netmask 255.255.255.0 up
tunctl -b -u root -t qtap2
brctl addif br0 qtap2
ifconfig qtap2 up 0.0.0.0 promisc
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
Ezután a guestet így indítom:
kvm -hda kvm_image -net nic,macaddr=54:54:00:12:34:56 -net tap,ifname=qtap2,script=no,downscript=no -m 1024 -boot c -nographic
Ha nincs megadva a kvm a hálózat, az elején a -nographic helyett -vnc kapcsolóval indítod és beállítod a hálót.
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
- A hozzászóláshoz be kell jelentkezni
A scriptedet használtam:
# cat ifcfg-eno1
DEVICE=eno1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
# kvm bridge bash script
#!/bin/bash
modprobe kvm_intel
modprobe kvm_amd
modprobe tun
brctl addbr br0
ifconfig br0 192.168.45.200 netmask 255.255.255.0 up
tunctl -b -u root -t qtap2
brctl addif br0 qtap2
ifconfig qtap2 up 0.0.0.0 promisc
iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
route add default gw 192.168.45.1
# ifconfig
br0: flags=4163 mtu 1500
inet 192.168.45.200 netmask 255.255.255.0 broadcast 192.168.45.255
inet6 fe80::54e9:ff:fe48:48f5 prefixlen 64 scopeid 0x20
ether 56:e9:00:48:48:f5 txqueuelen 0 (Ethernet)
RX packets 43837 bytes 3418551 (3.2 MiB)
RX errors 0 dropped 104 overruns 0 frame 0
TX packets 48378 bytes 206941457 (197.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno1: flags=4163 mtu 1500
inet6 fe80::6ec2:17ff:fe84:ffd0 prefixlen 64 scopeid 0x20
ether 6c:c2:17:84:ff:d0 txqueuelen 1000 (Ethernet)
RX packets 122481 bytes 122497448 (116.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 186305 bytes 215538262 (205.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 17
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 226398 bytes 2293678836 (2.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 226398 bytes 2293678836 (2.1 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
qtap2: flags=4355 mtu 1500
ether 56:e9:00:48:48:f5 txqueuelen 500 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:80:8c:b0 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163 mtu 1500
inet6 fe80::fc54:ff:fe24:135 prefixlen 64 scopeid 0x20
ether fe:54:00:24:01:35 txqueuelen 500 (Ethernet)
RX packets 33064 bytes 2106465 (2.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 88285 bytes 118780561 (113.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# chmod +x /etc/rc.d/rc.local
# /etc/rc.d/rc.local-ban a fenti kvmbrdige script
A VM-nek a NIC konfiguralaskor:
Specyfied shared device name
Bridge name: br0
Device model: virtio
A brdige-utils, tunctl csomagot kell csak telepiteni (tunctl jelenleg csak centos6-bol, de siman telepul). NetworkManager kikapcsolva.
Megy is!
--
G.
- A hozzászóláshoz be kell jelentkezni