mirror of
https://bitbucket.org/mangelo/snippets.git
synced 2024-11-21 18:31:00 +02:00
Run Mikrotik RouterOS in qemu.
This commit is contained in:
parent
735bb8d085
commit
c69904f24e
116
mikrotik/run-mikrotik-routeros-in-qemu.txt
Normal file
116
mikrotik/run-mikrotik-routeros-in-qemu.txt
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
### Install RouterOS:
|
||||||
|
|
||||||
|
# Download RouterOS CD Image from https://mikrotik.com/download.
|
||||||
|
Select the X86 version.
|
||||||
|
wget https://download.mikrotik.com/routeros/X.XX.X/mikrotik-X.XX.X.iso
|
||||||
|
|
||||||
|
# Create a hard disk:
|
||||||
|
qemu-img create -f qcow2 mikrotik.qcow2 1G
|
||||||
|
|
||||||
|
# Install RouterOS:
|
||||||
|
qemu-system-x86_64 \
|
||||||
|
-name MIKRO1 \
|
||||||
|
-m 512 \
|
||||||
|
-smp cpus=1 \
|
||||||
|
-enable-kvm \
|
||||||
|
-hda mikrotik.qcow2 \
|
||||||
|
-cdrom mikrotik-X.XX.X.iso \
|
||||||
|
-serial telnet::2000,server,nowait \
|
||||||
|
-monitor tcp:127.0.0.1:4000,server,nowait \
|
||||||
|
-curses \
|
||||||
|
-boot d \
|
||||||
|
-net none \
|
||||||
|
-net nic,model=e1000,vlan=1,macaddr=4c:5e:0c:01:02:01 \
|
||||||
|
-net nic,model=e1000,vlan=2,macaddr=4c:5e:0c:01:02:02 \
|
||||||
|
-net nic,model=e1000,vlan=3,macaddr=4c:5e:0c:01:02:03 \
|
||||||
|
-net nic,model=e1000,vlan=4,macaddr=4c:5e:0c:01:02:04 \
|
||||||
|
-net socket,vlan=1,udp=127.0.0.1:9011,localaddr=:9001 \
|
||||||
|
-net socket,vlan=2,udp=127.0.0.1:9012,localaddr=:9002 \
|
||||||
|
-net socket,vlan=3,udp=127.0.0.1:9013,localaddr=:9003 \
|
||||||
|
-net socket,vlan=4,udp=127.0.0.1:9014,localaddr=:9004
|
||||||
|
|
||||||
|
# Install the required packages.
|
||||||
|
|
||||||
|
# Once the packages are installed, the router boots and enter
|
||||||
|
in the installation again. To poweroff the router and exit,
|
||||||
|
open another terminal, enter to the qemu monitor console
|
||||||
|
with 'telnet 127.0.0.1 4000' and execute the 'quit' command.
|
||||||
|
|
||||||
|
# Done!. RouterOS is installed in the hard disk.
|
||||||
|
|
||||||
|
|
||||||
|
### Use RouterOS.
|
||||||
|
|
||||||
|
# Power on the router:
|
||||||
|
qemu-system-x86_64 \
|
||||||
|
-name MIKRO1 \
|
||||||
|
-m 512 \
|
||||||
|
-smp cpus=1 \
|
||||||
|
-enable-kvm \
|
||||||
|
-hda mikrotik.qcow2 \
|
||||||
|
-serial telnet::2000,server,nowait \
|
||||||
|
-monitor tcp:127.0.0.1:4000,server,nowait \
|
||||||
|
-display none \
|
||||||
|
-daemonize \
|
||||||
|
-net none \
|
||||||
|
-net nic,model=e1000,vlan=1,macaddr=4c:5e:0c:01:02:01 \
|
||||||
|
-net nic,model=e1000,vlan=2,macaddr=4c:5e:0c:01:02:02 \
|
||||||
|
-net nic,model=e1000,vlan=3,macaddr=4c:5e:0c:01:02:03 \
|
||||||
|
-net nic,model=e1000,vlan=4,macaddr=4c:5e:0c:01:02:04 \
|
||||||
|
-net socket,vlan=1,udp=127.0.0.1:9011,localaddr=:9001 \
|
||||||
|
-net socket,vlan=2,udp=127.0.0.1:9012,localaddr=:9002 \
|
||||||
|
-net socket,vlan=3,udp=127.0.0.1:9013,localaddr=:9003 \
|
||||||
|
-net socket,vlan=4,udp=127.0.0.1:9014,localaddr=:9004
|
||||||
|
|
||||||
|
# For TAP connection:
|
||||||
|
As root:
|
||||||
|
tunctl -u <username> -t <devname>
|
||||||
|
ifconfig <devname> <dirip> netmask <mask> up
|
||||||
|
|
||||||
|
qemu:
|
||||||
|
-net nic,model=e1000,vlan=<N>,macaddr=4c:5e:0c:01:02:0<N> \
|
||||||
|
-net tap,vlan=<N>,ifname=<devname>,script=no
|
||||||
|
|
||||||
|
For delete the TAP interface:
|
||||||
|
tunctl -d <devname>
|
||||||
|
|
||||||
|
# For bridge connection to real ethernet interface:
|
||||||
|
As root:
|
||||||
|
ip link add <brname> type bridge
|
||||||
|
ip addr flush dev <ethN> # <-- WARNING!
|
||||||
|
ip tuntap add dev <tapname> mode tap user <username>
|
||||||
|
ip link set <ethN> master <brname>
|
||||||
|
ip link set <tapname> master <brname>
|
||||||
|
ip link set dev <brname> up
|
||||||
|
ip link set dev <tapname> up
|
||||||
|
ip link set dev <ethN> up
|
||||||
|
ip addr add <dirip/mask> dev <brname>
|
||||||
|
|
||||||
|
qemu:
|
||||||
|
-net nic,model=e1000,vlan=<N>,macaddr=4c:5e:0c:01:02:0<N> \
|
||||||
|
-net tap,vlan=<N>,ifname=<tapname>,script=no
|
||||||
|
|
||||||
|
Delete interfaces:
|
||||||
|
ip link delete <brname>
|
||||||
|
ip link delete <tapname>
|
||||||
|
ip link set dev <ethN> down
|
||||||
|
|
||||||
|
# Enter to the router serial console:
|
||||||
|
telnet 127.0.0.1 2000
|
||||||
|
username: admin
|
||||||
|
password: <blank>
|
||||||
|
|
||||||
|
# To poweroff the router:
|
||||||
|
* Inside RouterOS: /system shutdown
|
||||||
|
* Outside RouterOS: telnet 127.0.0.1 4000
|
||||||
|
quit
|
||||||
|
|
||||||
|
# Warning: the ethernet interfaces can be out of order, check
|
||||||
|
the mac address and interfaces names:
|
||||||
|
[admin@MikroTik] > /interface ethernet print
|
||||||
|
Flags: X - disabled, R - running, S - slave
|
||||||
|
# NAME MTU MAC-ADDRESS ARP
|
||||||
|
0 R ether1 1500 4C:5E:0C:01:02:03 enabled
|
||||||
|
1 R ether2 1500 4C:5E:0C:01:02:04 enabled
|
||||||
|
2 R ether3 1500 4C:5E:0C:01:02:01 enabled
|
||||||
|
3 R ether4 1500 4C:5E:0C:01:02:02 enabled
|
Loading…
Reference in New Issue
Block a user