Como fazer ping no meu cliente de framboesa virtual do qemu

0

Eu configurei como root, minha rede no meu laptop para obter uma ponte como esta:

ip tuntap add dev tap0 mode tap group $USER
ip link set dev tap0 up promisc on
ip addr add 0.0.0.0 dev tap0
ip link add br0 type bridge
ip link set br0 up
ip link set tap0 master br0
echo "0" |  tee --append /sys/class/net/br0/bridge/stp_state
ip addr add 192.168.2.1/24 dev br0
sysctl net.ipv4.conf.tap0.proxy_arp=1
sysctl net.ipv4.conf.enp2s0.proxy_arp=1
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -A FORWARD -i br0 -o enp2s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp2s0 -o br0 -j ACCEPT

Eu iniciei minha CPU QEMU ARM assim:

qemu-system-arm -cpu arm1176 -m 256 \
-M versatilepb -no-reboot -serial stdio \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
-kernel kernel-qemu-4.4.12-jessie \
-hda 2016-05-27-raspbian-jessie-lite.img \
-net nic -net tap,ifname=tap0,script=no,downscript=no

Eu coloquei 192.168.2.2 como endereço IP estático na emulação do Raspberry. A emulação é capaz de pingar o endereço de enp2s0, br0 e / ou world wide web. Mas não consigo fazer ping do meu laptop.

O que eu senti falta?

    
por dubis 07.02.2018 / 21:19

1 resposta

0

OK, finalmente encontrei o problema:

iptables -A FORWARD -i tap0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i br0 -o tap0 -m state --state RELATED,ESTABLISHED -j ACCEPT

A causa raiz é que a rota foi aberta entre enp2s0 e br0 , mas não entre br0 e tap0 . Após este comando do booth, consegui fazer uma conexão ssh para o meu QEMU. fácil se você entendeu

    
por 08.02.2018 / 14:56