Hyper-V integration installed with pfSense 2.0.1



  • Hey guys,

    First post.  I have been browsing these forums for days as I have been trying to get pfSense working on Hyper-V with the integration components as well.

    Finally nailed this one last night.  My knowledge in FreeBSD (well any *nix really) is limited, I am more of a Windows tech, so this took me awhile.  Thought I'd post my write-up for anyone to reference if it helps.

    http://alexappleton.net/post/37410981279/pfsense-in-hyper-v-with-integration-components

    Basically the rundown was I got the Hyper-V integration components installed in FreeBSD 8.1.  Took the kernel and overwrote the one on the pfSense box.  Full integration with proper NIC, and shutdown and restart commands.



  • Getting the Hyper-V integration to work in pfSense sounded like music to my ears, being capped by the terribly slow Legacy NIC drivers right now.

    So I gave this a try on a pfSense test VM, exactly following your guide (same versions and all). The only difference is that I'm using Windows Server 2008R2 with Hyper-V 2.0
    So I got the integration components working on the FreeBSD VM after upgrading the kernel according to the guide. I could shutdown the machine from the Hyper-V menu, I had a working 'hn0' nic, all fine.

    Then I copied the kernel over to my pfSense test VM.
    Again the interfaces 'hn0' and 'hn1' are working, I can shutdown the VM, so integration works.

    However, pfSense itself isn't working anymore :( During boot it complains about a number of modules that seem to be missing.

    So I was wondering if you have it working, can you maybe post a little more detailed steps?
    I tried compiling the kernel with commenting out the```
    #makeoptions  MODULES_OVERRIDE=""

    
    I would really like to get Hyper-V integration working on my pfSense box, so if you could give me some help and/or point me in the right direction, I'd appreciate that a lot.


  • That's good news !

    Thanks for posting.



  • Could you please explain how to:
    1- How to mount the disk with the kernel(in Hyper-V it is done already)
    2- Check if the kernel is copied
    3- Witch command's I have to enter to copy the new Kernel to the /boot folder of pfSense, renaming if have found already (mv /boot/kernel /boot/kernel.old)

    I'm kind of a n00b on FreeBSD, everything else in you're instructions I have done already.
    Your help is greatly appreciated.



  • I've been trying alexappleton method with pfSense 2.0.1, 2.0.2, and 2.1 Beta1 (thank you alexappleton for showing this is possible) and I can see the synthetic drivers working (no need to reset interfaces on startup, LAN interface responds to pings, can shutdown from Hyper-V). However, with all of these versions, I get errors during boot up  (sysctl; unknown oid ‘net.enc.out.ipsec_bpf_mask’, ‘net.inet.ipcomp.ipcomp_enable’, etc.) and the firewall rules aren't being loaded (I get "file doesn't exist '/dev/pf'" alert in the WebConfigurator). So far, I haven't been able to create a working router.

    Moreover, the github repository being used (https://github.com/FreeBSDonHyper-V/freebsd/wiki/Build-the-kernel-with-the-HyperV-drivers) seems to be specific to FreeBSD 8.2 (and doesn't include fixes post August), so regardless of the version of the local FreeBSD installation being used, you end up creating an 8.2 kernel. Additional work is necessary in order to match the FreeBSD version expected by pfsense (http://doc.pfsense.org/index.php/PfSense_and_FreeBSD_Versions). This likely contributes to the errors I'm seeing, and it would require more research to figure out how to match the correct version. Given that pfSense  2.0.x is based on FreeBSD 8.1 and that 2.1 is based on 8.3, these github instructions might not work very well in most cases.

    However, I think I found another way. To be continued.



  • http://devwiki.pfsense.org/DevelopersBootStrapAndDevIso
    These are the instructions on how to configure a FreeBSD system to build a custom pfSense ISO image. As far as I can tell, the instructions are current and should work with 2.0.x and 2.1.

    http://blog.chrisara.com.au/2012/08/hyper-v-integration-components-for_13.html
    And here you can find Chris Knight source patch files to add Hyper-V support to FreeBSD 8.2, 8.3, 9.0 and 9.1 Beta. In addition of the patch files, there is a link in the comments (https://github.com/FreeBSDonHyper-V/freebsd/issues/65) that points to a couple minor source code changes that seem to greatly improve TCP performance. I don't know if there have been other patches since August.

    Considering that the integration services code is not officially compatible with FreeBSD 8.1, I'm first focusing on adding Hyper-V support to the 8.3 kernel to get a working pfSense 2.1 beta. Later we can try and figure out a way to get a Hyper-V 8.2 kernel that works with pfSense 2.0.x (or figure out a way to add Hyper-V support to 8.1).

    My current strategy:

    • Install a new VM with FreeBSD 8.3 (calling this VM pfBuilder83)
    • Get the source files, Chris Knight patch (plus "issue 65" fixes), and compile an 8.3-RELEASE-p5 kernel with Hyper-V support for this FreeBSD VM
    • Use this VM to build a custom pfSense 2.1 Beta ISO and test it. The key thing to figure out is how to get the pfSense build process to include the patched sources when it builds the kernel that will go in the ISO.

    I'm currently building a custom pfSense 2.1 Beta ISO, but the process takes a while. I'll report back when it's done.



  • @zootie
    Please let me know when you're finished, I would like obtain that ISO very much :)
    If you agree I will even host it to the public.  ;)



  • I've been trying to create a pfBuilder VM for 2.1 (using the DevelopersBootStrapAndDevIso procedure), but I haven't been successful. Tried both on FreeBSD 8.3 x86 and x64. It might be 2.1's beta code, or some other issue I haven't found.

    Even when I try and build the pfsense ISO w/o making changes, it attempts to build a Hyper-V kernel, but it fails because it is missing the kernel configuration file (and it doesn't work if I put the file manually), so there might be some Hyper-V related code in the source base (albeit not all necessary code is present).

    I followed Chris Knight's instructions, and was able to build a Hyper-V enabled kernel for FreeBSD, which seemed to work (and it seemed faster in general), but this kernel doesn't seem to work with pfSense - pretty much the same as with the 8.2 kernel from before, it boots and it recognizes synthetic adapters, but still won't work. Likely there are patches in the pfSense source tree that need to be incorporated into this kernel (maybe the code that supports /dev/pf, given the most glaring error so far?)

    I'll keep digging. Next thing I might try is to try and see if I can include pfsense kernel patches into the FreeBSD source, to try and just build a compatible kernel (and avoid the remaining complexity of the ISO build).

    It will take a while. If anybody has insight on FreeBSD and/or the DevelopersBootStrapAndDevIso it would be appreciated.



  • Please let us know if you have succeeded :)
    I wish you the best of luck  8)



  • We just got some hardware in today that's going to be dedicated to a Hyper-V server or two, though we're about to move to a new office and won't be bringing it up until then. We'll be dedicating some time to getting the Hyper-V patches integrated with ours in the next month or two.



  • @cmb:

    We'll be dedicating some time to getting the Hyper-V patches integrated with ours in the next month or two.

    That's great news, we have a number of installs running on Hyper-V and would benefit from being able to use the proper NICs and being able to shut down an install from the Hyper-V console.



  • Hi All,

    I've got my pfSense running the kernel successfully, and also got a FreeBSD box building the pfSense kernel :).Now I'm trying to get an ISO built with the added kernel but hit a bit of a stop on where the kernel should be added. When i look through it seems to compile the kernel as part of the build process, but i guess i need to strip that out and copy the prebuilt kernel in.

    Any ideas?



  • @cmb:

    We just got some hardware in today that's going to be dedicated to a Hyper-V server or two, though we're about to move to a new office and won't be bringing it up until then. We'll be dedicating some time to getting the Hyper-V patches integrated with ours in the next month or two.

    WOOHOOOOO!!!



  • It's great that someone more qualified will be looking into this and into the future. Thank you for letting us know, cmb.

    In the meantime, pending more testing, it seems I finally got the pfBuilder to generate a working pfSense 2.1 Beta ISO. It boots w/o major errors on the console, and seems to be working properly (can see hn0, hn1, and can shutdown from Hyper-v). I still have more testing to do, and there a few things still to check:

    • So far, I've only been able to get it working with amd64. Earlier, I got other errors when I tried building an i386 ISO and I haven't tried again. The hyper-v patch might be missing some files for i386.

    • During the build, it couldn't get the sources for syslog-ng. It could be a transient error on a source server or some problem in the beta code. I'll retry to get this package later in the week.

    • On the webConfigurator, it fails to open the System Logs page (Call to undefined function isallowedpage() in /usr/local/www/fbegin.inc), might be a consequence of missing syslog-ng

    • Sometimes on the console, there are warnings that seem to be coming from the webConfigurator PHP ("Warning: sessions_start(): …") - again, this is likely due to beta code or the missing syslog-ng

    These are the key steps I followed to get the pfBuilder to build a Hyper-V aware kernel:

    1 - Installed FreeBSD 8.3 amd64 release (standard minimal setup, didn't change its kernel and didn't run update-freebsd). If doing this on a Hyper-V VM, don't forget to reset the nic each time you reboot to get connectivity (ifconfig de0 down/up, dhclient de0 - or add it to a startup script, as we have to do with pfSense itself)

    2 - Followed the DevelopersBootStrapAndDevIso instructions, including the commands to "Ensure BSDInstaller is sound" (made a copy of the VM before building, so I'd have a backup to revert to).

    3 - Did a test build run w/o making changes, and tested that the ISO boots, to make sure that pfBuilder is working properly. After the first build, I started getting some errors on the console just before the login ("libczmq.so.1 not found", "failed to start syslogd", "can't open %%RC_SUBR%%"), this seems to be a side effect of the build process and read somewhere that it's to be expected and can be ignored.

    4 - Incorporated the changes to fix the TCP speed issue into Christ Knight's 8.3 patch, and made a patch for ip_output.c to initialize mtu = 0 in function ip_output () - to avoid a compiler warning that would stop the process. Copied both patch files to /home/pfsense/tools/patches/RELENG_8_3 and appended both patches to /home/pfsense/tools/builder_scripts/patches.RELENG_8_3 ("-p1fbsd83b-hyperv.patch~" and "-p1ip_output.c_mtu.patch~").  Rename attached file extension to zip to get these patches.

    5 - Modified /home/pfsense/tools/builder_scripts/conf/pfSense_SMP.8 (changed "include GENERIC" to "include HYPERV_VM"). I don't know if there is a better way to incorporate the new kernel options (add another kernel choice to the build and setup?)

    6 - Do a cleanup in the builder menu, build ISO.

    I'll keep testing it, maybe attempt to transplant this kernel to a 2.0.x install to see how it behaves, or figure out if there is a way to make pfBuilder use a patched 8.2 source to build a 2.0.x ISO (or apply the patch to 8.1 sources).

    Depending on testing, I'll maybe post the ISOs or kernel somewhere for a temporary quick fix for anyone looking to early test it (mid term, you might want to have your own pfBuilder so you can incorporate changes to the 2.1 beta, and/or wait for cmb's team to better incorporate the changes into the pfSense source).

    fbsd83b-hyperv-ip_output-patches.zip.txt



  • @zootie
    Could you share your hyper-v pfSense ISO with us ?



  • Success!!!!!  :D

    I was able to create ISOs with a Hyper-V kernel for both 2.0.x and 2.1 Beta. Both install and show no major errors and seem functional. More testing is needed, but it is a good starting point for all of us needing to have better Hyper-V support in pfSense.

    I'll post more details once I get some sleep and go deal with life. In the meantime, I posted the ISOs on RapidShare:
    ~~http://rapidshare.com/files/1592931654/pfSense-LiveCD-2.0.3-PRERELEASE-amd64-hyperv-kernel-20130119-0048.zip

    http://rapidshare.com/files/4194997857/pfSense-LiveCD-2.1-BETA1-amd64-hyperv-kernel-20130119-0948.zip~~

    To get a recent version please see here: http://forum.pfsense.org/index.php/topic,56565.msg362435.html#msg362435



  • I cant download the file, ii get the following error:

    Download not available
    Download permission denied by uploader. (0b67c2f5)



  • Please try again, the download link should be working now.



  • Yes its working thank you very much ;D



  • This is super exciting!!!



  • The RapidShare download links are limited to about 10 downloads per day (if you get an error about over quota, just give it a day to retry). The zip files include the patch files used (just the original and modified Chris Knight patches).

    Some details.

    On the 2.1 Beta build, no changes in the build process since my prior post. However, it seems there were some fixes checked in the beta code, and it is reporting less errors from PHP and the WebConfigurator. It should be a good testing platform for anyone trying 2.1 under Hyper-V.

    On the 2.0.x build. It is using FreeBSD 8.2 (p10) and it reports version 2.0.3 PRERELEASE. The code should be fairly close to 2.0.2 RELEASE. You'd have to try the features you need to make sure it works for you.

    After installing 2.0.3, you probably want to fix the missing beep (http://redmine.pfsense.org/issues/2738), if only to avoid the on screen error.

    These are the changes I did to get 2.0.x built:

    • Changed the version on the menu and did a build w/o any changes

    • In /home/pfsense/tools/builder_scripts/pfsense-build.conf change FreeBSD 8.1 references to 8.2

    • As with 2.1 Beta, add the TCP fixes to the 8.2 patch file and put it in pfBuilder 8.2 patch directory (/home/pfsense/tools/patches/RELENG_8_2) and add it to pfBuilder 8.2 patch list (/home/pfsense/tools/builder_scripts/patches.RELENG_8_2). Also apply the same ip_output.c mtu intialization patch.

    • As with 2.1 Beta, same changes to /home/pfsense/tools/builder_scripts/conf/pfSense_SMP.8

    • Change /home/pfsense/tools/builder_scripts/pfsense_local.sh so it doesn't build the sfxge module - changeif [ ${FREEBSD_VERSION} -gt 7 -a "$FREEBSD_BRANCH" != "RELENG_8_1" ]; thento```
      if [ ${FREEBSD_VERSION} -gt 7 -a "$FREEBSD_BRANCH" != "RELENG_8_1" -a "$FREEBSD_BRANCH" != "RELENG_8_2" ]; then



  • I've tested the PRERELEASE ISO and found some things which are not working:

    • Traffic Sharping (no interfaces shown)
    • not VLan captable (für 2008+2008R2 correct, for 2012 maybe not)
    • RDD Graphs empty (both on Dashboard and in Status->RDD Graph)
      The following error code is shown in the System Log Tab:
    php: : RRD create failed exited with 127, the error is: nice: /usr/local/bin/rrdtool: No such file or directory
    php: : The command '/usr/bin/nice -n20 /usr/local/bin/rrdtool update /var/db/rrd/wan-traffic.rrd N:U:U:U:U' returned exit code '127', the output was 'nice: /usr/local/bin/rrdtool: No such file or directory'
    apinger: Error while feeding rrdtool: Broken pipe
    

    @zootie: please don't take this as a criticism for your work. This is GREAT. This is more some kind of bug/missing feature list for final integration :).



  • I know, we're just trying to get a working set and help the community. Maybe get enough testing done so the drivers make it into 2.1 moving forward. Or someone more familiar with the development process might have more insight what are the barriers to get 2.0.x working on an 8.2 kernel.

    As for missing features

    • Don't know why the interfaces don't show up under traffic shaping. Maybe the driver doesn't support needed features (alt-q enabled), as described in http://redmine.pfsense.com/issues/1802

    • I haven't tried using VLANs inside a VM (usually do it on the host). It's something that supposedly can work in WSrv 2012, but I haven't had a chance to try it.

    • Looking for the rrd error in the log, it seems that you only need to reinstall rrdtool (pkg_add -r rrdtool, per http://forum.pfsense.org/index.php?topic=37489.0). It takes a while (it downloads several X related packages) and displays some warnings along the way, but rrd graphs are back and I haven't noticed any ill effects.

    Other things I've noticed on 2.0.3

    • Early in the boot process, it displays errors related to ipw_monitor_fw, about it missing legal.intel_ipw.license_ack=1 in /boot/loader.conf to accept the license agreement for this module.

    • Still see "calcru: runtime went backwards" warning, usually shortly after a reboot (but no different from 2.0.2 w/o Hyper-V).

    • It complains about not finding the IPSec PID during boot, and it can take some time to re-establish the first IPSec network connection (if using IPSec Site to Site), but it does establish the connection after a while (might need to reconnect it manually), and otherwise site to site IPSec seems to be working properly.



    • Looking for the rrd error in the log, it seems that you only need to reinstall rrdtool (pkg_add -r rrdtool, per http://forum.pfsense.org/index.php?topic=37489.0). It takes a while (it downloads several X related packages) and displays some warnings along the way, but rrd graphs are back and I haven't noticed any ill effects.

    works :).

    • Still see "calcru: runtime went backwards" warning, usually shortly after a reboot (but no different from 2.0.2 w/o Hyper-V).

    I'm not sure if that is some kind of wanted behaviour. Because this behaviour occours an an XP VM, too. But right after this message the web interface stops respondung and I have to restart it manually.

    Edit: if you have an idea how vlans could work on an 2012 machine, let me know :).



  • Hyper-V as a host will allow vlans connected to different virtual adapters on 2008 version
    It however requires that the physical nic that is connected to the virtual switch is Vlan enabled.

    Hyper-V as a host will allow Vlan trunking on one virtual adapter in 2012 Version.

    Edit: Don't do advanced networking before 10 a clock :)
    I have a testbox running now and it seems to work. Now it's just a matter of getting this into the stable release :)



  • I have a testbox running now and it seems to work. Now it's just a matter of getting this into the stable release Smiley

    With a pfSense box? In my case the console configuration script says me that there are no vlan captable interfaces.
    Same config is running with a Windows Server 2012 so the Hyper-V config seems to be correct.



  • Thank you for this :)

    2.1 on Hyper-V 2012, I have 3 vNics (vlans set on host), PPPoE and DHCP WAN's load balanced plus IPSec VPN and all seems much like my physical 2.0.1 box. I can live migrate it between Hyper-V hosts with only one dropped packet at the clients.

    I used "sysctl kern.timecounter.hardware=TSC" to fix the calc runtime error.

    Only potential issue I have is spikes in CPU usage despite no activity, plus I'm only 60/20 VDSL and its on a Xeon E5620 host so plenty of power.




  • @Fehler20:

    I have a testbox running now and it seems to work. Now it's just a matter of getting this into the stable release Smiley

    With a pfSense box? In my case the console configuration script says me that there are no vlan captable interfaces.
    Same config is running with a Windows Server 2012 so the Hyper-V config seems to be correct.

    Yes and no :)
    2008R2SP1 as base OS running a Hyper-V server.
    I do feed that server with Vlans so my virtual Switch called trunk has a number of VLans on it.

    When i Created my virtual machine fpr PFSense i gave it to Network cards attached to the Trunk Vswitch.
    On for Vlan 1 and one for Vlan 666 (guess wich is the Evil internet)

    In Pfsense I get two non-vlan capable Nics witch i Assaign to Internal and Wan.
    If i try to use Vlan here I get the same message as you did.

    Im not sure if the nic driver for Hyper-v is Capable of Vlans. The BSD driver has the function if it's of the right version but it didn't have it from the beggining.



  • Thak you for your explanation. That's how I use pfSene at the moment.



  • I am running this is On a Windows 2012 Hyper-V host and are seeing some errors when I start the pfSense VM

    A storage device in 'pfSense' loaded but has a different version from the server.  Server version 5.1  Client version 2.0

    Networking driver in pfSense loaded but has a different version from the server. Server version 4.0  Client version 3.2

    Also there is an error later after about an 10-28 hour period of running perfectly that the adapter connected to the Hyper-V switch disconnects (mostly the WAN side but the LAN side also) The only way to correct the issue is to restart the Hyper-V Host. I have tried disconnecting the cables and replacing the cables, disabling and enabling the network cards associated to those virtual switches, upgrading the Intel 82574L drivers to Intel’s latest, and disabled most settings in different combinations to see if a setting was to blame. Still the network adapter seems to disappear randomly. Also tried a different network card fearing the integrated NIC was faulty. Still no joy

    Is there any plans from Microsoft to release the updated drivers for FreeBSD on Hyper-V and if so zootie do you think you can update the ISOs that you created because this is the best integration I have seen with Hyper-V

    Shout out to zootie for the time he took to make the ISO



  • @M15t4B

    There are maybe plans because the driver is in beta state. For that time you maybe should enable MAC Adress spoofing at the HyperV Network configuration interface.
    With Server 2008 R2 there are no Problems.

    I used "sysctl kern.timecounter.hardware=TSC" to fix the calc runtime error.

    This resolves the error outputs but makes the pfSense clock run. I get +8 hours a day.



  • @M15t4B:

    I am running this is On a Windows 2012 Hyper-V host and are seeing some errors when I start the pfSense VM

    A storage device in 'pfSense' loaded but has a different version from the server.  Server version 5.1  Client version 2.0

    Networking driver in pfSense loaded but has a different version from the server. Server version 4.0  Client version 3.2

    Also there is an error later after about an 10-28 hour period of running perfectly that the adapter connected to the Hyper-V switch disconnects (mostly the WAN side but the LAN side also) The only way to correct the issue is to restart the Hyper-V Host. I have tried disconnecting the cables and replacing the cables, disabling and enabling the network cards associated to those virtual switches, upgrading the Intel 82574L drivers to Intel’s latest, and disabled most settings in different combinations to see if a setting was to blame. Still the network adapter seems to disappear randomly. Also tried a different network card fearing the integrated NIC was faulty. Still no joy

    Is there any plans from Microsoft to release the updated drivers for FreeBSD on Hyper-V and if so zootie do you think you can update the ISOs that you created because this is the best integration I have seen with Hyper-V

    Shout out to zootie for the time he took to make the ISO

    I'm sorry this is no help but I'm having good luck with it :-\ I hope you can get it sorted!

    Host 1 = Xeon E5620, Asus Z8NA-D6 server board, 2 x 82574L onboard. Fresh install of 2012 Std, both NIC's teamed 802.3ad into one switch with Intel Proset 17.4.95, all other settings at default. One vSwitch on the NIC team. 10 other VMs running.

    Host 2 = Fresh install 2012 Std, Intel NUC, 1 x 82579V NIC, Proset 18.0.1 connected to a different model switch to above. 2-4 other VMs running.

    I present 3 synthetic vnics, mac spoofing enabled each on a different vlan in Hyper-V, 2 x wans and 1 x lan. One PPPOE and one DHCP.

    I have used vmdq off and on, seems to be no difference. Not sure either of my nics actually support vmdq despite the option being there so maybe why..

    I have remote site OpenVPN up and dialin IPSec VPN.

    I get the old intergration components error plus the time error in console but other than that it is all good. I have tried to use pf 2 beta on hyper-v without these components ages ago and after days of maddness had to buy a physical box, back then I had real issues with the same hardware although 2008 R2 host. I have full device monitoring and have barely a dropped packet in the 5 days it's been up. I've migrated it between hosts without issue and its spent a few days on both with no difference.

    I really hope it stays working because this is great, Hyper-V 2012 has a really strong business case vs ESXi and I'd like to use it more.

    Fehler20 :

    I don't know, I sync to external NTP time source so my clock is good.



  • It would make sense to say which of the 2 versions you are using? There is after all 2 different versions posted.

    I'd expect 2.0 branch to have issues because the drivers don't officially support the FreeBSD that's based on. I'd have thought if they did they'd have advertised that fact.

    The 2.1 branch however should in theory be OK because of the upgraded FreeBSD.

    Anyway please say which of the 2 is working for you or if you have problems again please say which version.



  • This issue was happening on both versions but I have solved the issue. Well I think I did. The VM has been running for 52 hours so far no issues. It was related to the processor C states allowing the NIC cards that are integrated to be powered off to conserve energy. I have been analyzing the logs off the host machine for the past few days and tried a few tweeks in the bios to not allow power saving anywhere and disabled C states also in windows I have turned off the settings in the device manager for the NICs for power saving.

    Seems with the updated Hyper-V integrated services for 2012 has power management settings that can be passed to the host for correct CPU low power states but the drivers currently for FreeBSD in beta only fully support 2008 R2 which do not have the new power management capabilities.

    The host box is a Supermicro 5017P-TLN4F
    http://www.supermicro.com/products/system/1u/5017/sys-5017p-tln4f.cfm

    16gb ram
    RAID 1 Intel 520 480GB SSD

    I use it for a low power house router and secondary domain controller and remote management for Microsoft system center 2012.

    Thanks for all your help everyone hope to see an update version soon and maybe full support in the next official release.



  • Cool, glad you got it sorted :)

    Mine has been fine although I did have an incident where I lost all configuration inside the VM, however I did cluster the hosts and mess with snapshots so I think I probably caused that.

    That Supermicro box is to die for, do you know how much power that is drawing from the wall because it looks exactly like what I want! :D



  • @zootie! terrific work! thanks for taking the effort to build the iso.

    @all - I have been trying for a long time to get pfsense working on hyper-v. The LAN side is all sorted out (completely virtualized), I'm having a problem with the WAN side.

    my setup is as follows

    Internet <-> router (DHCP for WAN) <-> pfsense WAN (connected to an external virtual switch) <-> pfsense (DHCP for the LAN) <-> LAN VM's (All connected to a private switch).

    No matter what I do, the pfsense WAN interface does not pick up an IP address from the router. Ideally, this should pick up a 192.168.1.x address

    Only things I can think of are 1) uncheck the setting on the WAN interface so that it can accept an RFC 1918 address and 2) enabling mac spoofing on the WAN interface.

    Any suggestions / pointers? Thanks in advance!



  • I'd just like to add my thanks as well. I'd tried it before on Hyper-V without the Integration Components and the performance was so poor that it was unusable. I had to switch to ESXi which was a shame because I liked some of the new features in Hyper-V 2012.

    However I've been running this in Hyper-V for around a week now with no issues. I don't use VLAN's and haven't played with QOS on it but I've got 2 WAN's, IPsec and OpenVPN all running off it with no issues.

    I'm using the 2.1 ISO. Obviously it tells me there's updates but I've not applied any incase it overrides the custom kernel with a default one and the Hyper-V integration is lost. Has anyone tried updating? I guess I could just snapshot it, try it and roll it back if it gets nuked. The advantages of it being a VM :)

    Hopefully 2.1 will be final in the not too distant future and can run off a none beta version of pfSense.

    Looking at the git repo for the Hyper-V drivers the development doesn't really seem to be moving much. It looks a bit slow to say the least which is a shame. I'm hoping they'd update the drivers to 2012 Hyper-V levels (Does that break backwards compatibility though with 2008 versions of Hyper-V? If so that's not such a good idea).



  • @vivek310:

    @zootie! terrific work! thanks for taking the effort to build the iso.

    @all - I have been trying for a long time to get pfsense working on hyper-v. The LAN side is all sorted out (completely virtualized), I'm having a problem with the WAN side.

    my setup is as follows

    Internet <-> router (DHCP for WAN) <-> pfsense WAN (connected to an external virtual switch) <-> pfsense (DHCP for the LAN) <-> LAN VM's (All connected to a private switch).

    No matter what I do, the pfsense WAN interface does not pick up an IP address from the router. Ideally, this should pick up a 192.168.1.x address

    Only things I can think of are 1) uncheck the setting on the WAN interface so that it can accept an RFC 1918 address and 2) enabling mac spoofing on the WAN interface.

    Any suggestions / pointers? Thanks in advance!

    Well it could be the nicdriver for the Physical card you are using for Wan. Some dumb manufacturers (Realtec! for example) doesn't include everything you need for hyper-V in their base driver.
    Saw this Issue with Hyper-V and a virtual ISA server. Exactly the same problem. Completly impossible to get an IP on Wan. Replaced the card with a Intel card and problem solved.
    There are articles on how you can fix it with additanl doenloads too but I didn't try them



  • @mats - thanks a lot for your response.

    I tried that too, but still no luck. The NIC is an intel 6200 wifi, with the latest drivers (released by intel towards the end of October). Can you post the links to the additional articles - I'll see if it helps!

    Only thing left now to try is to see if it works with a wired connection - but then, it would be a pain to be chained to a desk.

    Any other suggestions appreciated :).



  • @vivek310:

    @mats - thanks a lot for your response.

    I tried that too, but still no luck. The NIC is an intel 6200 wifi, with the latest drivers (released by intel towards the end of October). Can you post the links to the additional articles - I'll see if it helps!

    Only thing left now to try is to see if it works with a wired connection - but then, it would be a pain to be chained to a desk.

    Any other suggestions appreciated :).

    WAN and WLAN is 2 different things. Don't mix them up  :)


Log in to reply