![在笔记本电脑的无线接口上设置 kvm](https://linux22.com/image/56942/%E5%9C%A8%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E7%9A%84%E6%97%A0%E7%BA%BF%E6%8E%A5%E5%8F%A3%E4%B8%8A%E8%AE%BE%E7%BD%AE%20kvm.png)
我正在尝试设置键盘虚拟机在ubuntu 14.04主机。
我使用无线接口在我的机器上访问互联网。我已经在我的无线接口中设置
/etc/networks/interfaces
如下。auto wlan0 iface wlan0 inet static address 192.168.1.9 netmask 255.255.255.0 gateway 192.168.1.1 wpa-ssid My_SSID wpa-psk SSID_Password dns-nameservers 8.8.8.8 dns-search lan dns-domain lan
我检查了我的机器是否可用于虚拟化,并且此命令确认我的硬件支持虚拟化。
egrep '(vmx|svm)' /proc/cpuinfo
我安装了必要的软件包千斤顶虚拟化如下。
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
我还安装了bridge utils包来为我的设备配置桥接网络千斤顶。
apt-get install bridge-utils
我修改了我的
/etc/network/interfaces
以允许桥接网络,如下所示。auto br0 iface br0 inet static address 192.168.1.40 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 dns-search lan dns-domain lan bridge_ports wlan0 bridge_stp 0ff bridge_fd 0 bridge_maxwait 0 wpa-ssid my_ssid wpa-psk ssid_password
经过上述步骤后,我能够
ping 192.168.1.40
并且我也可以看到有br0和病毒0在命令的输出中列出ifconfig -a
。我的无线接口也可以毫无问题地访问互联网。但是,在上述步骤之后,如果我尝试使用
ubuntu-vm-builder
命令添加另一个操作系统,我将无法添加新操作系统。这是我用来添加新操作系统的命令。sudo ubuntu-vm-builder kvm trusty \ --domain rameshpc \ --dest demo1 \ --hostname demo1 \ --arch amd64 \ --mem 1024 \ --cpus 4 \ --user ladmin \ --pass password \ --bridge br0 \ --ip 192.168.1.40 \ --mask 255.255.255.0 \ --net 192.168.1.0 \ --bcast 192.168.1.255 \ --gw 192.168.1.1 \ --dns 8.8.8.8 \ --components main,universe \ --addpkg acpid \ --addpkg openssh-server \ --addpkg linux-image-generic \ --libvirt qemu;///system;
我发现使用无线接口设置桥接网络非常复杂,如中所述这问题。然而,正如答案所描述的,可以使用隧道设备。我已经尝试了中建议的选项这关联。但我无法让它发挥作用。
答案1
正如有人曾经正确地说过的那样,在 Linux 中没有什么是不可能的在 Linux TM,我可以实现千斤顶在我的主机中,通过无线接口连接桥接网络。
这些是我完成相同任务所遵循的步骤。
我安装了该
virt-manager
软件包是为了更有效地管理安装。我安装它如下。sudo apt-get install virt-manager
现在,创建一个新子网使用 Virt Manager 的 GUI,如下所示。这基本上是我们现有主机网络的子网络。
设置完这个之后新子网,检查网络是否可用并对某些站点执行 ping 操作以检查网络连接。
另外,使用命令检查路由信息
route
并确保wlan0
和virbr2
没有相同的目的地。现在,使其工作的最后一步是发出以下命令。这里192.168.1.9是主机地址。
arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
经过上述步骤后,我就可以成功安装了Fedora 客户操作系统使用
virt-manager
。
参考
http://specman1.wordpress.com/2014/01/02/wireless-bridging-virtual-machines-kvm/ https://superuser.com/questions/694929/wireless-bridge-on-kvm-virtual-machine
答案2
根据 KVM 的文档,不可能将桥接器与无线网卡一起使用。我不知道为什么,尽管我曾经在 VirtualBox 上桥接来宾。
我花了几个小时来弄清楚如何将访客连接到主机的无线网络,我发现最简单的方法是使用 TAP 设备。此方法的唯一缺点是您无法在来宾上使用 DHCP,并且必须从无线网络子网手动为其提供 IP 地址(这可能会导致 IP 冲突或在部署大量虚拟机的情况下带来不便)。
以下是使用 TAP 设备将访客连接到主机无线网络的步骤:
0/为Linux内核启用IPv4路由
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1/ 创建一个名为 tap0 的 Tap 设备,可以从用户 guest 访问(替换为您的用户名),无需 sudo:
sudo ip tuntap add mode tap tap0 user guest
2/ 为tap0设备分配一个IP地址(不必来自无线网络子网):
sudo ip addr add 10.10.10.10/24 dev tap0
sudo ip link set tap0 up
3/ 使用parprouted
(您可能必须安装它)来实现代理 arp 桥接,该桥接允许在主机无线 NIC 后面桥接访客以太网。
sudo parprouted wlan0 tap0
(将 wlan0 替换为您主机的无线接口)
4/ 添加一些路由表条目以允许数据包通过 Tap 设备的末端:
sudo iptables -A INPUT -i tap0 -j ACCEPT
sudo iptables -A FORWARD -i tap0 -j ACCEPT
sudo iptables -A FORWARD -o tap0 -j ACCEPT
在访客上从主机的无线网络子网分配静态 IP 地址。例如,如果您的 wlan0 位于 192.168.1.0/24 上,则可以配置来宾
sudo ip addr add 192.168.1.30/24 dev eth0
(eth0 是您访客的网卡)
或永久保存在 /etc/network/interfaces 中:
auto eth0
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.25
使用以下命令启动您的访客:
kvm -hda guest.img -m 512 -net nic -net tap,ifname=tap0,script=no
现在,您无线网络上连接的所有机器和访客之间都可以进行 ping 操作了。