This is a guide on how to get RouterOS from Mikrotik that is able to deliver Gigabit throughput, without having to buy expensive hardware! As I had a little struggle setting this up, I wanted to share this information and workarounds with people so it might get easier for you.
(Disclaimer: I am used and like Mikrotik with its RouterOS. Next to that it is a European Company. <- NSA Paranoid me speaking)
While it is still expensive to rent static IPv4 addresses for your home (and will probably get more and more expensive over time), you get a free static /48 IPv6 network yay!
Now, 1 Gbit/s is a lot. And I mean it, a lot! Most of the consumer router technology that you can buy in stores can not handle this kind of speed. Next to that, you want it to be able to handle some things like firewalling, IPSEC and other services. We need more power in more affordable hardware. The two options for me were two brands that are somewhat in between consumer grade and carrier grade gear:
- Ubiquiti, with its EdgeRouter Lite 3
- Mikrotik, with its RouterOS
Why not a Mikrotik hardware/software bundle?
The answer is quite simple:
While Mikrotik has great products for most of the consumer available speeds, the hardware can not handle Gigabit throughput. The next router that can really get Gigabit throughput is a little bit to expensive for me (CloudCoreRouter Line).
Why not a EdgeRouter Lite 3?
This is only a matter of preference. I am used to Mikrotik and try to stay with it. I also use it in the Datacenter, which makes things simpler for me. Of course I tried it out, but it wasn’t able to convince me (yet).
The Solution: Moar Power!
RouterOS, the software running on Mikrotik hardware can be installed on other systems! You can download a x86 version of the current RouterOS build on their Website. Theoretically, this means you can install the software on any x86 board. For this, I got the PCengines APU board which has a crazy power for its size and price. With this, I have the two components I need and like: Hardware powerful enough to handle Gigabit traffic and software I am used to and like.
What I used:
- PCengines APU Board 1d4 (RouterOS can only handle 2gb of RAM, but yeah…)
- RouterOS 6.29.1 ISO
- Any SD card and SD Card reader if needed
- Winbox (RouterOS Config and discovery tool)
- vmware vmPlayer (VirtualBox will do as well, I just had vmPlayer already installed)
- Serial Cable and Adapter
Step 1) Getting RouterOS on the SD Card
Sadly Netinstall, also a tool provided by Mikrotik, didn’t work for me. I was able to Run it through and in said that the OS is installed on the SD, but it didn’t boot. I looked into the issue with the Serial Console and noticed that it is failing to load Initrd, the system used to boot a system. I searched a little and came across a user with a similar issue, though he had a genius idea: Why not install RouterOS on a hardware disc (SD) in a virtual environment?
Here the step by step guide I used:
- Download the latest ISO from the Mikrotik download page.
- Connect SD card to your system and make sure it is readable
- Create a virtual machine that resembles the board you are using (Not sure if this helped. for me it was creating a VM with 3 network cards and a serial port, correct amount of CPU power and ram and of course, using the SD card as the HD)
- The SD card had to be connected by IDE for me, else it didn’t recognize it as a HD.
- Start the VM with the ISO connected.
- Now it should simply allow you to install the system normally. Choose what packages you need and finish the installation. This takes a small moment, but once done, the machine reboots.
- Once rebooted, the system should finally show you the command line login interface of mikrotik!
- (You can assign a dhcp-client or a dhcp-server on all the interfaces if you want, this should make the next steps easier)
Step 2) Insert card into APU and boot it up!
Now that RouterOS is installed, you should be able to insert it into the APU and hope that it works. I monitored everything happening on the APU with the serial output, though I realized that after loading initrd and booting the system, serial output did not work anymore . Don’t worry, the system is still loaded and booted, noticeable by the sound it makes once it finishes with the booting sequence.
You can now connect the APU to your network :D!
No dhcp-client/dhcp-server enabled
In case you didn’t enable the dhcp-client, you can use the tool Winbox mentioned above to connect to the device without the need of an IP address and configure it.
Wait for the lease to be taken an log into it via web interface or ssh.
Pieces of advice
- The default login is admin without a password
- After successfully login into the system, immediately check the interfaces and correct them. give them the name you want and configure them to your liking
- RouterOS is a licensed product! You can use this installation without license for 24 hours , if you want to use it for testing, you can get a Level 1 Demo license. More to licenses here.
If you have a Mikrotik system running and you want to move from this product to the APU, under no circumstances use a backup to restore the configuration on the APU from a Mikrotik, that has another amount of ports available. This will very likely break your system and make it unavailable even to the Winbox tool. *sob*
You can carefully use the export function on the cli or just open both Routers and copy the Rules and settings by hand.
I hope you can use this guide to make your life a little easier! If you have any questions or a heads up, ask with a comment or mail me at firstname.lastname@example.org!
You can now finally enjoy Gigabit speed at home >:D!