web-dev-qa-db-ja.com

ラップトップマシンのワイヤレスインターフェイスで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. kvm仮想化に必要なパッケージを以下のようにインストールしました。

    apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
    
  4. kvmのブリッジネットワークを構成するために、ブリッジユーティリティパッケージもインストールしました。

    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があることも確認できましたifconfig -aコマンドの出力にリストされるvirbr0。また、ワイヤレスインターフェイスに問題なくインターネットにアクセスできます。

  7. ただし、上記の手順の後にubuntu-vm-builderコマンドを使用して別のOSを追加しようとすると、新しいOSを追加できません。これは、新しいOSを追加するために使用するコマンドです。

    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;  
    

this の質問で説明されているように、ワイヤレスインターフェイスを使用してブリッジネットワークを設定するのは非常に複雑であることがわかりました。ただし、答えが説明するように、トンネリングデバイスを使用することは可能です。 this リンクで提案されているオプションを試しました。しかし、私はそれを機能させることができませんでした。

15
Ramesh

誰かが一度正しく言ったように、Linuxでは不可能はありませんTM、ワイヤレスインターフェイスを介してブリッジネットワークでホストでkvmを実現できます。

これらは私が同じことを達成するために従ったステップです。

  1. インストールをより効率的に管理するために、virt-managerパッケージをインストールしました。以下のようにインストールしました。

    Sudo apt-get install virt-manager
    
  2. 次に、下で強調表示されているVirt ManagerのGUIを使用して、新しいサブネットワークを作成します。これは基本的に、既存のホストネットワークのサブネットワークです。

    enter image description here

  3. これを設定した後新しいサブネットワーク、ネットワークが利用可能かどうかを確認し、いくつかのサイトにpingしてネットワーク接続を確認します。

  4. また、routeコマンドを使用してルーティング情報を確認し、wlan0virbr2の宛先が同じでないことを確認してください。

  5. これを機能させるための最後のステップは、以下のコマンドを発行することです。ここで192.168.1.9はホストマシンのアドレスです。

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. 上記の手順の後、virt-managerを使用してFedoraゲストOSを正常にインストールすることができました。

参照

http://specman1.wordpress.com/2014/01/02/wireless-bridging-virtual-machines-kvm/https://superuser.com/questions/694929/wireless -bridge-on-kvm-virtual-machine

18
Ramesh

KVMのドキュメントによると、ワイヤレスNICでブリッジを使用することはできません。 VirtualBoxでゲストをブリッジするのに使用した理由がわかりません。

ゲストをホストのワイヤレスネットワークに接続する方法を理解するために数時間を費やしましたが、TAPデバイスを使用するのが最も簡単な方法であることがわかりました。この方法の唯一の欠点は、ゲストでDHCPを使用できず、ワイヤレスネットワークサブネットからIPアドレスを手動で付与する必要があることです(これにより、多数のVMをデプロイする場合に、IPの競合や不便が生じる可能性があります)。

TAPデバイスを使用してホストのワイヤレスネットワークでゲストを接続する手順は次のとおりです。

0/LinuxカーネルのIPv4ルーティングを有効にする

Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

1/Sudoなしでユーザーguest(ユーザー名に置き換え)からアクセスできるtap0という名前のタップデバイスを作成します。

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(インストールが必要な場合があります)を使用して、ホストのワイヤレスNICの背後でゲストイーサネットをブリッジできるプロキシarpブリッジを実装します。

Sudo parprouted wlan0 tap0

(wlan0をホストのワイヤレスインターフェイスに置き換えます)

4 /いくつかのルーティングテーブルエントリを追加して、パケットがタップデバイスの両端を通過できるようにします。

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はゲストのNICです)

または永続的に/ 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が機能します。

0
Karim Manaouil