VMware workstation, Arch Linux and pfSense - cannot ping LAN



  • Guys, I'm trying to deploy my home lab but it seems I've got a problem with promiscuous mode / package forwarding.
    I've got the following setup:

    1. VMware host running Arch Linux connected to my home network (192.168.1.0/24) via wlp2s0 (intel wifi card). IP: 192.168.1.192
      Routing table:​​
    default via 192.168.1.1 dev wlp2s0 proto dhcp src 192.168.1.192 metric 303 
    172.16.0.0/24 dev vmnet8 proto kernel scope link src 172.16.0.1 
    172.16.78.0/24 dev vmnet1 proto kernel scope link src 172.16.78.1 
    192.168.1.0/24 dev wlp2s0 proto dhcp scope link src 192.168.1.192 metric 303 
    192.168.13.0/24 via 192.168.1.254 dev wlp2s0
    
    1. pfSense running as VM, having two network interfaces:
    • WAN: 192.168.1.254 (em0), bridged to wlp2s0
    • LAN: 192.168.13.1 (em1)
      VMX file:
    ​#!/usr/bin/vmware
    .encoding = "UTF-8"
    config.version = "8"
    virtualHW.version = "14"
    pciBridge0.present = "TRUE"
    pciBridge4.present = "TRUE"
    pciBridge4.virtualDev = "pcieRootPort"
    pciBridge4.functions = "8"
    pciBridge5.present = "TRUE"
    pciBridge5.virtualDev = "pcieRootPort"
    pciBridge5.functions = "8"
    pciBridge6.present = "TRUE"
    pciBridge6.virtualDev = "pcieRootPort"
    pciBridge6.functions = "8"
    pciBridge7.present = "TRUE"
    pciBridge7.virtualDev = "pcieRootPort"
    pciBridge7.functions = "8"
    vmci0.present = "TRUE"
    hpet0.present = "TRUE"
    usb.vbluetooth.startConnected = "TRUE"
    displayName = "pfSense"
    guestOS = "other4xlinux-64"
    nvram = "pfSense.nvram"
    virtualHW.productCompatibility = "hosted"
    powerType.powerOff = "soft"
    powerType.powerOn = "soft"
    powerType.suspend = "soft"
    powerType.reset = "soft"
    tools.syncTime = "FALSE"
    sound.autoDetect = "TRUE"
    sound.fileName = "-1"
    sound.present = "TRUE"
    vcpu.hotadd = "TRUE"
    memsize = "768"
    mem.hotadd = "TRUE"
    scsi0.virtualDev = "lsilogic"
    scsi0.present = "TRUE"
    scsi0:0.fileName = "pfSense.vmdk"
    scsi0:0.present = "TRUE"
    ide1:0.deviceType = "cdrom-image"
    ide1:0.fileName = "/home/xxx/Downloads/pfSense-CE-2.4.3-RELEASE-amd64.iso"
    ide1:0.present = "TRUE"
    usb.present = "TRUE"
    ethernet1.connectionType = "pvn"
    ethernet1.addressType = "generated"
    ethernet1.virtualDev = "e1000"
    ethernet0.connectionType = "custom"
    ethernet0.addressType = "generated"
    ethernet0.virtualDev = "e1000"
    ethernet0.noPromisc = "FALSE"
    serial0.fileType = "thinprint"
    serial0.fileName = "thinprint"
    ethernet1.present = "TRUE"
    ethernet0.present = "TRUE"
    serial0.present = "TRUE"
    extendedConfigFile = "pfSense.vmxf"
    floppy0.present = "FALSE"
    tools.upgrade.policy = "useGlobal"
    uuid.bios = "56 4d 25 55 e4 de d4 83-e6 e4 bc 92 1f 75 e3 da"
    uuid.location = "56 4d 25 55 e4 de d4 83-e6 e4 bc 92 1f 75 e3 da"
    migrate.hostlog = "./pfSense-65a8acda.hlog"
    scsi0:0.redo = ""
    pciBridge0.pciSlotNumber = "17"
    pciBridge4.pciSlotNumber = "21"
    pciBridge5.pciSlotNumber = "22"
    pciBridge6.pciSlotNumber = "23"
    pciBridge7.pciSlotNumber = "24"
    scsi0.pciSlotNumber = "16"
    usb.pciSlotNumber = "32"
    ethernet0.pciSlotNumber = "33"
    ethernet1.pciSlotNumber = "34"
    sound.pciSlotNumber = "35"
    vmci0.pciSlotNumber = "36"
    ethernet0.generatedAddress = "00:0C:29:75:E3:DA"
    ethernet0.generatedAddressOffset = "0"
    ethernet1.generatedAddress = "00:0C:29:75:E3:E4"
    ethernet1.generatedAddressOffset = "10"
    vmci0.id = "527819738"
    monitor.phys_bits_used = "43"
    vmotion.checkpointFBSize = "33554432"
    vmotion.checkpointSVGAPrimarySize = "33554432"
    cleanShutdown = "FALSE"
    softPowerOff = "FALSE"
    usb:1.speed = "2"
    usb:1.present = "TRUE"
    usb:1.deviceType = "hub"
    usb:1.port = "1"
    usb:1.parent = "-1"
    ethernet0.vnet = "/dev/vmnet0"
    ethernet1.pvnID = "52 ed cb f9 70 3b 96 dc-82 4b 2d 09 92 68 80 88"
    gui.exitOnCLIHLT = "TRUE"
    usb:0.present = "TRUE"
    usb:0.deviceType = "hid"
    usb:0.port = "0"
    usb:0.parent = "-1"
    

    The problem is that I cannot ping LAN IP address from my Arch host (of course I can ping WAN interface) - I've checked and icmp packages do not arrive em0 interface:

    VMware Virtual Machine - Netgate Device ID: 30d2bf98d9ccac03478e
    
    *** Welcome to pfSense 2.4.3-RELEASE (amd64) on pfSense ***
    
     WAN (wan)       -> em0        -> v4/DHCP4: 192.168.1.254/24
     LAN (lan)       -> em1        -> v4: 192.168.13.1/24
    
     0) Logout (SSH only)                  9) pfTop
     1) Assign Interfaces                 10) Filter Logs
     2) Set interface(s) IP address       11) Restart webConfigurator
     3) Reset webConfigurator password    12) PHP shell + pfSense tools
     4) Reset to factory defaults         13) Update from console
     5) Reboot system                     14) Disable Secure Shell (sshd)
     6) Halt system                       15) Restore recent configuration
     7) Ping host                         16) Restart PHP-FPM
     8) Shell
    
    Enter an option: 8
    
    [2.4.3-RELEASE][root@pfSense.local]/root: tcpdump -vnni em0 icmp
    tcpdump: listening on em0, link-type EN10MB (Ethernet), capture size 262144 bytes
    

    I found VMware KB https://www.vmware.com/support/ws55/doc/ws_net_advanced_linux_vadapter_promiscuous.html but I does not work in my case.
    Any ideas how to solve this issue?