랩톱 컴퓨터의 무선 인터페이스에서 kvm 설정


14

우분투 14.04 호스트 컴퓨터 에서 KVM 을 설정하려고 합니다.

  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또한 나는이 볼 수 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. 새로운 하위 네트워크를 설정 한 후 네트워크가 사용 가능한지 확인하고 일부 사이트를 핑하여 네트워크 연결을 확인하십시오.

  4. 또한 route명령을 사용하여 라우팅 정보를 확인 wlan0하고 virbr2동일한 대상이 없는지 확인하십시오 .

  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
Leon Van Zyl

1
arp여기의 5 단계 명령 지침 대신 specman1.wordpress.com/2014/01/02/…의 "미래가 여기 있습니다 ..."아래의 지침을 사용했습니다 . echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arpecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (I 반드시 5 단계 말하고 있지 않다 arp작동하지 않습니다 여기에 명령 지시;. 난 그냥 내가 그들을 사용하지 않은 말인지)
dbank

나는 그것을 작동시키지 못했습니다 ... 모든 기사는 다른 것을 말하지만, 따라야 할 명확한 것은 없습니다. 리눅스 호스트 윈도우 게스트.
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없이 사용자 게스트에서 액세스 할 수있는 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

이제 무선 네트워크에 연결된 모든 컴퓨터와 게스트간에 핑이 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.