ラップトップマシンのワイヤレスインターフェイスでkvmをセットアップする


14

私はセットアップにしようとしています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. また、ブリッジutilsパッケージをインストールして、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とも私はそこで見ることができましたBR0virbr0の出力にリストされている ifconfig -aコマンドが。また、無線インターフェイスで問題なくインターネットにアクセスできます。

  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;  
    

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

回答:


17

誰かがかつて正当に言ったように、Linux TMでは不可能なことは何もないので、無線インターフェースを介したブリッジネットワークでホストでkvmを達成できました。

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

  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ゲストOSを正常にインストールできましたvirt-manager

参照資料

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


2
:私は、ARPは、インターフェイス上でプロキシ有効にする必要がありましたsudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
レオン・ヴァンZyl氏

1
arpここでのステップ5のコマンド指示の代わりに、specman1.wordpress.com / 2014/01/02 / ...の「The future is here…」にある指示を使用しました。 echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpそして、echo 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (私は必ずしもステップ5は言わないよarp動作しません、ここでコマンド命令を、私はちょうど私がそれらを使用していなかった言っている)
dbank

私はそれを機能させることができませんでした...すべての記事は何か異なることを言っており、どれも従うほど明確ではありません。LinuxホストWindowsゲスト。
TetraDev

0

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という名前のtapデバイスを作成します(ユーザー名に置き換えます)

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が機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.