Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Borykam sie od dluzszego czasu z KVM'em i brakuje mi juz koncepcji jak to ugryzc. Zainstalowalem libvirta kvm qemu itd itd. Nastepnie stworzylem mostek br0, przepialem konfiguracje z eth0 na br0, dostal publiczne ip itd. Siec dziala. Stworzylem klienta kvm, tylko nie mam juz pojecia jak zrobic, zeby mogl sie laczyc z mostkiem i mogl miec wyjscie na swiat. Probowalem libvirta virbr0, ale nie chce tej konfiguracji.
1: eth0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 5c:26:0a:08:c2:df brd ff:ff:ff:ff:ff:ff valid_lft forever preferred_lft forever inet6 fe80::5e26:aff:fe08:c2df/64 scope link valid_lft forever preferred_lft forever 2: br0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 5c:26:0a:08:c2:df brd ff:ff:ff:ff:ff:ff inet 91.121.78.120/24 brd 91.121.78.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5e26:aff:fe08:c2df/64 scope link
r
oot@Linux:/home/bryn1u# ping wp.pl PING wp.pl (212.77.98.9) 56(84) bytes of data. 64 bytes from www.wp.pl (212.77.98.9): icmp_seq=1 ttl=54 time=21.5 ms 64 bytes from www.wp.pl (212.77.98.9): icmp_seq=2 ttl=54 time=24.3 ms
Czy ktos mi moze powiedziec co mam zrobi, aby uzyskac polaczenie z internetem z poziomu goscia KVM ?
Jezeli zostawie ustawienia dla eth0 i dla br0 dodam nieroutowalne ip to wtedy z goscia kvm dodaje ip br0 jako brame i dziala, ale to troche nie ta koncepcja bo pozniej dzieja sie dziwne, rzeczy przy konfiguracji firewalla i nat'a. Brakuje mi juz pomyslow.
Ostatnio edytowany przez bryn1u (2016-12-11 12:50:14)
Offline
/usr/bin/qemu-system-x86_64 -enable-kvm -hda /media/box/FreeBSD9.img -m 1024 -net nic,macaddr=00:1d:82:ac:3f:65 -net tap,ifname=tap1,script=no,downscript=no -alt-grab -name FreeBSD9 -boot d
/usr/bin/qemu-x86_64 -hda /media/box/Debian.img -m 512 -net nic,macaddr=00:1d:92:ab:3f:78 -net tap,ifname=tap0,script=no,downscript=no -alt-grab -name Debian -boot d
Interfejsy tap0 i tap1 są w mostku br0, z ppp0 do br0 idzie maskarada, i jakoś działa.
Inna sprawa, że libvirt jakoś inaczej te mostki konfiguruje, nigdy mi się nie udało zrobić odpowiedniej sieci w Virt-managerze.
Mój ISP ma tak popieprzoną sieć, że i tak KVM musi net mieć przez proxy,
żeby http działało (podobnie jak np klient AP, interfejs [b]wlan0_ap[/b] też jest w mostku), inaczej chodzą tylko pingi.
Ostatnio edytowany przez Jacekalex (2016-12-11 13:18:12)
Offline
@Jacekalex
Wlasnie z libvritem i virbr0 dzieja sie dziwne rzeczy w dodatku te *.xml o firewallu nie wspomne. On uzywa swojego servera dhcp oraz dns. Jak zaczne cos konfigurowac to bardzo szybko traci polaczenie z netem juz nie chce mi sie dochodzic do tego co jest nie tak.
Jak to bedize wygladalo w przypadku virsh-install ? Podczas instalacji guest kvm tworze virtualke za pomoca virsh-install a mianowicie:
virt-install --name VM1 --ram=4000 --vcpus=4 --disk path=/vm-images/VM1.img,disk=100 --network bridge:br0 --graphics vnc,listen=0.0.0.0,password=123 --cdrom=/vm-images/ISO/debian.iso --hvm --accelerate --noatuoconsole[/quote]
Po takim wpisie jak skonfigurowac clienta kvm odnosnie sieci ? Tym bardziej, ze mam zew ip 91.121.78.120 dla br0 a przeciez dla clietna nie moge sobie dac routowalnego ip tylko jakies nierutowalne np 192.168.0.10, ale wtedy dostaje Network Unreachable. Jak uzyc tego tap0 w wpisie powyzej ?
E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
[b]http://unix-ebooki.neth.pl/[/b]
Offline
Nigdy mnie się nie udało dojść do ładu z Virt managerem, radzę spróbować najpierw w samym Qemu, a jak tam pójdzie, to możesz potem pół roku kombinować,
jak w libvirt osiągnąć to samo. xD
Offline
/usr/bin/qemu-system-x86_64 -enable-kvm -hda /media/box/FreeBSD9.img -m 1024 -net nic,macaddr=00:1d:82:ac:3f:65 -net tap,ifname=tap1,script=no,downscript=no -alt-grab -name FreeBSD9 -boot d
Po takiej instalacji jak konfigurujesz siec/internet na kliencie kvm, zeby bylo wyjscie na swiat ?
Offline
Kiedyś to były adresy statyczne (klasa a - 10.0.0.0/24), a teraz mam na br0 serwer dhcpd.
U mnie karta zewn z internetem nie jest podpinana do mostka, tylko net na mostek idzie przez maskaradę
Ostatnio edytowany przez Jacekalex (2016-12-11 14:34:20)
Offline
[quote=ethanak]@jacekalex: klasa a czy klasa /24?
Zdecyduj się...[/quote]
klasa /24, faktycznie klasa a ma maskę /8.
Offline
[quote=Jacekalex]U mnie karta zewn z internetem nie jest podpinana do mostka, tylko net na mostek idzie przez maskaradę[/quote]
A jak u Ciebie dziala firewall ? Jezeli zrobie tak, ze mam skonfigurowane eth0 z publicznym ip, a br0 ma wew ip np 192.168.0.1 i do tego jest podpiety client kvm ktory ma 192.168.0.10 i gw 192.168.0.1 to dziala net.
Opcja:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE - i smiga.
Niestety nie wiem czemu przy takiej konfiguracji jezeli mam polityke czysto przykladowo podaje:
iptables -P INPUT DROP
To na eth0 blokuje, ale wszystko przepuszcza na br0. Nawet jak dam:
iptables -A INPUT -i br0 -j DROP
Dopiero zaczyna sluchacj przy FORWARD. Czy to jest normalne czy cos jest nie tak z ustawieniami ? Bo troche sie pogubilem. No i, wtedy w opcji ifcfg-eth0 nie ma wpisu BRIDGE=br0, a w przypadku ifcfg-br0 nie ma wpisu Type=Bridge. To akurat przyklad z centosa albo pod debianem jest dokladnie to samo. Jest tu jakies racjonalne wytlumaczenie ?
Offline
Przy maskaradzie pakiety z KVM idą przez łańcuch FORWARD a nie INPUT.
Przez maskaradę robisz w systemie najzwyklejszy router, tylko troszkę mądrzejszy od tych gratów za 99 zeta.
iptables -S | grep br0 -A INPUT -s 192.168.0.0/16 -i br0 -j ACCEPT -A FORWARD -i br0 -o ppp+ -j ACCEPT -A OUTPUT -o br0 -j ACCEPT
PROXY i Maskarada:
iptables -S -t nat | egrep 'MASQ|br0' -A PREROUTING ! -s 192.168.0.1/32 -i br0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:8118 -A POSTROUTING -o ppp+ -j MASQUERADE
Pozdro
Ostatnio edytowany przez Jacekalex (2016-12-11 19:00:39)
Offline
Hmm, a jezeli chce sie polaczyc z zew na ssh na porcie 5555 na kvm, oczywiscie jest PREROUTING to nawet jak jest polityka INPUT DROP to moge sie polaczyc na kvm na port 5555. To znaczy, ze bez wzgledu na to jaka bedzie polityka i reguly input br0 nie bierze tego pod uwage ? Tylko i wylacznie FORWARD ?
Offline
Jak chcesz się połączyć zdalnie, to masz w FW możliwość przekierowania portu,
jak w każdym routerze.
Służą do tego cele DNAT i SNAT w łańcuchu NAT.
https://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables/akcje#DNAT
https://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables/akcje#SNAT
Offline
Ja to rozumiem. Znam SNAT i DNAT tylko pytalem o ta konkretna sytuacje. Dlaczego "iptables -P INPUT DROP" przepuszcza ruch na br0 z zewnatrz ?
Offline
Dlaczego "iptables -P INPUT DROP" przepuszcza ruch na br0 z zewnatrz ?[/quote]
INPUT jest dla lokalnych procesów, wirtualna maszyna na br0 leci przez FORWARD
a nie przez INPUT.
Masz tu mapkę w obrazku:
https://s24.postimg.org/scp8htdwj/firewall_iptables_przeplyw_pakietow.pngOstatnio edytowany przez Jacekalex (2016-12-11 20:51:13)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00247 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.18.135' WHERE u.id=1 |
0.00224 | UPDATE punbb_online SET logged=1732742981 WHERE ident='3.145.18.135' |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732742681 |
0.00106 | SELECT topic_id FROM punbb_posts WHERE id=307494 |
0.00147 | SELECT id FROM punbb_posts WHERE topic_id=29223 ORDER BY posted |
0.00115 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29223 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00093 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29223 ORDER BY p.id LIMIT 0,25 |
0.00086 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29223 |
Total query time: 0.01081 s |