在笔记本电脑的无线接口上设置 kvm

在笔记本电脑的无线接口上设置 kvm

我正在尝试设置键盘虚拟机ubuntu 14.04主机。

  1. 我使用无线接口在我的机器上访问互联网。我已经在我的无线接口中设置/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
    
  2. 我检查了我的机器是否可用于虚拟化,并且此命令确认我的硬件支持虚拟化。

    egrep '(vmx|svm)' /proc/cpuinfo
    
  3. 我安装了必要的软件包千斤顶虚拟化如下。

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. 我还安装了bridge utils包来为我的设备配置桥接网络千斤顶

    apt-get install bridge-utils
    
  5. 我修改了我的/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
    
  6. 经过上述步骤后,我能够ping 192.168.1.40并且我也可以看到有br0病毒0在命令的输出中列出 ifconfig -a。我的无线接口也可以毫无问题地访问互联网。

  7. 但是,在上述步骤之后,如果我尝试使用 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,我可以实现千斤顶在我的主机中,通过无线接口连接桥接网络。

这些是我完成相同任务所遵循的步骤。

  1. 我安装了该virt-manager软件包是为了更有效地管理安装。我安装它如下。

    sudo apt-get install virt-manager
    
  2. 现在,创建一个新子网使用 Virt Manager 的 GUI,如下所示。这基本上是我们现有主机网络的子网络。

    在此输入图像描述

  3. 设置完这个之后新子网,检查网络是否可用并对某些站点执行 ping 操作以检查网络连接。

  4. 另外,使用命令检查路由信息route并确保wlan0virbr2没有相同的目的地。

  5. 现在,使其工作的最后一步是发出以下命令。这里192.168.1.9是主机地址。

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. 经过上述步骤后,我就可以成功安装了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 操作了。

相关内容