I suspect I am one of many new users of VyOS who were inspired to try it out after having seen the blog post, on Hackernews VyOS from Scratch about a month ago. I like VyOS a lot, because it reminds me of configuring Cisco equipment I did 20 years ago. Kudos to Kroy for creating this post. I also have a Dell Wyse 5070 and am using a GPON SFP module to replace my ISP’s equipment. I ended up abandoning both OPNSense and OpenWRT because of Realtek Ethernet PHY driver issues with PPPoE connections. On OpenWRT, the PPPoE connection would drop in just a few minutes and never reconnect. On OPNSense, the drivers could not cope with my ISPs/upgrade to 500/500 Mbps service and would hang during high throughput. This is a known problem with Realtek drivers and has something to do with a lack of queues, surprisingly the cheap CPE equipment provided by ISPs do not have these issues. Ultimately, it is my intention to virtualize VyOS on Proxmox with a passed-through HPE 530 SFP+ Broadcom-based PCIe NIC and upgrade to 2.5 Gbps service, but this will bring with it its own bnx2x driver/firmware issues which are documented on the DSLReports forums.
Unfortunately, as Kroy noted in an update, the commands in the blog post are a bit out of date. Plus, the guide doesn’t cover setting up IPv6 or PPPoE. Initially, I was able to get IPv4 and PPPoE running, but I had to revert back to my ISP’s router shortly thereafter because too many websites don’t resolve without IPv6. In particular, my search engine of choice duckduckgo didn’t work.
This weekend, I spent another few hours researching and reading forum posts on how to solve the IPv6 issue. I just got it all working a few minutes ago and I started writing this post. I am thinking of opening a PR to improve the documentation, but I am unsure if this would be appreciated. I feel that Kroy’s guide should become part of the official documentation; the explanations of what the commands do are some of the best I’ve ever read. However, there were a few steps missing for my particular situation.
If I were to open a PR, I’d like to address in current issues I see in VyOS documentation:
There are multiple documentation pages which have inconsistent names for interfaces, firewall rules, and firewall zones. Particularly, they use different underscores and dashes. Also, numbering may be a problem. I read the contributing guidelines, but I am not a RestructuredText expert. In other documentation tools, this would be solved with judicious use of variables. Or perhaps a recommended set of basic rules, names, and zones would help get users a minimal configuration, and then they could begin their customization from there. I’m of course targeting novice/new users.
I am not running VRF. I will look into this in the future, but it seems new users should be able to get by without using it.
I also used a post on the Level One Tech’s forum to get some information and read a half-dozen posts on this forum and reddit, but they did not yield a solution, except that it was likely that my firewall was dropping the router advertisements. There was some good advice about using tcpdump,
It’s still not clear to me what
'set service router-advert <interface> name-server <address>'should be, I tried finding this information in my ISP’s router, but cannot be sure I input the correct addresses. This seems like it should be automatic/dynamically configured as OpenWRT/OPNsense are able to handle it. I also found posts suggesting an alternative to use
ip adjust-mss 'clamp-mss-to-pmtu'and
set service router-advert interface <interface> managed-flag. I took a long break from networking/tinkering when IPv6 was being rolled out.
I found a post, from a Taiwanese user Ramax, 2021-03-18 VyOS Dual Stack, which led to them creating a PR and the generation of the PPPoE IPv6 Basic Setup for Home Network , this was the key!
My problem came down to a missing step in Ramax’s advice for anyone who had set up a zone-based firewall as instructed by Kroy: the user needs to add the firewall rules to the zone.
set firewall zone WAN from LOCAL firewall ipv6-name WAN_LOCAL set firewall zone LOCAL from WAN firewall ipv6-name WAN_LOCAL
Once I added those settings, I was able to ping6 address from the VyOS shell, and access IPv6-based sites from my client devices.
I suppose the question is how should I proceed? I’d like to offer my help improving the documentation.
I want to give full credit to the individuals who wrote the original content and not rip the off.
I would like to re-structure the documentation to make it more modular, so that it targets users who have ISPs with a variety of configuration types (DHCP/PPPoE).
I’m looking forward to the discussion and perhaps becoming a long-term contributor to VyOS documentation.