The document consists of 11 main parts. Parts can be divided further into sections. Each section (or a part if it doesn't consist of sections) of this document is divided into three subsections. In the first subsection, management from the Java Console is described. Management from the Console is described in the second subsection. The third subsection is devoted to description of the parameters. However some sections are not divided if it is not necessary.
In this publication, the following conventions are used:
| to the contents |
To make a PC based router running MikroTik™ Router Software, it is necessary to:
The MikroTik™ Router Software installs on a standard PC system with a hard disk or flash disk. Hardware requirements are as follows:
Processor - 486DX or higher CPU with math co-processor. Pentium (AMD, Cyrix,
IDT WinChip or Intel) 100MHz or higher suggested;
RAM - at least 16 MB (preferably 32 MB);
Video - Color or Monochrome VGA video card or on-board VGA port;
HDD controller - IDE hard drive controller;
HDD - Hard disk or flash disk (preferably at least 32 MB);
FDD - 1,44 MB Floppy Drive. This is not needed after installation, and can be
safely removed;
Keyboard - may also be removed after the software installation, if BIOS allows
the PC to boot without a keyboard.
Monitor - may be removed after installation. You should keep the keyboard and
monitor attached if you want to administer the system locally from the console.
Network Interface - NE2000 or compatible NIC. For more supported network cards
and devices, please see 'Supported Hardware' section.
Check the BIOS settings of your router. Make sure that the boot sequence is 'A: C:', and 'Floppy drive seek at boot' is enabled.
Check that the BIOS settings for PNP OS are disabled and PCI and ISA allocation of IRQs correspond to your interface installation plans. Disable the paralell port to free resources. Check the IO and IRQ assignments for Serial Interfaces, which should be as follows:
COM1 - IO 0x3f8 and IRQ 4
COM2 - IO 0x2f8 and IRQ 3
If you use 20MB SanDisk 3.5" FlashDrive as the target HDD for your router installation, use the recommended BIOS settings for it:
Cylinders 612, Heads 2, Sectors 32, Mode NORMAL
Put 'Disk #1' in the floppy drive, and boot up your router. The installation will be looking for hard drives. You will see something like this:
Found harddrive on IDE primary master (disk C)
To install software properly, it needs to be reformatted.
Format it? [y/n]:
Press yes to FORMAT your HDD.
Note that the primary hard disk of your router will be OVERWRITTEN, and any existing data on it will be destroyed.
You will be asked to insert all next three installation floppies:
Please insert 2nd installation floppy.
Press ENTER when ready
and so on until the last floppy drive will be inserted and you will be asked to reboot your computer:
Software installed.
Press ENTER to reboot
Remove the installation disk from the floppy disk drive and press ENTER.
While booting up the router for the first time you will see your software ID, and you will be asked to enter your software key. This key is unique depending on several variables including the particular data carrier (flash disk or hard drive) and information from your MikroTik registered account. Please enter the software key obtained from MikroTik - www.MikroTik.com. Register with our "Account Server" to obtain a key.
The software installation is complete.
Log on to your PC router running MikroTik™ Router Software for
the first time using login name 'admin' and blank password (just press
Note There is no way to replace a lost password, so be careful! You
will need to re-install the router if the password is lost.
If you have an NE2000 Ethernet card then it was loaded automatically on boot all you have to do is to enable this interface and make all necessary IP settings. You can do that using the setup command:
| Command | Parameters | Description |
|---|---|---|
| setup | Basic system setup | |
| Enable interface | Enable an interface | |
| IP address | Set router's IP address | |
| Netmask | Set network mask | |
| Gateway | Set a default gateway of the router |
Here is an example for PCI Ethernet card:
[MikroTik]> setup
Enable interface [ether1]: ether1 ip address: 10.5.8.161
Netmask [255.255.255.0]: 255.255.255.0
Gateway [10.5.8.254]: 10.5.8.1
[MikroTik]>
Try to ping some host on your network to test the initial configuration, for example:
[MikroTik]> ping 10.5.8.1
If you get responses from the host, your network connection works properly, and you should be able to access the router remotely via network.
If you have some other network card please read the "Device Driver Management" section in the User Manual for details on a specific driver you are using, whether it is loaded automatically or not. If it was loaded automatically then the setup command would work as described above.
If the driver was not loaded automatically then the setup command will ask you to do that. Also you will be prompted to enter IP parameters:
| Command | Parameters | Description |
|---|---|---|
| setup | Basic system setup | |
| Load driver | Load network device driver. You can choose one of the following: arlan, c101, ne2k-isa, pc-isa, radiolan, 3c509 | |
| driver io | Set input/output port range base address. Can be omitted if device does not use IO ports | |
| driver irq | Set Interrupt Request Number. Can be omitted if device does not use IRQ. For IRQ probing enter 0 | |
| IP address | Set router's IP address | |
| Netmask | Set network mask | |
| Gateway | Set a default gateway of the router |
Here is an example for 3C509 ISA card:
[MikroTik]> setup
Load driver: 3c509
driver io: 0x300
driver irq: 11
IP address: 10.5.8.161
Netmask [255.255.255.0]: 255.255.255.0
Gateway [10.5.8.254]: 10.5.8.1
[MikroTik]>
Use ping command as described above to check your settings.
If you get responses from the host, your network connection works properly, and you should be able to access the router remotely via network.
Please read appropriate sections of this manual for more detailed description of configuration options.
A connection via console port is established using an RS-232 null modem cable. Standard PCs have a 9 pin male serial port built-in. Use any VT100 terminal emulation program on your PC or Laptop. The required communication settings are:
9600 bps, 8 bit, No parity, 1 stop bit
For PC with Windows running, set the COM port to your corresponding serial port. Usually it is COM2.
| to the contents |
MikroTik Java Console requires Java 2 browser plug-in. This may be downloaded from the "Download" page at www.mikrotik.com or www.sun.com.
In the Web Browser open the page with the address http://<IPAddressOfTheRouter>. Then start the applet.
When you type your login name and password you are logged in the router via Java Console.
All operations are performed via the main menu that is situated on the left of the main window. It consists of twelve items. If a menu item has an arrow sign then it contains submenu. Each of menu item is described in the User Manual in the corresponding chapters, excluding menu item "Help". The table below describes the correlation.
| Menu Item | Chapter Name |
|---|---|
| Interfaces | Network Interface Management |
| IP | Internet Protocol Management |
| Router | Advanced Routing Management |
| Bridge | Bridge Configuration |
| Drivers | Device Drivers Management |
| SNMP Server | SNMP Service Configuration |
| System | System Configuration |
| Logs | System Configuration |
| Users | System Configuration |
| Tools | Tools |
| Password | System Configuration |
Here are the most common actions that you perform on the entries:
| Action | Description |
|---|---|
| Open | To open the required window simply click on the corresponding menu item. |
| Add | To add a new entry you should click on the |
| Remove | To remove an existing entry click on the |
| Edit | Click twice on the icon on the left of each line. |
| Enable | To enable interface, address etc. click the |
| Disable | To disable interface, address etc. click the |
| Comment | To save a comment an entry click the |
| Refresh | Click on the |
| Undo | Click on the |
| Redo | Click on the |
| Logout | Click on the |
Main Menu

When you log into the router via console or telnet you get a base level prompt. As it is in Java almost every command has the corresponding chapter in the Manual. In the table below base level commands are described:
| Command Name | Description | Chapter in the Manual |
|---|---|---|
| ping | Send ICMP Echo packets | Tools |
| tool | System tools | Tools |
| user | User management | System Configuration/ User Management |
| log | View system logs | System Configuration/ System Logs Management |
| quit | Quit console | |
| setup | Do basic setup of the system | Basic System Setup |
| password | Change user password | System Configuration/ Change Password |
| undo | Undo previous action | |
| redo | Redo previous action | |
| export | Export router settings | User Interconnection Description |
| interface | Interface configuration | Network Interface Management |
| driver | Driver management | Device Driver Management |
| system | System configuration | System Configuration |
| bridge | Bridge configuration | Bridge Configuration |
| snmp-server | SNMP server configuration | SMNP Service Configuration |
| terminal | Set terminal type | Terminal Setup and Basic System Setup |
| ip | IPv4 specific settings | Internet Protocol Management |
| router | Routing settings | Advanced Routing Management |
The table below describes how you can execute commands, move through the levels in the console, etc.
| Command | Action |
|---|---|
| command [Enter] | Execute the command |
| [?] | Show the list of all available commands |
| command [?] | Display help on the command and the list of arguments |
| command argument [?] | Display help on the command's argument |
| [Tab] | Complete the command/word. If the input is ambiguous, a second [Tab] gives possible options |
| / | Move up to the base level |
| /command | Execute the base level command |
| .. | Move up one level |
| "" | Enter an empty string |
| "word1 word2" | Enter 2 words that contain a space |
You can abbreviate names of levels, commands and arguments.
The console allows configuration of the router settings using text commands. The command structure is similar to the Unix shell. Since there's a whole lot of available commands, they're split into hierarchy. For example, all commands that work with routes start with "ip route":
[drax]> ip route print
|
#
|
DST-ADDRESS | NETMASK | GATEWAY | PREF-ADDRESS | INTE... |
|
0
|
0.0.0.0
|
0.0.0.0
|
10.0.0.1
|
0.0.0.0
|
ether1 D
|
|
1
|
10.0.0.0
|
255.255.255.0
|
0.0.0.0
|
10.0.0.65
|
ether1 D K
|
[drax]> ip route set 1 netmask 255.255.0.0
[drax]> ip route print
|
#
|
DST-ADDRESS | NETMASK | GATEWAY | PREF-ADDRESS | INTE... |
|
0
|
0.0.0.0
|
0.0.0.0
|
10.0.0.1
|
0.0.0.0
|
ether1 D
|
|
1
|
10.0.0.0
|
255.255.0.0
|
0.0.0.0
|
10.0.0.65
|
ether1 D K
|
Instead of typing "ip route" before each command, "ip route" can be typed once to "change into" that particular branch of command hierarchy. Thus, the example above could also be executed like this:
[drax]> ip route
[drax] ip route> print
|
#
|
DST-ADDRESS | NETMASK | GATEWAY | PREF-ADDRESS | INTE... |
|
0
|
0.0.0.0
|
0.0.0.0
|
10.0.0.1
|
0.0.0.0
|
ether1 D
|
|
1
|
10.0.0.0
|
255.255.255.0
|
0.0.0.0
|
10.0.0.65
|
ether1 D K
|
[drax] ip route> set 1 netmask 255.255.0.0
[drax]> ip route print
|
#
|
DST-ADDRESS | NETMASK | GATEWAY | PREF-ADDRESS | INTE... |
|
0
|
0.0.0.0
|
0.0.0.0
|
10.0.0.1
|
0.0.0.0
|
ether1 D
|
|
1
|
10.0.0.0
|
255.255.0.0
|
0.0.0.0
|
10.0.0.65
|
ether1 D K
|
Notice that prompt changes to show where in the command hierarchy you are located at the moment. To change to top level, type "/"
[drax] ip route> /
[drax]>
To move up one command level, type ".."
[drax] ip route> ..
[drax] ip>
You can also use "/" and ".." to execute commands from other levels without changing the current level:
[drax] ip route> /ping 10.0.0.10
timeout: ping reply not recieved after 1000 mss
timeout: ping reply not recieved after 1000 mss
ping interrupted 2 packets transmitted, 0 packets received, 100% packet loss
interrupted
Or alternatively, to go back to the base level you could use the ".." twice:
[drax] ip route> .. .. ping 10.0.0.10
10.0.0.10 pong: ttl=128 time=2 ms
10.0.0.10 pong: ttl=128 time=1 ms
ping interrupted 2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 1/1.5/2 ms
interrupted
[drax] ip route>
- Lists -
Many of the command levels operate with arrays of items: interfaces, routes, users etc. Such arrays are displayed in similar looking lists. All items in the list have an item number followed by it's parameter values. For example:
[drax]> interface print
# NAME STATE TYPE MTU
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1500
|
| 1 |
ether1
|
up
|
ethernet
|
1500
|
To change parameters of an item (interface in this particular case), you have to specify it's number:
[drax]> interface set 1 mtu 1234
[drax]> interface print
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1500
|
| 1 |
ether1
|
up
|
ethernet
|
1234
|
Numbers are assigned by "print" command and are not constant - it is possible that two successive "print" commands will order items differently. Thus, you must use the print command before any other command that works with list items, to assign numbers.
Note Although numbers can change each time you use the "print" command, they don't change between these uses. Once assigned, they will remain the same until you quit the console or until the next "print" command. Also, numbers are assigned separately for every item list, so "ip address print" won't change numbers for interface list.
Let's assume "ip address print" hasn't been executed already. In this case:
[drax]> ip address set 123 netmask
255.255.0.0
Error: number : (no numbers assigned)
To understand better how do item numbers work, you can play with "from" argument of "print" commands:
[drax]> interface print from 1
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 1 |
ether1
|
up
|
ethernet
|
1500
|
The "from" argument specifies what items to show. Numbers are assigned by every "print" command, thus, after executing command above there will be only one item accessible by number - interface "ether1" by number 0.
- Item names -
Some lists have items that have specific names assigned to each. Examples are "interface" or "user" levels. There you can use item names instead of numbers:
[drax]> interface set ether1 mtu 1234
You don't have to use the "print" command before accessing items by name - as opposed to numbers, names are not assigned by the console internally, but are one of the items' parameters. Thus, they won't change on their own (But there are all kinds of obscure situations possible when several users are changing router configuration at the same time). Generally, item names are more "stable" than numbers, and also more informative, so you should prefer them ver numbers when writing console scritps. Also, <tab> completions work on item names, making them easy to type.
- Quick typing -
There are two features in router console that help entering commands a lot quicker and easier - tab key completions and abbreviations of command names. Completions work similarly to the bash shell in UNIX. If you press the tab key after part of word, console tries to find command in current context that begins with this word. If there's only one match, it is automatically appended, followed by space character:
/inte<tab>_ becomes /interface _
(where "_" is cursor position)
If there's more than one match, but they all have a common beginning which is longer that what you've typed, then the word is completed to this common part, and no space is appended:
/interface set e<tab>_ becomes
/interface set ether_
(because "e" matches both "ether5" and "ether1" in this example)
If you've typed just the common part, pressing the tab key once has no effect. However, pressing it second time shows all possible completions in compact form:
[drax]> /interface set e<tab>_
[drax]> /interface set ether<tab>_
[drax]> /interface set ether<tab> ether1 ether5
[drax]> /interface set ether_
The tab key can be used almost in any context where the console might have a clue about possible values - command names, argument names, arguments that have only several possible values (like names of items in some lists or name of protocol in firewall and NAT rules). You can't complete numbers, IP addresses and similar values.
Another way to press less keys while typing is to abbreviate command and argument names. You can type only beginning of command name, and if it is not ambiguous console will accept it as a full name:
[drax]> ip f s r 1 equals to [drax]> ip firewall static-nat remove 1
[drax]> pi 10.1 c 3 s 100 equals to [drax]> ping 10.0.0.1 count 3 size 100
Note ".." can be shortened to ".", because no other words in command levels begin with dot.
- Help -
The console has a built-in help, which can be accessed by typing '?'. General rule is that help shows what you can type in position where the '?' was pressed (similarly to pressing tab key twice, but in verbose form and with explanations).
- Internal item numbers -
Items can also be addressed by their internal numbers. These numbers are generated by console for scripting purposes and, as the name implies, are used internally. Although you can see them if you print return values of some commands (internal numbers look like hex number preceded by '*' - for example "*100A"), there's no reason for you to type them in manually. Use of invalid internal numbers can result in severe injury of your router configuration.
- Multiple items -
You can specify multiple items as targets of some commands. Almost everywhere, where you can write the number of items, you can also write a list of numbers:
[drax]> interface print
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1500
|
| 1 |
ether1
|
up
|
ethernet
|
1234
|
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1600
|
| 1 |
ether1
|
up
|
ethernet
|
1600
|
This is handy when you want to perform same action on several items, or do a selective export. However, this feature becomes really useful when combined with scripting.
- Return values -
The router console has limited scripting capability. Syntax is simple and similar to TCL. There's a new command "find" added to many of the command levels for scripting use. This command doesn't print anything on screen. Instead, it creates a return value that contains internal numbers of items that match parameters of the "find" command. This return value can be used in another command, by placing "find" in square brackets:
[drax]> interface
[drax] interface> print from [find name ether5]
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1600
|
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1001
|
If you don't give "find" any arguments, it returns internal numbers of all items:
[drax] interface> set [find] mtu 1500
[drax] interface> print
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1500
|
| 1 |
ether1
|
up
|
ethernet
|
1500
|
You can see the return value of "find" command (and other router commands) using ":put" command:
[drax] interface> :put [find]
*10002 *10001
These are internal numbers of all router interfaces. Also, there's a trailing space after last number, so you can concatenate results of several "find" commands:
[drax] interface> print from [find][find]
| # |
NAME
|
STATE
|
TYPE
|
MTU
|
| 0 |
ether5
|
up
|
ethernet
|
1500
|
| 1 |
ether1
|
up
|
ethernet
|
1500
|
| 3 |
ether5
|
up
|
ethernet
|
1500
|
| 4 |
ether1
|
up
|
ethernet
|
1500
|
- Time Setting -
In the console time can be set in various ways. If it is just a number, then it is in seconds. You can also enter the following values:
| "d", "da", "day", "days" - 86400 seconds (1 day) |
| "h", "ho" ... "hours" - 3600 seconds (1 hour) |
| "m", "mi", "min" - 60 seconds (1 minute) |
| "s" - 1 seconds (1 second) |
| "ms" - 1 millisecond |
If the is no number before the letters, it will be one unit. You also can use decimal numbers. Multiple time intervals can be written consequently - they will be summarized.
- Variables -
The console has variables that can store string values. Assigning such a variable is done by ":set" command:
[drax]> :set var1 J.Random.String
If the value is assigned to a non-existing variable, it's created, otherwise current value is replaced. To access the value of variable, you have to type "$" followed by the name of the variable, and it will be replaced by the value of the variable:
[drax]> :put $var1
J.Random.String
[drax]> :put $var1-$var1-yo-ho-ho-$var1
J.Random.String-J.Random.String-yo-ho-ho-
J.Random.String
- Magic Variables -
There are two magic variables in the console. "_" (underscore) has the last valid command entered.
[drax]> /system clock print
jun/16/2000 17:06:57
[drax]> :put $_
/system clock print
[drax]> :put $_
:put $_
The second magic variable is the "^" (caret). It contains the return value of the last executed command. Note that all commands return values (even if they're empty strings), so if you want to use the return value of some command (say, "find") several times, you have to assign it to normal variable. In the console, "^" is used to export some items:
[drax]> ip firewall static-nat
[drax] ip firewall static-nat> print
|
(0)
|
;;; blah-blah |
| ;;; yadda-yadda | |
| src-address: 0.0.0.0 src-netmask: 0.0.0.0 src-port: 0-65535 | |
| dst-address: 0.0.0.0 dst-netmask: 0.0.0.0 dst-port: 0-65535 interface: all | |
| translate: no direction: in protocol: all to-src-address: 0.0.0.0 | |
| to-dst-address: 0.0.0.0 to-src-netmask: 0.0.0.0 to-dst-netmask: 0.0.0.0 | |
| to-src-port: 0 to-dst-port: 0 |
[drax] ip firewall static-nat> export
/ip firewall static-nat
add interface all src-address 0.0.0.0 src-netmask
0.0.0.0 \
dst-address 0.0.0.0 dst-netmask 0.0.0.0 protocol
all \
src-port 0-65535 dst-port 0-65535 to-src-address
0.0.0.0 \
to-dst-address 0.0.0.0 to-src-netmask 0.0.0.0 \
to-dst-netmask 0.0.0.0 to-src-port 0 to-dst-port 0
translate no \ direction in
comment $^ blah-blah\nyadda-yadda
disable $^
[drax] ip firewall static-nat>
Here, "add" returns internal number of item the it has added, and "comment" command returns list of internal numbers of items it received as the first argument. Thus "comment $^" will add comment to the item created by "add", and "disable $^" will disable this item.
- General layout of command levels -
There are two different kinds of command levels. First, there are levels that allow you to work with lists of similar items - routes, interfaces, users and the like. Second, there are levels that allow you to change some general parameters - time, bridge settings etc.
Most command groups have some or all of these commands:
print
set
remove
add
find
export
enable
disable
comment
These commands have similar behaviour in all hierarchy.
- print -
The "print" command shows all information that's accessible from particular command level. Thus, "/system time print" shows system time, "/ip route print" shows all routes etc. If there's a list of items in this level and they are not read-only, i.e. you can change/remove them (example of read-only item list is "/system history", which shows history of executed actions), then "print" command also assigns numbers that are used by all commands that operate on items in this list. Thus, "print" usually must be executed before any other commands in the same command level.
If there's list of items then "print" usually can have a "from" argument. The "from" argument accepts space separated list of item numbers, names (if items have them). and internal numbers. The action (printing) is performed on all items in this list in the same order in which they're given.
- set -
The "set" command allows you to change values of general parameters or item parameters. The "set" command has arguments with names corresponding to values you can change. Use "?" or double tab to see list of all arguments. If there is list of items in this command level, then set has one unnamed argument that accepts the number of item (or list of numbers) you wish to set up. Values for unnamed arguments must follow right after the name of the command, and their order can't be changed. Example: in firewall rules, the "set" command has two unnamed arguments - first is the name of chain and second is the number of rule in this chain. "set" returns internal numbers of items it has set up.
- remove -
"remove" has one unnamed argument which contains number(s) of item(s) to remove.
- add -
"add" usually has the same arguments as "set", minus the unnamed number argument. It adds new item with values you've specified, usually to the end of list (in places where order is relevant). There are some values that you have to supply (like interface for new route), and other values that are set to defaults if you don't supply them. The "add" command returns internal number of item it has added.
- find -
The "find" command has the same arguments as "set", and an additional "from" argument which works like the "from" argument with the "print" command. The "find" command returns internal numbers of all items that have the same values of arguments as specified.
- export -
The "export" command prints a script that can be used to restore configuration. If it has the argument "from", then it is possible to export only specified items. Also, if the "from" argument is given, "export" does not descend recursively through the command hierarchy. "export" also has the argument "file", which allows you to save the script in file on router to retrieve it later via ftp. Argument "noresolve" is used to disable reverse resolving of IP addresses if it proves to be problem.
- enable/disable -
You can enable/disable some items (like ip address or default route). Is an item is disabled, it number is shown in parenthesis. If an item is inactive, but not disabled, it number is shown in brackets.
- comment -
You can add comments to any item. If item is commented, comments are shown after item number before all parameters and prefixed with ";;;".
| to the contents |
Device drivers represent the software interface part of installed network devices. For example, the MikroTik system includes device drivers for NE2000 compatible Ethernet cards and other network devices. If you need a device driver for a device, which is not on the list, please suggest it at our suggestion page on our web site.
Most device drivers are loaded automatically. For instructions on specific device drivers see the supported interfaces below.
Unloading of device driver is useful when changing network devices - this can be useful to save system resources in avoiding loading drivers for devices which have been removed from the system. This may be done automatically by removing the card and rebooting before inserting the new network device. The device drivers can be removed only if the appropriate interface has been disabled first.
Select the "Drivers" menu to display the currently installed drivers. New drivers
can be installed by selecting the
.
Existing drivers can be removed by selecting the
as long as their status is 'disabled' (set in the Interface menu). PCI drivers
cannot be removed.
Driver management commands are located in the "driver" menu.
| Command syntax | Description |
|---|---|
| load <driver name>
[irq <IRQ>] [io <IO range start>] [mem <shared memory>] |
Load driver |
| unload <number> | Unload driver |
| Show loaded drivers | |
| find [from] [inactive] [name] [irq] [memory] [io] | Search driver configuration |
Where <number> is number of a loaded driver, which can be viewed in the list, generated by the "print" command.
| Name in Console | Name in Java | Description |
|---|---|---|
| name | Driver | Neme of driver to install* |
| irq | IRQ | Interrupt Request Number. Can be omitted if device does not use IRQ. For IRQ probing enter 0 in Java Box. |
| io | IO | Input/Output port range base address. Can be omitted if device does not use IO ports. If you want to enter I/O port range base address in hexadecimal form, you should put "0x" before it, e.g. 0x300 |
| mem | MEM | Shared Memory base address. Can be omitted if device does not use Shared Memory. |
*- In console use abbreviated form of driver name, available from help.
PCI Cards (loaded automatically, can't be loaded by name)
Driver name: ne2k-pci
| Interfaces: | RealTek RTL-8029 Winbond 89C940 Compex RL2000 KTI ET32P2 NetVin NV5000SC Via 86C926 SureCom NE34 Winbond Holtek HT80232 Holtek HT80229 |
Driver name: 3c95x (3Com 3c590/3c900 series Vortex/Boomerang driver)
This device driver is designed for the 3Com FastEtherLink and FastEtherLink XL, 3Com's PCI to 10/100baseT adapters. It also works with the 10Mbs versions of the FastEtherLink cards. The supported product IDs are shown in the following table:
| Interfaces: | 3c590, 3c592, 3c595, 3c597, 3c900, 3c905 3c590 Vortex 10Mbps 3c595 Vortex 100baseTx 3c595 Vortex 100baseT4 3c595 Vortex 100base-MII 3Com Vortex 3c900 Boomerang 10baseT 3c900 Boomerang 10Mbps Combo 3c900 Cyclone 10Mbps Combo 3c900B-FL Cyclone 10base-FL 3c905 Boomerang 100baseTx 3c905 Boomerang 100baseT4 3c905B Cyclone 100baseTx 3c905B Cyclone 10/100/BNC 3c905B-FX Cyclone 100baseFx 3c905C Tornado 3c980 Cyclone 3cSOHO100-TX Hurricane 3c555 Laptop Hurricane 3c575 Boomerang CardBus 3CCFE575 Cyclone CardBus 3CCFE656 Cyclone CardBus 3c575 series CardBus (unknown version) 3Com Boomerang (unknown version) |
Driver name: lmc
| Interfaces: | LanMedia LMC5200 LanMedia LMC5245 LanMedia LMC1000 |
Driver name: eepro100 (Intel i82557/i82558 PCI EtherExpressPro driver)
This device driver is designed for the Intel i82557 "Speedo3" chip, Intel's single-chip fast Ethernet controller for PCI, as used on the IntelEtherExpressPro 100 adapter.
Driver name: tulip
This device driver is designed for the DECchip "Tulip", Digital's single-chip ethernet controllers for PCI. Supported members of the family are the 21040, 21041, 21140, 21140A, 21142, and 21143. Similar work-alike chips from Lite-On, Macronics, ASIX, Compex and other listed below are also supported.
| Interfaces: | Digital DC21040 Tulip Digital DC21041 Tulip Digital DS21140 Tulip Digital DS21143 Tulip D-Link DFE 570TX Lite-On 82c168 PNIC Macronix 98713 PMAC Macronix 98715 PMAC Macronix 98725 PMAC ASIX AX88140 Lite-On LC82C115 PNIC-II ADMtek AN981 Comet Compex RL100-TX Intel 21145 Tulip Xircom Tulip clone |
Driver name: rtl8139
This device driver is designed for the RealTek RTL8129, the RealTek Fast Ethernet controllers for PCI. This chip is used on a few clone boards.
| Interfaces: | RealTek RTL8129 Fast Ethernet RealTek RTL8139 Fast Ethernet SMC1211TX EZCard 10/100 (RealTek RTL8139) Accton MPX5030 (RealTek RTL8139) |
Driver name: winbond-840
This driver is for the Winbond w89c840 chip.
| Interfaces: | Winbond W89c840 Compex RL100-ATX |
ISA Cards
Driver name: ne2k-isa
| Interface: | NE2000 |
Driver name: 3c509
| Interface: | 3c509 |
ISDN Cards
Only PCI ISDN cards are supported.
| to the contents |
An Interface is physical or virtual device which provides a connection to an external network. Network interfaces are created automatically when the Network Interface Card driver is loaded. Virtual (software) interfaces can be created manually.
Managing Network Interfaces from Java
Select the "Interfaces" menu to open the interface list window. The interfaces list displays basic interface parameters. Interface type specific parameters can be changed from interface details windows (opened by double clicking on icon to the left from interface name). The Interface details window has a standard "Traffic" tab which displays traffic that enters and leaves router through the interface. It can also contain other tabs with interface type specific parameters.
The Interfaces list window also contains a "blink" button. Selecting this button causes traffic to be generated on the highlighted interface and therefore blink the LEDs (light emitting diodes) on the card so that an administrator can determine which Interface name corresponds to the actual interface (when there are multiple interfaces of the same type). Some interfaces must have an Ethernet cable connected before the lights will blink. Note that not all interfaces support this function.
Managing Network Interfaces from Console
Network interface commands and submenus are located in the "interface" menu. It contains several commands that are common to all interfaces:
| Command syntax | Description |
|---|---|
| Show interface summary | |
| set <interface
number> [up] [down] [name <new name>] [mtu <MTU>] |
Change basic interface properties |
| find [from] [name] [mtu] [up][down] | |
| export [file <name>] [noresolve] | |
| blink <interface number> | Generate traffic to blink LEDs |
| monitor-traffic <interface number> | Monitor traffic on interface |
Whre <interface> is interface name or number obtained from "print" command.
The "interface" menu also contains device type specific submenus with device type specific commands. The following device type submenus can be available, depending on what features are licensed for a particular installation:
| Submenu | Description |
|---|---|
| ethernet | Ethernet interfaces |
| ppp | Async PPP interfaces |
| synchronous | Moxa Sync interfaces |
| pptp-client | PPTP dial-out interfaces |
| pptp-server | PPTP server connections |
| bridge | Bridge interface |
| arlan | Arlan IC2200 interfaces |
| radiolan | RadioLAN interfaces |
| wavelan | WaveLAN IEEE 802.11 interfaces |
| pc | Aironet 35/45/4800 interfaces |
| samsung | Samsung IEEE 802.11 interfaces |
Basic Interface Parameter Description
| Name in Console | Name in Java | Description |
|---|---|---|
| name | Name | Human friendly name for the interface. Maximum 31 character. |
| up | Enbled (yes) | Enable interface |
| down | Enabled (no) | Disable interface |
| mtu | MTU | Maximum Transfer Unit (in bytes) |
| arp | ARP | Address Resolution Protocol Settings |
|
disabled
|
Disable ARP protocol, use only static ARP entries | |
|
enabled
|
Enable ARP protocol for an interface (send ARP requests and replies) | |
|
proxy-arp
|
Enable ARP protocol for an interface and also reply on ARP requests about IP addresses for which the router is a gateway |
Ethernet interfaces include standard 10/100 Mbit Ethernet network interface. Ethernet interfaces do not have any device type dependent parameters. Each Ethernet interface has its MAC-address (Medium Access Control).
Managing Ethernet Interfaces from Java
Ethernet interface parameters can be changed from interface list window or from interface details window "General" tab.
Managing Ethernet Interfaces from Console
Ethernet interface management is done in submenu "interface ether".
| Command syntax | Description |
|---|---|
| print [<interface>] | Show interface(s) information |
| set <interface>
[up] [down] [name <new name>] [mtu <MTU>] [arp disabled|enabled|proxy-arp] |
Change interface properties |
| find | |
| export |
Where <interface> is interface name or number obtained from "print" command.
| Name in Console | Name in Java | Description |
|---|---|---|
| up/ down | Enabled (yes/ no) | Set Ethernet interface up or down |
| mtu | MTU | Maximum Transfer Unit. Maximum packet size to be transmitted |
| arp | ARP | Address Resolution Protocol Settings |
|
mac-address
|
MAC Address | Medium Access Control Address |
PPP (or Point-to-Point Protocol) provides a method for transmitting datagrams over serial point-to-point links. The 'com1' and 'com2' ports from standard PC hardware configurations will appear as 'serial0' and 'serial1' automatically. It is possible to add thirty-two additional serial ports with the Moxa C168 PCI multiport asynchronous card (eight ports each) to use the router for a modem pool.
To add PPP server interface, you have to choose "Interfaces" and click "Add
New"
. Then choose PPP
Server and set all PPP server settings. When next time you want to change PPP
server settings or check out status or traffic of the PPP server you have to
double click on PPP server interface you added in the Interfaces list.
Managing PPP Server from Console
PPP server management is done in the submenu "interface ppp-server".
| Command syntax | Description |
|---|---|
| Show interface(s) information | |
| set <interface>
[up] [down] [name<new name>] [mtu <MTU>] [mru <MRU>] [port-id <id>] [pap no|yes] [chap no|yes] [ms-chap no|yes] [ms-chapv2 no|yes] [encryption none|optional|required| stateless] [ring-count <rings>] [idle-timeout <time>] [null-modem <on|off>] [modem-init <string>] [local-address <address>] [remote-address <address>] |
Change interface properties |
| find | |
| export | |
| monitor <interface> | Monitor interface status in real time |
Where <interface> is interface name or number obtained from "print" command.
Managing PPP Client from JAVA
To add PPP client interface, you have to choose "Interfaces" and click "Add
New"
. Then choose PPP
Client and set all PPP client settings. When next time you want to change PPP
client settings or check out status or traffic of the PPP client you have to
double click on PPP client interface you added in the Interfaces list.
Managing PPP Client from console
PPP server management is done in the submenu "interface ppp-server".
| Command syntax | Description |
|---|---|
| Show interface(s) information | |
| set <interface>
[up] [down] [name<new name>] [mtu <MTU>] [mru <MRU>] [port-id <id>] [pap no|yes] [chap no|yes] [ms-chap no|yes] [ms-chapv2 no|yes] [user <name>] [encryption none|optional|required| stateless] [tone-dial <enable|disable>] [dial-on-demand <enable|disable>] [add-default-route <address>] [phone <number>] [idle-timeout <time>] [null-modem <on|off>] [modem-init <string>] [local-address <address>] [remote-address <address>] [use-peer-dns <enable|disable>] |
Change interface properties |
| find | |
| export | |
| monitor <interface> | Monitor interface status in real time |
| Name in Console | Name in Java | Description |
|---|---|---|
| mtu | MTU | Maximum Transfer Unit. Maximum packet size to be transmitted |
| mru | MRU | Maximum Size of received packets |
| pap/ms-chap/ chap/ms-chapv2 | Authentication Allow | Authentication protocol type |
| encryption | Encryption | Which encryption to use. |
|
none
|
none | No encryption is used. If the other end supports compression, it will be used |
|
optional
|
optional | If the other end supports encryption, it will be used |
|
required
|
required | Encryption is required, without it connection won't be established |
|
stateless
|
stateless | Stateless-MPPE is required. Router will use MPPE-128bit or MPPE-40bit depending on the other end of connection. In stateless mode password will be changed before every packet is transmitted |
| user | User | User name to use to log into server when dialing out. Can contain letters, digits, "@", "-",".", or be "*" |
| phone | Phone Number | Phone number to call when dialing out |
| tone-dial | Tone Dial | Enable/Disable tone dial |
| ring-count | Rings | Number of rings to wait before answering phone |
| null-modem | Null Modem | Enable/Disable null-modem mode (when enabled, no modem initialization strings are sent). Default value is "on" (for COM1 and COM2 only). So by default null-modem is turned on. |
| dial-on-demand | Dial On Demand | Enable/Disable dial on demand |
| idle-timeout | Idle Time | Idle time after which close connection |
| modem-init | Modem Init | Modem Initialization String |
| add-default-route | Add Default Route | Add PPP remote address as a default route. Other settings are: destination=0.0.0.0 netmask=0.0.0.0 interface=ppp, preferred source=0.0.0.0 |
| local-address | Local Address | Local IP Address |
| remote-address | Remote Address | Remote IP Address |
Moxa Sync interfaces supports the Moxa C101 Sync adapters. Moxa C101 hardware specific instructions come together with the C101 when purchased from "MirkoTikls".
Managing Moxa Sync Interfaces from Java
Moxa Sync specific parameters can be controlled from "Synchronous" tab in interface details window. Current status (status of modem control lines, time since last keepalive and sequence number difference) can be monitored in real time under the "Status" tab in interface details window.
Managing Moxa Sync Interfaces from Console
Moxa Sync interface management is done in submenu "interface sync".
| Command syntax | Description |
|---|---|
| print [<interface>] | Show interface(s) information |
| set <interface>
[up] [down] [name<new name>] [mtu <MTU>] [keepalive-interval <keepalive>] [speed <speed>] [rx-clock-source <internal|line>] [tx-clock-source <internal|line|rxc>] [ignore-dcd <yes|no>] |
Change interface properties |
| monitor <interface> | Monitor interface status in real time |
Where <interface> is an interface name or number obtained from "print" command.
Interface status includes status of modem control lines (DTR, RTS, CTS, DSR, DCD), time since last keepalive, and sequence number difference.
Moxa Sync Interface Parameters
| Name in Console | Name in Java | Description |
|---|---|---|
| keepalive | Keepalive | Interval after which keepalive is sent (in seconds) |
| speed | Speed | Speed of internal clock |
| rx-clock-source | Rx Clock Source | Receive clock source |
|
tx-clock-source
|
Tx Clock Source | Transmit clock source |
| ignore-dcd | Null Modem | Enable/Disable null-modem mode (ignore DCD signal) |
PPTP (Point-to-Point Tunneling Potocol) provides a method for transmitting datagrams over IP network encapsulated into PPP protocol. Configuring PPTP server is much like configuring PPP server.
PPTP tunnels are used to create virtual private networks. You can connect two private networks via PPTP tunnel.
Managing PPTP Server from Java
You can configure PPTP Server settings by clicking
icon. Then set all parameters as necessary. Read about PPTP Server parameters
below.
Managing PPTP Server from Console
Go to the “interface pptp-server” menu.
| Command syntax | Description |
|---|---|
|
monitor <interface number> |
Monitor interface |
|
|
Print PPTP server information |
|
set <interface name> [name][up] [down] |
Set PPTP server name and status |
|
find |
Find |
|
export |
Export PPTP server settings |
"ip pptp-server" menu commands:
| Command syntax | Description |
|---|---|
|
set [enabled no|yes] |
Configure PPTP settings |
|
|
Print PPTP server information |
|
export |
Export PPTP server settings |
| Name in Console | Name in Java | Description |
|---|---|---|
|
enabled |
Enabled |
Enable/disable PPTP server |
|
pap |
PAP |
Use PAP authentication |
|
chap |
CHAP |
Use CHAP authentication |
|
ms-chap |
MS-CHAP |
Use MS-CHAP authentication |
|
ms-chapv2 |
MS-CHAP v2 |
Use MS-CHAP v2 authentication |
|
encryption |
Encryption |
Which encryption to use. Encryption works only with MS-CHAP and MS-CHAP v2. |
|
none |
none |
No encryption is used. If the other end supports compression, it will be used |
|
optional |
optional |
If the other end supports encryption, it will be used |
|
required |
required |
Encryption is required, without it connection won’t be established |
|
stateless |
stateless |
Stateless-MPPE is required. Router will use MPPE-128bit or MPPE-40bit depending on the other end of connection. In stateless mode password will be changed before every packet is transmitted |
|
mtu |
MTU |
Maximum Transfer Unit (in bytes) |
|
mru |
MRU |
Maximum Size of received packets |
|
idle-timeout |
Idle Time |
Connection time out |
|
local-address-from |
Local Addr. From/To |
Range of local IP addresses for PPTP connection |
|
remote-address-from |
Remote Addr. From/To |
Range of remote IP addresses for PPTP connection |
Managing PPTP Client from Java
You can configure PPTP Client settings by clicking
icon. Then set all parameters as necessary. Read about PPTP Client parameters
below.
Managing PPTP Client from Console
Go to the "interface pptp-client" menu. The following commands are possible there:
| Command Syntax | Description |
|---|---|
|
monitor <interface number> |
Monitor interface |
|
|
Print PPTP client information |
|
set <number> |
Configure PPTP client |
|
add [name <interface name>]
[up] [down] |
Add new PPTP client |
|
remove <number> |
Remove PPTP client |
|
find |
Find |
|
export |
Export PPTP client settings |
| Name in Console | Name in Java | Description |
|---|---|---|
|
up/down |
Enabled |
Enable/disable PPTP interface |
|
name |
Name |
PPTP client interface name |
|
pap/chap/ |
PAP/CHAP/ |
Authentication type to be used |
|
encryption |
Encryption |
Which encryption to use. Encryption works only with MS-CHAP and MS-CHAP v2. |
|
none |
none |
No encryption is used. If the other end supports compression, it will be used |
|
optional |
optional |
If the other end supports encryption, it will be used |
|
required |
required |
Encryption is required, without it connection won’t be established |
|
stateless |
stateless |
Stateless-MPPE is required. Router will use MPPE-12bit or MPPE-40bit depending on the other end of connection. |
|
user |
User |
User name to use to log into server when dialing out. Can contain letters, digits, “@”, “-“,”.”, or be “*” |
|
connect-to |
Connect To |
PPTP server address to connect to |
|
mtu |
MTU |
Maximum Transfer Unit (in bytes) |
|
mru |
MRU |
Maximum Size of received packets |
|
idle-timeout |
Idle Time |
Connection time out |
PPPoE (Point-to-Point Potocol over Ethernet) provides a method for transmitting datagrams over ethernet encapsulated into PPP protocol. Configuring PPPoE server is much like configuring PPP server.
Example PPPoE server configuration:
/ip pppoe-server set ether1 server-name
ExampleServer pap yes chap yes ms-chapv2 yes encryption optional compression
no mtu 1460 mru 1460 idle-timeout 0 local-address-from 10.0.0.1 local-address-to
10.0.0.127 remote-address-from 10.0.0.128 remote-address-to 10.0.0.254
/ip pppoe-server enable ether1
This configures PPPoE server on ether1 interface. ether1 interface should be
up. No ip address configuration is required on interface. Next thing is to add
users with group PPP. We will add user test with password seCreT in this example:
/user add name test password seCreT
group ppp
Next, configure general PPP settings - name server addresses that will be provided
to PPPoE client. For example:
/ip ppp set primary-dns 159.148.60.2
secondary-dns 159.148.108.1 authentication local
Managing PPPoE Server from JAVA
PPPoE server from JAVA you can manage in Interface list window by choosing
General settings
and then
PPPoE server.
Managing PPPoE Server from console
It is done from "interface pppoe-server" submenu.
| Command syntax | Description |
|---|---|
|
monitor <interface number> |
Monitor interface |
|
|
Print PPPoE server information |
|
set <interface name> [name][up] [down] |
Set PPPoE server name and status |
|
find |
Find |
|
export |
Export PPPoE server settings |
And "ip pppoe-server" submenu.
| Command Syntax | Description |
|---|---|
|
<enable | disable> <interface> |
Enable or disable PPPoE server on interface |
|
|
Print PPPoE server configuration |
|
set <interface name> [server-name
<name>] |
Configure PPPoE server |
Managing PPPoE Client from JAVA
You can configure PPPoE Client settings by clicking
icon. Then set all parameters as necessary.
Managing PPPoE Client from console
It is done from "interface pppoe-client" submenu.