From owner-freebsd-virtualization@freebsd.org Tue Nov 15 19:25:30 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B94E4C43D7E for ; Tue, 15 Nov 2016 19:25:30 +0000 (UTC) (envelope-from freebsd@jonathanprice.org) Received: from wright.jonathanprice.org (ns384592.ip-46-105-124.eu [46.105.124.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7089D11F5 for ; Tue, 15 Nov 2016 19:25:29 +0000 (UTC) (envelope-from freebsd@jonathanprice.org) Received: by wright.jonathanprice.org (Postfix, from userid 58) id CAF25256A4; Tue, 15 Nov 2016 19:25:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on wright.jonathanprice.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU autolearn=unavailable autolearn_force=no version=3.4.1 Received: from [IPv6:2a00:23c4:a080:5f00:e157:2721:92c9:882] (unknown [IPv6:2a00:23c4:a080:5f00:e157:2721:92c9:882]) by wright.jonathanprice.org (Postfix) with ESMTPSA id BDDEC256A1; Tue, 15 Nov 2016 19:25:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=jonathanprice.org; s=default; t=1479237923; bh=C793B1Y0PMzTC+hkzXmE0PxYUGoA3fah9H4mzzqfqi8=; h=Subject:To:References:Cc:From:Date:In-Reply-To; b=AN76PvBL1WA+g8aQxFm0qGIMcMB/gc0IFb2fPsyfXPZBKNquUP7J22jMUbhLOOkCj xnQIi+X2+monskhLiEXZNqf8CpI2koYXlqnWakvlAWGxY8uhe5ai/obDeHe1O/UyQc Ik1l++Ve20NVlySXVJtBJN3vUD0W5H1quTAPBcUE= Subject: Re: bhyve windows guest unable to ping default gateway or external networks To: The Doctor References: <4cf1a528d9a4e85d5aa351ca2ff417a9@mail.jonathanprice.org> <20161115150028.GB3776@doctor.nl2k.ab.ca> Cc: freebsd-virtualization@freebsd.org From: Jonathan Price Message-ID: Date: Tue, 15 Nov 2016 19:25:22 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161115150028.GB3776@doctor.nl2k.ab.ca> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2016 19:25:30 -0000 Hi, A good spot, my launch command doesn't include the virtio-win ISO that contains the RedHat net-kvm driver. However, this is mostly just due to a limitation in iohyve (or my understanding of it at least) in that it can only mount a single CD at once. I did in fact install the driver, by running "iohyve install win16 virtio-win.iso" which then mounted it for that session. However, successive "iohyve start win16" invocations did not continue to mount this ISO. In particular, I used virtio-win-0.1.126.iso with driver net-kvm/windows 2k16/amd64 for my attempt with Server 2016 and the 2k12r2/amd64 driver for Server 2012 R2. Thanks, Jonathan. On 15/11/2016 15:00, The Doctor wrote: > On Tue, Nov 15, 2016 at 11:58:29AM +0000, freebsd@jonathanprice.org wrote: >> Hello, >> >> I am trying to get a windows server VM running under bhyve. So far I can use VNC to install Windows, but I've been unable to get the networking working. I will provide details below, and include a summary up here. On the guest, I have installed the latest version of winvirtio, and I have configured static IP addressing. The guest can ping itself, but not the host machine or anything external. It is worth noting that I am also currently running a CentOS guest, and this can connect to both the host and the outside world with no issues. >> >> Host: FreeBSD 11.0-RELEASE >> Guest: Tried both Windows Server 2016 Essentials and Windows Server 2012 Standard >> >> bhyve command: >> bhyve -c 1 -H -w -m 3G -s 0,hostbridge -s 3,ahci-cd,/iohyve/ISO// -s '4,ahci-hd,/dev/zvol/zroot/iohyve/win12/disk0,sectorsize=512' -s 10,virtio-net,tap2 -s '11,fbuf,tcp=0.0.0.0:5902,w=800,h=600,wait' -s 12,xhci,tablet -s 31,lpc -l com1,/dev/nmdm3A -l bootrom,/iohyve/Firmware/BHYVE_UEFI.fd/BHYVE_UEFI.fd ioh-win12 >> > > I noticed something here. > > In my setup phase for Windows 2016 DC , > > I used > > > /usr/sbin/bhyve -A -c 4 -m 4G -w -H -s 3,ahci-cd,./.iso/virtio-win-0.1.96.iso -s 4,ahci-hd,windows2016.img -s 5,virtio-net,tap15 -s 29,fbuf,tcp=0.0.0.0:5900,w=1024,h=768,wait -s 30,xhci,tablet -s 31,lpc -l com1,/dev/nmdm15A -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd windows2016guest & > > Have you install the red-hat virtual ethernet driver? > >> ifconfig output: >> em0: flags=8843 metric 0 mtu 1500 >> options=4219b >> ether e0:69:95:a2:f1:d9 >> inet 46.105.xxx.xxx netmask 0xffffff00 broadcast 46.105.124.255 >> inet6 fe80::e269:95ff:xxxx:f1d9%em0 prefixlen 64 scopeid 0x1 >> inet6 2001:41d0:2:xxxx::1 prefixlen 56 >> nd6 options=21 >> media: Ethernet autoselect (100baseTX ) >> status: active >> lo0: flags=8049 metric 0 mtu 16384 >> options=600003 >> inet6 ::1 prefixlen 128 >> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 >> inet 127.0.0.1 netmask 0xff000000 >> nd6 options=21 >> groups: lo >> bridge0: flags=8843 metric 0 mtu 1500 >> ether 02:cf:0c:8f:13:00 >> inet6 fd00::ffff prefixlen 112 >> inet 10.0.0.254 netmask 0xffffff00 broadcast 10.0.0.255 >> nd6 options=1 >> groups: bridge >> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 >> maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 >> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 >> member: tap2 flags=143 >> ifmaxaddr 0 port 7 priority 128 path cost 2000000 >> member: tap1 flags=143 >> ifmaxaddr 0 port 5 priority 128 path cost 2000000 >> member: tap0 flags=143 >> ifmaxaddr 0 port 4 priority 128 path cost 2000000 >> pflog0: flags=0<> metric 0 mtu 33160 >> groups: pflog >> tap0: flags=8943 metric 0 mtu 1500 >> description: iohyve-centos >> options=80000 >> ether 00:bd:5d:d3:e8:00 >> nd6 options=21 >> media: Ethernet autoselect >> status: active >> groups: tap >> Opened by PID 96206 >> tap1: flags=8902 metric 0 mtu 1500 >> description: iohyve-win16es >> options=80000 >> ether 00:bd:61:ab:eb:01 >> nd6 options=21 >> media: Ethernet autoselect >> status: no carrier >> groups: tap >> tap2: flags=8943 metric 0 mtu 1500 >> description: iohyve-win12 >> options=80000 >> ether 00:bd:c9:1a:59:02 >> nd6 options=21 >> media: Ethernet autoselect >> status: active >> groups: tap >> Opened by PID 1911 >> >> It is using NAT with PF to reach the internet. It should not rely on NAT to be able to ping the host machine, but I will post the NAT configuration below anyway: >> >> /etc/pf.conf: >> # Automatically NAT any VMs >> nat on em0 inet from bridge0:network to any -> (em0) >> >> >> (On the Guest) >> ============== >> >> C:\Users\Administrator>ipconfig >> >> Ethernet adapter Ethernet: >> >> IPv4 Address: 10.0.0.3 >> Subnet Mask: 255.255.255.0 >> Default Gateway: 10.0.0.254 >> >> C:\Users\Administrator>ping 10.0.0.3 >> >> Pinging 10.0.0.3 with 32 bytes of data: >> Reply from 10.0.0.3: bytes=32 time<1ms TTL=128 >> Reply from 10.0.0.3: bytes=32 time<1ms TTL=128 >> Reply from 10.0.0.3: bytes=32 time<1ms TTL=128 >> Reply from 10.0.0.3: bytes=32 time<1ms TTL=128 >> >> C:\Users\Administrator>ping 10.0.0.254 >> >> Pinging 10.0.0.254 with 32 bytes of data: >> Reply from 10.0.0.3: Destination host unreachable. >> Reply from 10.0.0.3: Destination host unreachable. >> Reply from 10.0.0.3: Destination host unreachable. >> Reply from 10.0.0.3: Destination host unreachable. >> >> C:\Users\Administrator>arp -a >> >> Interface: 10.0.0.3 --- 0xc >> Internet Address Physical Address Type >> 10.0.0.255 ff-ff-ff-ff-ff-ff static >> 224.0.0.22 01-00-5e-00-00-16 static >> 224.0.0.252 01-00-5e-00-00-fc static >> >> (PF log testing) >> ================ >> >> I was curious to see if PF was seeing packets on the bridge interface, so I added the following to /etc/pf.conf: >> pass log (all) all >> >> I then ran the following command, which had no results when I tried a test ping: >> sudo tcpdump -n -e -ttt -i pflog0 host 10.0.0.3 >> >> (I also watched live traffic on 10.0.0.254 and saw nothing from this IP) >> >> >> Summary >> ======== >> >> I appear to be having some network connectivity issues that either lies in bhyve, virtio-net or the winvirtio drivers. If anybody has any suggestions for things I could try I'd love to hear it. >> >> Thanks, >> >> Jonathan. >> _______________________________________________ >> freebsd-virtualization@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization >> To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe@freebsd.org" > -- Jonathan Price www.jonathanprice.uk Verify my identity at https://keybase.io/pricetx