How to get pfSense WAN to accept VLAN 0
-
I kind of expect netgraph to put the NIC in promiscuous mode anyway but if it doesn't you'd need to set that.
When you run the script WAN should be assigned as ngeth0 but you need to pcap on igb0 directly to see the tagged traffic. So if it isn't already you'd have to assign/enable it and then pcap there via the GUI. At the CLI you can just capture on igb0 directly.As far as I know netgraph should work equally well in 2.5, 2.6 or 2.7, the only thing that has changes in the igb driver. So it should work in 2.6 with the alternative Intel driver. It might work in 2.7 with either driver since the apparent issue is fixed there. But AFAIK we haven't seen confirmation of that.
Steve
-
@stephenw10
Hi Steve,
I did a small packet capture, see attached....I was uanbel to get this going on 2.6.0, hope you or someonecan shine some light on this pending item. Thank you.packetcapture (1).cap -
Hmm, still doesn't show any tagged traffic. I assume that was taken in 2.5.2 when it was connecting as expected?
-
Yes, I had to rollback to 2.5.2 in order to get things moving...I tried just about everything in 2.6.0 and 2.7.0 to get it working, nothing works for me on those releases unfortunately. Please advise.
-
Well we need to way to capture the vlan0 tagged packets so we can then be sure what's happening in 2.6 or 2.7.
We know it should work in 2.6 with Intel's non-iflib driver since others are successfully using that with pfatt.
We are yet to hear from anyone running either script that it definitely works or doesn't work in 2.7.Steve
-
@stephenw10 Have we made any additional progress on getting this issue fix permanently for those of us using Fiber (AT&T and Frontier)?
-
No. One of our staff uses pfatt and he tested it in a 2.7 snapshot but hit other issues trying to run the script there. The way netgraph handles opening connections changed.
The script here though doesn't require any of auth stuff that pfatt does, it only creates VLAN0 tagged traffic so may work, I haven't heard either way.A better solution there would be to just add priority tagging to FreeBSD. That's not immediately straight forward though because of the security implications.
In order to upstream something like that we would need clear evidence of a real world use case so the more people who can add their names to the open bug report for this the better.
https://redmine.pfsense.org/issues/12070
Steve
-
Try to put pfsense into a VM and run VLAN tagging on the WAN interface using VLAN 0.
Then see if it works.
-
@stephenw10 I can confirm it doesn't work in 2.7 on both igb0 and em0.
I did a clean install to 2.5.2 confirmed everything was working and then upgrade to 2.7.0. (Note: After the upgrade, it asked me for my default WAN and LAN again which were already set to igb0 and em0.)
Received the following error on both when running the vlanzero script:
===groupFatal error: Uncaught Error: Call to undefined function pfSense_ngctl_attach() in Command line code:1 Stack trace: #0 {main} thrown in Command line code on line 1 ===
-
@c45p32 said in How to get pfSense WAN to accept VLAN 0:
@stephenw10 I can confirm it doesn't work in 2.7 on both igb0 and em0.
I did a clean install to 2.5.2 confirmed everything was working and then upgrade to 2.7.0. (Note: After the upgrade, it asked me for my default WAN and LAN again which were already set to igb0 and em0.)
Received the following error on both when running the vlanzero script:
===groupFatal error: Uncaught Error: Call to undefined function pfSense_ngctl_attach() in Command line code:1 Stack trace: #0 {main} thrown in Command line code on line 1 ===
I am stuck on 2.5.2 for now until this is sorted out by the pfsense crew.
I hope we get some pfsense developer to work on this prior to 2.7 release. I miss working under 2.6 and would hate to go back to work under openwrt, pfsense is my favorite FW.
-
There is no longer any need to attach the interfaces like that. You should be able to just remove or comment out these lines from the script:
echo -n "$(getTimestamp) attaching interfaces to ng_ether... " /usr/local/bin/php -r "pfSense_ngctl_attach('.', '$ONT_IF');" echo "OK!"
See: https://github.com/MonkWho/pfatt/pull/73/commits/015a8cf91340699fc18f1f54eeef3160e8c2ee9e
Steve
-
@stephenw10 I removed those lines, and I'm not getting the errors anymore. But I don't have any internet.
-
But the script appears to run though and the netgraph interfaces are created?
Are you able to see any and tagged (or untagged) traffic in a pcap on the parent NIC?
Steve
-
Hi Steve,
Did we make any progress last week on resolving this issue for 2.6 and perhaps 2.7? -
Not beyond what's shown here. The script need to be altered to remove the nfctl_attach lines since they are no longer needed. We have one report that it doesn't work still but no packet captures that might show why.
-
Its hard to think that many of us are still dealing with this nighmare of accepting traffic tagged on VLAN 0 at the WAN interface.
Can we please get some traction this item? My $20 bucks router from walmart is able to work just fine, how is it possible that this expensive piece of equipment is not able to get this working under release 2.6.x or 2.7.x, many of us were able to get this working using some hacky way under 2.5.2. Please lets figure this out.
-
There are workarounds. It depends what your ISP actually requires.
If they are sending priority tagged replies to dhcp requests you can just use a switch to strip those tags.
If you need to send and receive priority tagged traffic then you still need the netgraph script to do that and something in the iflib based Intel drivers has broken that. So you ca try using the non-iflib driver or use a different NIC.
Steve
-
Thanks @stephenw10
This post saved my bacon. I have frontier fiber and need the script to obtain an IP on the wan interface due to the vlan 0 issue. When I upgraded I got the same error messages as above and this fixed it for me.
-
Just commenting out the lines from the script?
Can I assume you are using a NIC other an Intel e1000 device? Other NICs should work with that.Steve
-
yep, just commenting out the lines worked for me. Yes, my nic is not e1000 device. The script broke upgrading from 22.01 to 22.05
Upgrading form 2.6.0 was no problem
Upgrading to pfsense 22.01 no problem
Upgrading from 22.01 to 22.05 the script broke with the error message:Fatal error: Uncaught Error: Call to undefined function pfSense_ngctl_attach() in Command line code:1
Stack trace:
#0 {main}
thrown in Command line code on line 1