Sziasztok,
szeretnék pár virtuális gépet, hogy néhány "hálózati" dolgot könnyen ki tudjak próbálni.
A következő scripttel indítom a virtuális gépeket: (lent).
Röviden: létrehozok egy br0-át a brctl-el, két "tap" device-ot a tunctl-el, ezeket beszórom a br0-ba, és megmondom a kvm-nek, hogy használja szépen őket. Sok leírásba láttam így, amíg nem mondom ifconfiggal a br0-nak hogy up addig egyáltalán nincs hálózati kapcsolat a két virtuális gép között, ha felhúzom a br0-át akkor már van "ethernet" kapcsolat, viszont az IP csomagok még mindig nem jutnak át egyik TAP-ról a másikra. A kiinduló tap-on még megvannak a br0-án monitorozva is, de a másik tap-on már nem jelennek meg... Abból következtettek erre, hogy az ARP request-re jön válasz a másik végpontról, de a ping nem megy át... (ezt wiresharkkal is jól megnéztem :) ) Mi hiányzik ? A két gépen ifconfiggal statikusan konfigurálok egy-egy ip-t...
ifconfig eth0 10.10.10.10/24
ifconfig eth0 10.10.10.11/24
tévedek vagy így látnia kéne ? Esetleg a host gépen, kéne valamit még jól beállítani ?
Nem vagyok teljesen hülye a hálózatokhoz, de a tap, és br dolgokba teljesen új vagyok. Ha jól értem a br egy bridge, ethernet kapcsolat két hálózat között ? Tehát úgy viselkedik mint egy switch, vagy hub... ?
Előre is köszönöm a türelmet és a segítséget. A scriptet én írtam, így semmi se biztos :)
#!/bin/bash
function addbr
#$1 - name
{
#Set up bridge
sudo brctl show | grep $1 &> /dev/null
if [ $? -ne 0 ] ; then
sudo brctl addbr $1
sleep 1
sudo ifconfig $2 up
fi
}
function delbr
#$1 - name
{
sudo ifconfig br0 down
sudo brctl delbr $1
}
function addtap
#$1 - bridge device
#$2 - tap device
{
#setup network
sudo tunctl -b -u `whoami` -t $2
sleep 1
sudo ip link set $2 up
sleep 1
sudo brctl addif $1 $2
}
function deltap
#$1 - bridge device
#$2 - tap device
{
sudo brctl delif $1 $2
sleep 1
sudo ip link set $2 down
sleep 1
sudo tunctl -d $2
}
function initpid
{
PIDFILE=`mktemp`
}
function addpid
{
echo $! > $PIDFILE
}
function waitforpids
{
for i in `cat $PIDFILE` ; do
wait $i
done
}
initpid
addbr br0
addtap br0 ktap0
sudo kvm -hda images/base.img --snapshot -net nic,vlan=0,model=virtio,macaddr=d8:d3:85:12:65:10 -net tap,vlan=0,ifname=ktap0,script=no,downscript=no &
addpid
addtap br0 ktap1
sudo kvm -hda images/base.img --snapshot -net nic,vlan=0,model=virtio,macaddr=d8:d3:85:12:65:11 -net tap,vlan=0,ifname=ktap1,script=no,downscript=no &
addpid
waitforpids
deltap br0 ktap0
deltap br0 ktap1
delbr br0
Megoldás:
Paranoid iptables a notebook-on...
sudo iptables -A FORWARD -i br0 -j ACCEPT
ez az új "rule" megoldja. Köszönöm szépen a segítséget mindenkinek.