<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>EsmaeelE - Free Software enthusiast - Networking</title>
    <subtitle>DevOps, Kubernetes, and Infrastructure Automation</subtitle>
    <link rel="self" type="application/atom+xml" href="https://esmaeele.github.io/tags/networking/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://esmaeele.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-06-20T00:00:00+00:00</updated>
    <id>https://esmaeele.github.io/tags/networking/atom.xml</id>
    <entry xml:lang="en">
        <title>Networking Lab with MikroTik RouterOS</title>
        <published>2026-06-20T00:00:00+00:00</published>
        <updated>2026-06-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              EsmaeelE
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://esmaeele.github.io/blog/mikrotik/"/>
        <id>https://esmaeele.github.io/blog/mikrotik/</id>
        
        <content type="html" xml:base="https://esmaeele.github.io/blog/mikrotik/">&lt;h1 id=&quot;networking-lab-with-mikrotik-routeros&quot;&gt;Networking Lab with MikroTik RouterOS&lt;&#x2F;h1&gt;
&lt;p&gt;MikroTik RouterOS is a good, low-cost way to get hands-on with networking concepts without buying
physical hardware. This post covers running it as a VM, exposing its WebUI and SSH through a
reverse proxy, and connecting to it from the host machine.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;&#x2F;h2&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Component&lt;&#x2F;th&gt;&lt;th&gt;Version&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Host OS&lt;&#x2F;td&gt;&lt;td&gt;Debian GNU&#x2F;Linux (stable)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hypervisor&lt;&#x2F;td&gt;&lt;td&gt;VirtualBox&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;RouterOS&lt;&#x2F;td&gt;&lt;td&gt;MikroTik x86 ISO&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Download the ISO from the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;mikrotik.com&#x2F;&quot;&gt;MikroTik website&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;1-create-the-vm&quot;&gt;1. Create the VM&lt;&#x2F;h2&gt;
&lt;p&gt;In VirtualBox, create a new VM with type &lt;strong&gt;Other&#x2F;Unknown (64-bit)&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Enable &lt;strong&gt;VT-x&lt;&#x2F;strong&gt; in system settings&lt;&#x2F;li&gt;
&lt;li&gt;Attach &lt;code&gt;mikrotik-7.10.1.iso&lt;&#x2F;code&gt; to the CD drive&lt;&#x2F;li&gt;
&lt;li&gt;Boot and press &lt;code&gt;i&lt;&#x2F;code&gt; then &lt;code&gt;Enter&lt;&#x2F;code&gt; to install&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;2-first-boot&quot;&gt;2. First Boot&lt;&#x2F;h2&gt;
&lt;p&gt;Log in to the console:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;user: admin&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;password: (empty)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Request an IP from the internal DHCP server:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;&#x2F;ip&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; dhcp-client add interface=ether1 disabled=no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;&#x2F;ip&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; address print&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Expected output:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[admin@MikroTik] &amp;gt; ip&#x2F;address&#x2F;print&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Flags: D - DYNAMIC&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Columns: ADDRESS, NETWORK, INTERFACE&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;#   ADDRESS           NETWORK      INTERFACE&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;0 D 10.0.2.15&#x2F;24      10.0.2.0     ether1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;3-port-forwarding&quot;&gt;3. Port Forwarding&lt;&#x2F;h2&gt;
&lt;p&gt;VirtualBox&#x27;s NAT network can forward ports from the host to the guest.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Service&lt;&#x2F;th&gt;&lt;th&gt;Host IP&lt;&#x2F;th&gt;&lt;th&gt;Host Port&lt;&#x2F;th&gt;&lt;th&gt;Guest IP&lt;&#x2F;th&gt;&lt;th&gt;Guest Port&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;SSH&lt;&#x2F;td&gt;&lt;td&gt;127.0.0.1&lt;&#x2F;td&gt;&lt;td&gt;9090&lt;&#x2F;td&gt;&lt;td&gt;10.0.2.15&lt;&#x2F;td&gt;&lt;td&gt;22&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;WebUI&lt;&#x2F;td&gt;&lt;td&gt;127.0.0.1&lt;&#x2F;td&gt;&lt;td&gt;8080&lt;&#x2F;td&gt;&lt;td&gt;10.0.2.15&lt;&#x2F;td&gt;&lt;td&gt;80&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Traffic hitting &lt;code&gt;localhost:9090&lt;&#x2F;code&gt; and &lt;code&gt;localhost:8080&lt;&#x2F;code&gt; now redirects to the guest.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;4-access-methods&quot;&gt;4. Access Methods&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;option-a-nginx-reverse-proxy&quot;&gt;Option A: Nginx Reverse Proxy&lt;&#x2F;h3&gt;
&lt;p&gt;Create &lt;code&gt;&#x2F;etc&#x2F;nginx&#x2F;conf.d&#x2F;local_proxy.conf&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;server {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    listen 80;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    server_name webfig.ir;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    location &#x2F; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        proxy_pass http:&#x2F;&#x2F;127.0.0.1:8080&#x2F;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; nginx -t&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; systemctl restart nginx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Add to &lt;code&gt;&#x2F;etc&#x2F;hosts&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;127.0.0.1       webfig.ir&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now &lt;code&gt;http:&#x2F;&#x2F;webfig.ir&lt;&#x2F;code&gt; reaches the MikroTik WebUI.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;option-b-simpleproxy-no-nginx&quot;&gt;Option B: SimpleProxy (No Nginx)&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; apt install simpleproxy&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; simpleproxy -L webfig.ir:80 -R 127.0.0.1:8080&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;option-c-ssh&quot;&gt;Option C: SSH&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;ssh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -p&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 9090&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; admin@127.0.0.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Add to &lt;code&gt;~&#x2F;.ssh&#x2F;config&lt;&#x2F;code&gt; for convenience:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Host mikrotik&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    HostName 127.0.0.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    User admin&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Port 9090&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    KexAlgorithms diffie-hellman-group-exchange-sha256&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then just:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;ssh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; mikrotik&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;option-d-winbox-via-wine&quot;&gt;Option D: Winbox via Wine&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; apt install wine&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;wine&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; winbox64.exe&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;references&quot;&gt;References&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;askubuntu.com&#x2F;a&#x2F;1001801&#x2F;678872&quot;&gt;AskUbuntu: Port forwarding&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;manpages.ubuntu.com&#x2F;manpages&#x2F;lunar&#x2F;en&#x2F;man1&#x2F;simpleproxy.1.html&quot;&gt;SimpleProxy manpage&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.baeldung.com&#x2F;linux&#x2F;mapping-hostnames-ports&quot;&gt;Baeldung: Mapping hostnames&#x2F;ports&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;superuser.com&#x2F;a&#x2F;1670774&#x2F;1787481&quot;&gt;SuperUser: MikroTik SSH&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>MikroTik Lab</title>
        <published>2026-06-20T00:00:00+00:00</published>
        <updated>2026-06-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              EsmaeelE
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://esmaeele.github.io/projects/mikrotik-lab/"/>
        <id>https://esmaeele.github.io/projects/mikrotik-lab/</id>
        
        <content type="html" xml:base="https://esmaeele.github.io/projects/mikrotik-lab/">&lt;h1 id=&quot;mikrotik-networking-lab&quot;&gt;MikroTik Networking Lab&lt;&#x2F;h1&gt;
&lt;p&gt;A virtual networking lab using MikroTik RouterOS in VirtualBox for practicing routing, firewall rules, and network configurations.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;features&quot;&gt;Features&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;MikroTik RouterOS VM setup&lt;&#x2F;li&gt;
&lt;li&gt;SSH and WebUI access&lt;&#x2F;li&gt;
&lt;li&gt;Nginx reverse proxy configuration&lt;&#x2F;li&gt;
&lt;li&gt;VLAN and routing labs&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;requirements&quot;&gt;Requirements&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;VirtualBox&lt;&#x2F;li&gt;
&lt;li&gt;MikroTik RouterOS ISO&lt;&#x2F;li&gt;
&lt;li&gt;Debian&#x2F;Ubuntu host&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;links&quot;&gt;Links&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;blog&#x2F;mikrotik&#x2F;&quot;&gt;Blog Post&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
</feed>
