Fórumok
Üdv!
Ha bridge interface-eket szeretnék a virtuális gépeknek, akkor pontosan mit kellene beállítanom?
(Környezet: Fedora, CentOS)
Tehát:
A hoszton pl. ez alapján:
https://serverfault.com/questions/612021/lxc-container-networking
#> cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
#> cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=br0
Próbáltam, hogy a bridge-nek adtam Fix IP címet.
Az LXC konténernek adtam:
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
(Fix IP/dhcp-vel sem működik.)
A konténer nem lát ki a hálózatba/netre. A host IP-jét még látja.
Mi hiányzik?
Hozzászólások
a konténerbe default gw szerintem.
lxc.network.ipv4.gateway = 192.168.1.254
igen, ezt próbáltam. nem segített. (ugyanaz: ping 8.8.8.8 destination host unreachable)
üres a konténer routing táblája. :o
Eddig én csak úgy próbáltam, hogy consolet kértem a konténerre és ott adtam ki a route add default gw-t, úgy ment :) Mert ip-t kapott de gatewayt nem.
akkor se megy. ugyanaz... :(
route add default gw 192.168.1.254
Érdekes hogy ilyenkor a "route" parancs kimenete lassan jelenik meg és a gateway oszlopban nem az IP címet írja (mint virbr0 esetén), hanem "gateway"
ilyesmi:
net0: name=eth0,bridge=br0,gw=1.2.3.4,gw6=1:2:3:4:5:6:7:8,hwaddr=02:00:00:a1:3f:77,ip=1.2.3.5/10,ip6=1:2:3:4:5:6:7:9/ 64,type=veth
Hülye kérdés, de a forward a hoston bekapcsolva?
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
ha erre gondolsz: /proc/sys/net/ipv4/ip_forward = 1
akkor igen.
Igen...nekem így néz ki az interfaces:
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -o vmbr0 -j MASQUERADE
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
subscribe()
Elvileg ez jó? (a teljes interface config)
br0:
DEVICE=br0
STP=no
BRIDGING_OPTS=multicast_snooping=0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=8a520d31-e81d-4e0e-9c71-83f9d3250223
ONBOOT=yes
enp0s3:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=b04fdc8d-2b3a-38da-a11b-fbd9823da5fb
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
DEVICE=enp0s3
ZONE=FedoraServer
BRIDGE=br0
tuzfal?
Ha összejon, jól lelesem.
Pár éve én is próbálkoztam centoson kvmmel, de sehogyan sem sikerült egy épkézláb bridget betákolnom, hogy kifelé önálló ip címmel menjen.
Aztán olvastam valahol, hogy kvm ilyesmit nem csinál :(
Pedig mennie kellene: https://www.linux-kvm.org/page/Networking
Mégegyszer átnézem én is a fenti doksit.
Bár nekem LXC alatt nem megy.
# hoszt:
sysctl -w net.ipv4.ip_forward=1 # allow forwarding of IPv4
route add -host < ip-of-client > dev < tap-device > # add route to the client
# guest:
# If the host is not on the same subnet as the guest, then you must manually add the route to the host before you create the default route:
route add -host < ip-of-host > dev < network-interface >
route add default gw < ip-of-host >
nem működik. :(
Ugyan nem centos-en, de:
#!/bin/sh
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 qtap1
brctl addif br0 qtap1
ifconfig qtap1 up 0.0.0.0 promisc
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
ifconfig eth0:1 8x.xxx.xxx.xxx up
iptables -t nat -A PREROUTING -d 8x.xxx.xxx.xxx -j DNAT --to-destination 192.168.100.3
kvm -hda /mnt/sda1/kvm/sda_25G.img -hdb /mnt/sda1/kvm/sdb_25G.img -net nic,macaddr=54:54:00:12:34:56 -net tap,ifname=qtap0,script=no,downscript=no -m 1024 -boot c -nographic
Anno egy debianon így indítható volt. A 8x.xxx.xxx.xxx egy publikus ip és nem a hoszt ipje..
Felhúzod a guesten a belső ip-t a 192.168.100.3-ra és kész...
Mondjuk ma már proxmox oszt csókolom...
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
My 2cents: valaki már itt kérdezte a tűzfalat.
Meg ezekre: net.bridge.bridge-nf-call-* (http://wiki.libvirt.org/page/Net.bridge.bridge-nf-call_and_sysctl.conf)
Szerk.: egyébként CentOS7-en nálam szépen megy a NetworkManager (NetworkManager-TUI oszt jónap) + Libvirt bridgelt VLAN-okkal (ezt meg már távolról virt-managerrel csesztetem, hogy virsh-hez csak végszükség esetén kelljen nyúlni).
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
KVM esetén elvileg így működik.
LXC esetén is működik. :)
Tehát:
* a hoszton, az eth0 mellett kell egy br0 bridge interface kötve az eth0-hoz!
* a br0-nak lehet fix IP: 192.168.1.200/24, gateway: 192.168.1.254 DNS ... stb.
* hoszton LXC telepít, konténer létrehoz.
* konténer config:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.ipv4=192.168.1.205/24
lxc.network.ipv4.gateway=192.168.1.254
lxc.network.flags=up
# konténer "resolv.conf"-ban DNS
* hoszton a tűzfalon, hogy minden menjen:
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i br0 -j ACCEPT
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o br0 -j ACCEPT
firewall-cmd --reload
Thanks ALL!!