Looking around, it appears the 493AH is an Atheros AR7161. An architecture readily supported under OpenWRT. Sure, I could just re-install RouterOS but let’s do that later. To install OpenWRT to the 493AH, first format the NAND. This can easily be done via the bootloader (option e): Waxing the memory. Version 18 openwrt made a significant simplifying change to the RouterBoard installation procedure: openwrt now installs and upgrades directly from the LuCI web interface of openwrt. This means the procedure to install openwrt on a Mikrotik RouterBoard is now just two steps: Step 1.
Applies to RouterOS:v3, v4
- 4Creating a Metarouter
- 5OpenWRT as virtual machine
- 9Configuration examples
- 10Reference
- 11Known Issues
- 11.1MIPS-BE
- 11.2PPC
Overview
MetaRouter is a new feature in RouterOS 4.0 beta 1 and RouterOS v3.21
Currently MetaRouter can be used on
- RB400, RB700 series except models with SPI flash, RB900 series except models with SPI flash, RB2011 boards
- Listed PPC boards: RB1000, RB1100, RB1100AH and RB800.
Requirements
Each Metarouter instance uses the same amount of resources as a stand-alone RouterOS installation. It means that you need a minimum of 24MB of RAM for each RouterOS virtual machine plus memory for the MetaROUTER host itself. It is suggested to have more than 24MB memory available for each Metarouter. Upcoming RouterOS versions will have ability to run virtual machines with less than 16MB per machine.
Note:It is possible to run other virtual machines with less than 24MB RAM per machine if the virtual operating system is OpenWRT. The 24MB limitation is only for virtual RouterOS installations.
Currently on one host you can create up to 8 virtual machines and up to 8 virtual interfaces. Workaround to have more than 8 interfaces in total is to use VLANs. In future versions it will be possible to add up to 16 virtual machines.
Also it is not possible to use external storage devices (Store) in the metarouter virtual devices.
Where it can be used?
The MetaRouter function is useful for allowing clients or lower-privilege users access to their own 'router' and config to configure as they like, without the need for a complete second router, or giving them access to the main router configuration.
For example; a WISP can create a virtual router for the clients ethernet port allowing them to define their own firewall settings, while leaving the WISP's wireless settings untouched.
Creating a Metarouter
As you can see, creating virtual router is quite easy, you just have to specify name of the router, how much RAM will be allocated for it and disk size that will be used by virtual router. Explanations of all other properties are available in reference manual.
Note: * be careful when using dynamic HDD size for metarouters, a proxy could fill up all your hosts storage!
Example with no settings
If you will add a new metarouter without specifying any parameters, it will be added with Dynamic HDD size, and 16MiB of RAM:
OpenWRT as virtual machine
Starting from v3.24 and v4.0beta3 MetaROUTER has the ability to import custom built images. As an example we will show how to patch and use OpenWRT as the virtual machine.
Importing image
OpenWRT Homepage
If you don't have any specific needs, you can import our prebuilt OpenWRT image, which is downloadable MIPS image, PPC image. Upload openwrt image to the router and import it by import-image command:
As you can see OpenWRT is running, now you can start configuration process, which is explained in sections below.
Building your own OpenWRT image
If you are not satisfied with our prebuilt version of OpenWRT, then you can build and use your own image.
First step is to install svn and get the latest source code from openwrt.org
Note: Patch 1.2 was made against older kernel then in current trunk and some extra steps should be taken to apply it to OpenWRT. For example r29684 can be used without modifications
Now you have to patch downloaded source with our patch
Note: Patch v1.2 adds newer kernel support which makes it possible to compile with latest OpenWRT revisions. This patch also adds PowerPC support (ability to run OpenWRT image on RB1000 and RB1100).
When source is patched, you have to set up configuration options
Go to Target System menu and choose Mikrotik MetaROUTER MIPS or Mikrotik MetaROUTER PowerPC from the list depending for which platform you are building the image.
Other options depends on what is your requirements (include for example IPv6 and ppp support or not), you can also stick with defaults.
If you see any error messages while trying to launch menuconfig, like
It means that required libraries are not installed, check the output and install all required libraries.
When you are done with build configuration, type
It will take a while to build everything so you can go and have a cup of tea.
Mikrotik Routerboard Rb951ui 2hnd
After the build process is done, upload newly built image to the router and import it as described in section above.
Warning: On newer GCC versions you may be required to add this patch from OpenWRT [1]
For more options and build instructions look in OpenWRT's documentation
Adding Interfaces
First, you need to add a new interface to your virtual router. This is done in the interface menu.
The interface command has the following options:
Description of each option can be found in reference manual.
Let's add one interface:
On the host physical router the interface appears as a virtual interface:
Connecting to the virtual machine
To connect to your virtual machine, use the console command:
You will see your newly added virtual interface here:
To disconnect from the metarouter virtual machine console, hit CTRL + A and then Q to Quit back to your Host console (if you are using minicom, hit CTRL + A twice):
Configuring a virtual network
Right now you saw that the virtual interface is visible in the HostInterfaces menu as vif1 and also in the metarouter interfaces menu as ether1. You can add an IP address on both interfaces, and set up networking. Creating a bridge between the virtual interface and a physical interface allows traffic to pass.
Configuration examples
Creating isolated Metarouter for client
This Example will show how to use Metarouter feature to create a isolated router on top of the WISP client site router. The setup for the example is shown on the diagram below:
1. Adding a Metarouter for client:
2. Adding Metarouter Interfaces for the new created Metarouter:
3. Creating a Bridge Interface for bridging metarouter interface together with ethernet interface where the client is physically connected:
4. Adding IP configuration for the new Metarouter interface which will be used for connecting between Metarouter and Metarouter Host system:
5. Connecting to Metarouter using the Console
6. Configuring Metarouter to make it easy for client to understand the configuration:
Installing OpenWrt On A Microtik Routerboard RB433 - Ixs ...
Reference
General
Sub-menu:/metarouter
Menu specific commands:
Property | Description |
---|---|
console(console <vm-id>) | connect to specified virtual machine's console |
import-image(import-image file-name=<image-file>) | import custom built image (available starting from v3.24 and v4.0b3) |
reboot(reboot <vm-id>) | reboot specified virtual machine |
shut-down(shut-down <vm-id>) | shut down specified virtual machine |
start(start <vm-id>) | boot up specified virtual machine |
Configurable properties:
Property | Description |
---|---|
disk-size(unlimited|0..4294967295[kiB] ; Default: unlimited) | Disk size that will be allocated by virtual router. |
memory-size(16..256[MiB] ; Default: 16) | Amount of memory that will be allocated by virtual router. |
name(string ;) | Name of the virtual machine. |
Read only properties:
Property | Description |
---|---|
used-disk(integer[kiB] ;) | currently used disk space by virtual router. |
disk-reads(integer;) | number of disk reads |
disk-writes(integer;) | number of disk writes |
state(booting|running|rebooting|shutting-down|stopped|disabled;) | current state of virtual machine |
Interface
Sub-menu:/metarouter interface
Configurable properties:
Property | Description |
---|---|
dynamic-bridge(string;) | If set, dynamic interface will be automatically added as port to specified bridge interface. |
dynamic-mac-address(mac;) | mac address of dynamically created interface |
static-interface(none|name-of-iface;) | Assign physical interface on the router to static virtual interface. This binds physical interface of the host directly to the guest instance. |
type(dynamic|static;) | Set if interface is either static or dynamic.
|
virtual-machine(string;) | specifies to which virtual machine this interface will be bound |
vm-mac-address(mac;) | interface mac address that appears in VM |
Known Issues
MIPS-BE
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with MIPS-BE architecture
Random freezing
Issue has been resolved in RouterOS 6.x
PPC
Issues and possible workarounds for MetaROUTER feature on RouterBOARDs with PPC architecture
Not enough resources
Only listed routers are affected: RB1100AH
When attempt is made to create MetaROUTER guest on the router error message is given that there is not enough resources on the router to create guest.
This problem is resolved in 5.12 and later RouterOS releases. If you are using a newer release and still encounter the problem on the router you have to reinstall the router using Netinstall tool.
RouterBOARD RB1100AHx2 reports similar message, but MetaROUTER feature is not currently supported on this router.
All other routers form this architecture that support MetaROUTER feature are not affected.
Other issues that do not fit the description most probably are caused by RouterOS misconfiguration and do not have a common denominator and have to be checked case by case.