In my home lab virtual environment, VMware ESXi and Workstation used to host most of my testing virtual machines. To get those VMs working together in a multi networks diagram, I always need to have a router or firewall VM. I were using all kinds of virtual routers or firwealls, such as those major vendors, Cisco, CheckPoint, Juniper, Fortinet, Palo Alo, also some small vendors, such as OpenWRT,PFsense, RouterOS, etc. But recent I found one small Virtual image surprised me. The whole virtual image file is only 1.4MB. Memory only needs 16MB.
Booting menu
Diagram
Internet <——>(Public IP)Home Router(192.168.2.1) <——>192.168.2.x/24 network <——> (192.168.2.20)FreeSCO (192.168.111.3) <——> 192.168.111.x/24 network<——>Windows Test Machine(192.168.111.111)
Some of Freesco’s abilities:
- Simple bridge
- Firewalling and NAT
- Dialup, leased line, DSL and cable router
- Time, DHCP, DNS, HTTP server
- Remote access server
- Print server
- Supports up to three Ethernet/arcnet/token_ring/arlan NICs
- and two modems
VMWare Configuration
Login System
After imported into VMWare Workstation, power it on, you will see following login window:
After all interface configured:
Default Login: root
Default Password: Welcome1
Enter a name and country code. you will be placed into console.
_/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/
_/ _/ _/ _/ _/ _/ _/ _/ _/ v0.4.5
_/_/_/ _/_/_/_/ _/_/_/ _/_/_/ _/_/_/_/ _/ _/ _/ Powered
_/ _/ _/ _/ _/ _/ _/ _/ _/ by
_/ _/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ LiNUX
Registering your system is NOT required and the system will run
perfectly without registering, but it is helpful in accurately
counting the number of systems running FREESCO. No personal
information is needed except for a name to register the system
with. Once registered this prompt will never appear again.
Register your system now (y/n)? [y]
Registration name? freesco1
Your two letter country code? US
error: HTTP error from server: HTTP/1.1 500 Internal Server Error
Error
ile rev 2.7freesco
[root@freesco]
Setup Interface
Use ssh client to log in this small router.
Type Setup then enter:
Choose h) Local networks,
For Netwrok #0 , which is WAN network . Configure static ip address 192.168.2.20 / 24 with gateway 192.168.2.1.
For eth0, by default, it is DHCP client enabled, which means you will get ip address from your DHCP server, ususually it is your home router.
Then configuration network #1 (LAN interface) to use eth1 with static ip address 192.168.111.3/24.
Press x to ext and save the configuration.
You will be prompted to restart the sytem.
Type reboot to restart it.
Username : admin
Password : Welcome1
Network configuraiton:
Configure Home Router (Not FreeSCO) to Return Traffic to LAB Network Behind FreeSCO
By default your Home Router does not know where is 192.168.111.x network. To get your home router (192.168.2.1) to return traffic back to FreeSCO, you will need to add a static route like below:
Or, we can configure our FreeSCO to enable NAT/Firewall.
On/Off NAT Firewall Mode:
Configure server – Server Settings from Advanced Configuraiton
Reboot system after setting changed.
Youtube Video
A video I created long time ago (Jul 2018) to show you the whole process and it is still valid:
Client Configuration & Performance Test
For other network, for example 192.168.2.x/255.255.255.0 , to access 192.168.111.x network, you might need to add a specific route if you don’t have a static route added into your home router.
For windows:
- route add 192.168.111.0 mask 255.255.255.0 192.168.2.20 -p
- route add 192.168.111.0 mask 255.255.255.0 192.168.2.20
To delete:
- route delete 192.168.111.0
Performance Test
On the machine 192.168.111.23, run iperf as server: iperf.exe -s
PS C:\Users\netse\OneDrive\Desktop\iperf-3.1.3-win64> tracert 192.168.111.23
Tracing route to 192.168.111.23 over a maximum of 30 hops
1 <1 ms 1 ms <1 ms 192.168.2.1
2 1 ms <1 ms <1 ms 192.168.2.20
3 1 ms 1 ms 1 ms 192.168.111.23
Trace complete.
PS C:\Users\netse\OneDrive\Desktop\iperf-3.1.3-win64> .\iperf3.exe -c 192.168.111.23
Connecting to host 192.168.111.23, port 5201
[ 4] local 192.168.2.89 port 62688 connected to 192.168.111.23 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 19.9 MBytes 167 Mbits/sec
[ 4] 1.00-2.00 sec 21.8 MBytes 183 Mbits/sec
[ 4] 2.00-3.00 sec 22.1 MBytes 185 Mbits/sec
[ 4] 3.00-4.01 sec 11.1 MBytes 92.1 Mbits/sec
[ 4] 4.01-5.00 sec 8.88 MBytes 75.5 Mbits/sec
[ 4] 5.00-6.00 sec 14.8 MBytes 124 Mbits/sec
[ 4] 6.00-7.00 sec 14.1 MBytes 118 Mbits/sec
[ 4] 7.00-8.00 sec 18.2 MBytes 153 Mbits/sec
[ 4] 8.00-9.01 sec 17.2 MBytes 144 Mbits/sec
[ 4] 9.01-10.00 sec 14.5 MBytes 123 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 163 MBytes 136 Mbits/sec sender
[ 4] 0.00-10.00 sec 163 MBytes 136 Mbits/sec receiver
iperf Done.
PS C:\Users\netse\OneDrive\Desktop\iperf-3.1.3-win64>
It looks like at least it will support 136Mbits/sec. Not a perfect testing environment, but it should be able to support my home lab for testing.
https://od.51sec.org/TGM_51Sec_EU/Sharing/VM/Router%20Images/