How to get pfSense WAN to accept VLAN 0
-
@stephenw10 of course... Here is the result. I think I removed everything that was not needed.vlanzero.sh.tar.gz
-
@natbart Attached the graphviz. Maybe there us some optimizations still left. Feel like maybe the o2m portion is not required?
-
@natbart Any suggestion on getting to this endstate? or
-
@natbart I think this is the final version...@stephenw10 - thoughts? vlanzero.sh.tar.gz
-
@natbart Thank you for sharing this. This worked like a charm for me and my brand new Fibe service installed earlier this week. I was able to remove the HH3000 device and use my existing pfSense setup without a problem. Great work!
-
@justask-0 glad it worked for you! The post had no action till now, so I didn’t know if it was helping anyone else.
-
Yeah, nice work.
Did you have to set the priority tag in the end?Steve
-
@stephenw10 Yes. This is handled by ngctl within the provided script and applied to the virtual interface. The only thing I added to my setup was the Shellcmd package in order to run the script at startup.
-
@justask-0 This is amazing, would you mind giving me a few directions so I can get this to work on my pfsense box using Frontier fiber? Thanks
-
Download that script above and put on the firewall, I would put it in /root. Make sure the file permissions allow it to be run as an executable. Create a shellcmd to run it at boot. Using the shellcmd package is the easiest way to do that.
https://docs.netgate.com/pfsense/en/latest/development/boot-commands.htmlSteve
-
Thank you sooo much! Do I need to edit the script at all for my environment? I'm just using a netgate device directly connected to my ONT. Nothing special.
Mike -
Yes, there are variables at the top of the script:
ONT_IF='xx0' ONT_ETHER_ADDR='xx:xx:xx:xx:xx:xx'
You need to set those to match you chosen NIC in pfSense and the MAC of your router.
Steve
-
You da man!
I was reading the "Executing Commands at Boot" doc from the netgate link you sent me. It seems easier to stick the vlanzero script in /usr/local/etc/rc.d/ mark it as executable and call it a day.
Would that work? I cant wait to go home and try this script!! -
Yes, that would work. I would still use a shellcmd though. You can easily change that from the GUI. It gets stored in the config (though not the script itself). You can set is as an earlyshellcmd to make it run earlier in the boot process.
Steve
-
If you don't use the earlyshellcmd does it run before the WAN interface (since that's what I'll be using) tries to obtain an IP from DHCP upon bootup?
-
I don't know since I don't use that script personally. There is no danger of it trying directly though since WAN will be assigned as ngeth0 and that doesn't exist until the script runs.
More likely it would fail to boot because it doesn't exist.Steve
-
I was able to run the script and get the WAN interface to obtain an IP address from Frontier. The only problem I have now is that it does not survive reboots. During boot up I get "Warning: Configuration references interfaces that do not exist: ngeth0".
I tried both shell and early shell commands and also to place the script in the /usr/local/etc/rc.d/ directory. Any suggestions?Thanks again for all your help.
Mike -
Hmm, I expect earlyshellcmd to work since that's what pfatt uses.
The only other alternatives are to add ngeth to the list on interfaces excluded from the check or to change the interface name the script uses to something that's already excluded.:
https://github.com/pfsense/pfsense/blob/master/src/etc/inc/util.inc#L2401Steve
-
@stephenw10 I think your right, in the boot process I see this:
sh: Syntax error: end of file unexpected (expecting word)
Updating configuration...done.
Warning: Configuration references interfaces that do not exist: ngeth0 -
@stephenw10 I think i have the syntax wrong for the earlyshellcmd. The vlanzero file is on root:
<earlyshellcmd>/vlanzero2</earlyshellcmd>