Deepcuts
Regular Contributor
During the last 3 days I have tested several alternatives to my "plastic" Asus RT-AC68U consumer router.
I think there might be some users out there, like myself, who would like to build their own x86 router, so I would like to describe my ramblings on the matter, in the hope it will save some of you some precious time.
Just to make one thing clear from the start: I do not think Asus RT-AC68U is bad per se.
It is just that I grew tired of getting home and wanting to watch something on my Samsung Smart TV via Plex only to find I have to "Please wait" while the darn thing updates itself way too often, many times actually getting stuck and requiring a cold restart.
If you can imagine, I actually started this little project because of Samsung. Thank you Samsung! No, I mean it. I have learned new things and there is a small chance I may actually be a bit smarter now, at least in regard to "do it yourself" routers.
Maybe you are wondering what Samsung has to do with all of this.
The reason is simple: most consumer routers don't have ACL support. Some of them have a crude support via scripts to interact with iptables, support usually added by 3rd parties and not the actual original vendor (see RMerlin). To be able to stop my TV from contacting Samsung servers for updates but still allowing it to access my Plex server, I needed ACL support in my firewall, which Asus does not have.
Of course there are also other features I am missing with a consumer router. On 1st place, as I have said, is the absence of ACL support. (at least an easy to use one)
On 2nd place is the absence of caching, which for most of you will not matter at all. For me although, it is of a big help, given that I have to install, almost daily, various operating systems which I also have to update. Using a caching solution like squid in transparent mode for example, will eliminate the need for an operating system to download it's updates directly from "the source", but instead will serve the updates from a cache stored on a fast SSD attached to the router.
On 3rd place is the performance of consumer routers. Even if RT-AC68U can sustain 1 Gbps traffic download, that does not mean it can do it symmetrical, or that it can sustain wire speed OpenVPN sessions. Given that most consumer routers use low powered processors, I can't really blame them for not delivering full gigabit symmetrical wire speed, although the prices on some models could be a bit lower because of this. Of course there are entry level enterprise routers that can do 1 Gbps up and down...for a price, but I came to the conclusion that building one myself is the better path for me.
Other notable features missing from everyday consumer routers in my opinion:
Lack of reporting tools.(who visited what and when last month?)
Lack of upgrade options. (need 10 Gbps? new card not a new router)
Few customization options. (need to host a small website? most linux router distros can do that)
No RTC battery on most consumer routers. (date has to be synced from ntp on every boot)
I will stop the list here.
So, I was saying I got upset with Samsung screwing with my free time and I decided to build myself a small mITX router.
Given that in the last few years I only used Asus routers at home (thank you RMerlin) and Mikrotik/Cisco at work, I wasn't very up to date with linux/BSD router distributions and their hardware compatibility list (HCL).
So I started thinking that during those years I haven't used one, all serious router distros have improved a lot. Who needs to check a hardware compatibility list? So I started building my dream home mini router. More on this later on.
I think there might be some users out there, like myself, who would like to build their own x86 router, so I would like to describe my ramblings on the matter, in the hope it will save some of you some precious time.
Just to make one thing clear from the start: I do not think Asus RT-AC68U is bad per se.
It is just that I grew tired of getting home and wanting to watch something on my Samsung Smart TV via Plex only to find I have to "Please wait" while the darn thing updates itself way too often, many times actually getting stuck and requiring a cold restart.
If you can imagine, I actually started this little project because of Samsung. Thank you Samsung! No, I mean it. I have learned new things and there is a small chance I may actually be a bit smarter now, at least in regard to "do it yourself" routers.
Maybe you are wondering what Samsung has to do with all of this.
The reason is simple: most consumer routers don't have ACL support. Some of them have a crude support via scripts to interact with iptables, support usually added by 3rd parties and not the actual original vendor (see RMerlin). To be able to stop my TV from contacting Samsung servers for updates but still allowing it to access my Plex server, I needed ACL support in my firewall, which Asus does not have.
Of course there are also other features I am missing with a consumer router. On 1st place, as I have said, is the absence of ACL support. (at least an easy to use one)
On 2nd place is the absence of caching, which for most of you will not matter at all. For me although, it is of a big help, given that I have to install, almost daily, various operating systems which I also have to update. Using a caching solution like squid in transparent mode for example, will eliminate the need for an operating system to download it's updates directly from "the source", but instead will serve the updates from a cache stored on a fast SSD attached to the router.
On 3rd place is the performance of consumer routers. Even if RT-AC68U can sustain 1 Gbps traffic download, that does not mean it can do it symmetrical, or that it can sustain wire speed OpenVPN sessions. Given that most consumer routers use low powered processors, I can't really blame them for not delivering full gigabit symmetrical wire speed, although the prices on some models could be a bit lower because of this. Of course there are entry level enterprise routers that can do 1 Gbps up and down...for a price, but I came to the conclusion that building one myself is the better path for me.
Other notable features missing from everyday consumer routers in my opinion:
Lack of reporting tools.(who visited what and when last month?)
Lack of upgrade options. (need 10 Gbps? new card not a new router)
Few customization options. (need to host a small website? most linux router distros can do that)
No RTC battery on most consumer routers. (date has to be synced from ntp on every boot)
I will stop the list here.
So, I was saying I got upset with Samsung screwing with my free time and I decided to build myself a small mITX router.
Given that in the last few years I only used Asus routers at home (thank you RMerlin) and Mikrotik/Cisco at work, I wasn't very up to date with linux/BSD router distributions and their hardware compatibility list (HCL).
So I started thinking that during those years I haven't used one, all serious router distros have improved a lot. Who needs to check a hardware compatibility list? So I started building my dream home mini router. More on this later on.
Last edited: