ตั้งค่า kvm บนอินเทอร์เฟซไร้สายบนเครื่องแล็ปท็อป


14

ฉันพยายามติดตั้งKVMในเครื่องโฮสต์อูบุนตู 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 กับเครือข่ายสะพานกำหนดค่าสำหรับฉันตรม

    apt-get install bridge-utils
    
  5. ฉันแก้ไขของฉัน/etc/network/interfacesเพื่ออนุญาตเครือข่าย bridged ดังนี้

    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และvirbr0อยู่ในรายการผลลัพธ์ของ 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;  
    

ฉันได้เห็นว่าการตั้งเครือข่ายสะพานใช้อินเตอร์เฟซแบบไร้สายที่เงียบสงบซับซ้อนเป็นที่กล่าวถึงในนี้คำถาม อย่างไรก็ตามเป็นคำตอบที่อธิบายว่าเป็นไปได้โดยใช้อุปกรณ์การขุดอุโมงค์ ฉันได้พยายามเลือกที่เป็นข้อเสนอแนะในการนี้การเชื่อมโยง แต่ฉันไปทำงานไม่ได้

คำตอบ:


17

อย่างที่ใครสักคนพูดอย่างถูกต้องครั้งหนึ่งไม่มีสิ่งใดใน Linux TMฉันสามารถบรรลุkvmในโฮสต์ของฉันด้วยเครือข่ายบริดจ์ผ่านอินเทอร์เฟซไร้สาย

เหล่านี้คือขั้นตอนที่ฉันทำตามเพื่อบรรลุเป้าหมายเดียวกัน

  1. ฉันติดตั้งvirt-managerแพคเกจเพื่อจัดการการติดตั้งอย่างมีประสิทธิภาพมากขึ้น ฉันติดตั้งมันเป็นด้านล่าง

    sudo apt-get install virt-manager
    
  2. ตอนนี้สร้างเครือข่ายย่อยใหม่โดยใช้ GUI ของ Virt Manager ดังที่ไฮไลต์ด้านล่าง นี่เป็นเครือข่ายย่อยของเครือข่ายโฮสต์ที่มีอยู่ของเรา

    ป้อนคำอธิบายรูปภาพที่นี่

  3. หลังจากตั้งค่าเครือข่ายย่อยใหม่นี้ให้ตรวจสอบว่าเครือข่ายพร้อมใช้งานและส่ง Ping ไปยังบางไซต์เพื่อตรวจสอบการเชื่อมต่อเครือข่ายหรือไม่

  4. นอกจากนี้ตรวจสอบข้อมูลเส้นทางโดยใช้routeคำสั่งและให้แน่ใจwlan0และvirbr2ไม่ได้มีปลายทางเดียวกัน

  5. ตอนนี้ขั้นตอนสุดท้ายที่จะทำให้มันใช้ได้คือการออกคำสั่งด้านล่าง ที่นี่192.168.1.9เป็นที่อยู่ของเครื่องโฮสต์

    arp -i wlan0 -Ds 192.168.1.9 wlan0 pub
    
  6. หลังจากขั้นตอนข้างต้นผมก็สามารถที่จะประสบความสำเร็จในการติดตั้งระบบปฏิบัติการของผู้เข้าพัก Fedoravirt-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_arpและecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp (ฉันไม่จำเป็นต้องพูดarpคำสั่งขั้นตอนที่ 5 ที่นี่จะไม่ทำงานฉันแค่บอกว่าฉันไม่ได้ใช้มัน)
dbank

ฉันไม่สามารถทำงานได้ ... ทุกบทความบอกว่ามีอะไรที่แตกต่างกัน Linux โฮสต์ windows แขก
TetraDev

0

ตามเอกสารของ KVM มันเป็นไปไม่ได้ที่จะใช้บริดจ์ที่มี NIC ไร้สาย ฉันไม่ทราบสาเหตุว่าทำไมถึงแม้ว่าฉันเคยเชื่อมผู้เยี่ยมชมบน VirtualBox

ฉันใช้เวลาสองสามชั่วโมงเพื่อหาวิธีเชื่อมต่อแขกกับเครือข่ายไร้สายของโฮสต์และฉันพบวิธีที่ง่ายที่สุดในการใช้อุปกรณ์ TAP ข้อเสียเพียงอย่างเดียวของวิธีนี้คือคุณไม่สามารถใช้ DHCP กับแขกและคุณต้องให้ที่อยู่ IP จากเครือข่ายย่อยเครือข่ายไร้สายด้วยตนเอง (ซึ่งอาจทำให้เกิดความขัดแย้งของ IP หรือความไม่สะดวกในกรณีที่ใช้งาน VM จำนวนมาก)

นี่คือขั้นตอนในการเชื่อมต่อแขกบนเครือข่ายไร้สายของโฮสต์โดยใช้อุปกรณ์ TAP:

0 / เปิดใช้งานการกำหนดเส้นทาง IPv4 สำหรับเคอร์เนล Linux

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

1 / สร้างอุปกรณ์ประปาชื่อ tap0 สามารถเข้าถึงได้จากผู้ใช้ของผู้ใช้ (แทนที่ด้วยชื่อผู้ใช้ของคุณ) โดยไม่ต้อง sudo:

sudo ip tuntap add mode tap tap0 user guest

2 / กำหนดที่อยู่ IP ให้กับอุปกรณ์ tap0 (ไม่จำเป็นต้องมาจากเครือข่ายย่อยเครือข่ายไร้สาย):

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 / การเพิ่มรายการตารางการจัดเส้นทางบางอย่างเพื่อให้แพ็คเก็ตเดินทางผ่านปลายของอุปกรณ์ประปา:

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.