几天后我仍然无法在 debian8.7(或 ubuntu 16.04)和 qemu 上运行网络。全部使用默认包安装(或者 - 如果是 qemu,也从 src 与 Shadow 的博客文章相关)。
我认为该错误位于 /etc/network/interfaces 内部或正在运行的脚本中。
我将把两者都粘贴在下面。也许你会发现这个错误并帮助我一点。感谢您的时间。
/etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
# auto br0
iface br0 inet dhcp
pre-up tunctl -t tap0 -g tuntap
pre-up tunctl -t tap1 -g tuntap
pre-up ip link set tap0 up
pre-up ip link set tap1 up
bridge_ports eth0 tap0 tap1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
post-down ip link set tap0 down
post-down ip link set tap1 down
post-down tunctl -d tap0
post-down tunctl -d tap1
它来自 debian 8.7(我大约一小时前下载并安装了最新版本)。
脚本运行:
#!/bin/sh
image="/home/myuser/routers_research/debian-mipsel/debian_squeeze_mipsel_standard.qcow2"
kernel="/home/myuser/routers_research/debian-mipsel/vmlinux-2.6.32-5-4kc-malta"
echo "[+] Start debian mipsel.."
qemu-system-mipsel -net nic -net tap,ifname=tap1,script=no,downscript=no -nographic -M malta -m 256 -kernel $kernel -hda $image -append "root=/dev/sda1 console=tty0"
答案1
我的问题完全是虚拟机方面的,但我使用的是“用户”网络。解决方案:
su
# <root pwd>
/usr/sbin/dhclient
# problem solved
我从这里安装了 debian-mips 并立即遇到了以下开箱即用的问题:
wget http://http.us.debian.org/debian/dists/buster/main/installer-mips/current/images/malta/netboot/initrd.gz
wget http://http.us.debian.org/debian/dists/buster/main/installer-mips/current/images/malta/netboot/vmlinux-4.19.0-16-4kc-malta
# Installed...
# Copy /boot files out of vm...
# Run with:
qemu-system-mips -M malta -m 256 -hda hda.img \
-kernel vmlinux-4.19.0-16-4kc-malta \
-initrd initrd.img-4.19.0-16-4kc-malta \
-append "root=/dev/sda1 console=ttyS0 nokaslr" \
-nographic \
-device e1000-82545em,netdev=user.0 \
-netdev user,id=user.0,hostfwd=tcp::5555-:22
sudo
未安装。改用su
PATH
不包括 sbin。跑步export PATH=$PATH:/usr/sbin
ifconfig
不存在。改用ip a
ifup: unknown interface enp0s19
。 Alt:(ip link set dev enp0s19 up
但如上所述,真正的问题是 dhclient 没有运行)