[〜#〜] kvm [〜#〜]を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
kvm仮想化に必要なパッケージを以下のようにインストールしました。
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
kvmのブリッジネットワークを構成するために、ブリッジユーティリティパッケージもインストールしました。
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とがあることも確認できましたifconfig -a
コマンドの出力にリストされるvirbr0。また、ワイヤレスインターフェイスに問題なくインターネットにアクセスできます。
ただし、上記の手順の後に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 リンクで提案されているオプションを試しました。しかし、私はそれを機能させることができませんでした。
誰かが一度正しく言ったように、Linuxでは不可能はありませんTM、ワイヤレスインターフェイスを介してブリッジネットワークでホストでkvmを実現できます。
これらは私が同じことを達成するために従ったステップです。
インストールをより効率的に管理するために、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
上記の手順の後、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
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が機能します。