Free WAN Optimizer appliance "OpenNOP"
If an organization want to connecting their datacenter to another site via private link, usually they will use leased line from Service Provider and they will be charged depend on how much bandwidth leased. 5, 10, 20, 50, 100 Mbps or higher so it will be affected to cost :)
The challenge is with minimum bandwidth link which leased, how they can achieve it being double, triple, quadruple or even decuple, is it possible ? ah, that is so impossible, keep in mind that money talks :D, the value of quality is straight with value of cost.
Actually it can be reached with WAN Optimization, WAN optimization also known as WAN acceleration, is the category of technologies and techniques used to maximize the efficiency of data flow across a wide area network (WAN). In market review, there are some WAN Optimizer appliance with various vendor which has ability to optimize the traffic, the one is Steelhead from Riverbed, I think till now it’s the most popular and being a market leader in WAN Optimizater product. The big problem is that appliance so very expensive, for SMB segment the capital expenditure is unreachable.
But don’t worry, there is an opensource WAN Optimizer appliance, that is called “OpenNOP” :) . I have tried this appliance and working on it, I think the result is not bad. Check it out !
Before you perform installation, please check some minimum hardware requirements below for this appliance :
- CPU: Dual-Core
- Memory : 1024MB
- Disk: 40GB
- NIC: 10/100Mb (2 interfaces)
1. Download iso files from https://www.dropbox.com/s/50e0qubxfctcmhq/OpenNOP.x86_64-0.5.0.preload.iso
2. Install it to your physical server or virtual machine, both are possible to do.
Do Installation steps just with follow the wizard. Just for your information, This appliance is based on OpenSUSE 12.3 version, so all command prompt must following OpenSUSE command.
3. OpenNOP already installed and login to the system with credentials : User: root / Pass: linux
4. Configure the network configurations:
- Setting IP Address eth0 : vi /etc/sysconfig/network/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.2.110
NETMASK=255.255.255.0
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
MTU=1500
ONBOOT=yes
USERCONTROL=no
STARTMODE=auto
ETHTOOL_OPTIONS=
MTU=
REMOTE_IPADDR=
- Setting IP Address eth1 : vi /etc/sysconfig/network/ifcfg-eth1
BOOTPROTO=static
IPADDR=172.16.10.1
NETMASK=255.255.255.0
NETWORK=172.16.10.0
BROADCAST=172.16.10.255
MTU=1500
ONBOOT=yes
USERCONTROL=no
STARTMODE=auto
ETHTOOL_OPTIONS=
MTU=
REMOTE_IPADDR=
- Setting default gateway: vi /etc/sysconfig/network/routes
default 192.168.2.1
- Setting DNS (Name Server): vi /etc/resolv.conf
nameserver 8.8.8.8
- Restart networking configuration: # service network restart
5. Disable firewall
There are 2 steps to deactivate the firewall in OpenNOP, with “yast” or using Command. if you want using “yast” it very simple, just type “yast” enter then select “Security and users” > Firewall > then disable firewall in startup tab like in screenshoot below :
Or in another option, you can turn-off the firewall
with just typing this simple command :
# /sbin/SuSEfirewall2 stop (option start/stop/status)
6. Enable IP Forwarding
Each OpenNOP instance is running as a gateway in topology for every hosts behind it which would to be optimized. IP forwarding needed to enabled for make the connection/traffic from host able to goes through over this appliance.
For enable ip forwarding just using simple command below:
First step is checking is the IP Forwarding already activated or not by enter command :
# sysctl net.ipv4.ip_forwardif the result is “net.ipv4.ip_forward = 0” which means that IP forwarding not active yet and you have to enable it using this command:
# sysctl -w net.ipv4.ip_forward=1Then the result will be showing “net.ipv4.ip_forward = 1” which means that IP Forwarding successfully activated
7. Upgrade Appliance
My experience in the LAB stuff, OpenNOP installer from this source isn’t working due to need to be upgraded, so we have to upgrade this appliance first with following steps :
- run: # zypper install perl
- run: # zypper install glibc-locale
- run: # zypper refresh
- run: # zypper dup
- run: # reboot
And we need to install additional software to this appliance, just install it with following run steps:
- run: # zipper install libnfnetlink-devel
- run: # zipper install libnetfilter_queue-devel
- run: # zypper install libnl-devel
For the first we need to setup and start the kernel module before starting service with the command below :
# service opennop setupNow we get OpenNOP already running in our appliance and also with Optimization traffic which through over it.
# modprobe opennopdrv
# service opennop start
To Stop OpenNOP service just enter commands:
# service opennop stop10. Verify
# rmmod opennopdrv
Let we verify that OpenNOP service was running on the appliance.
Ok, Have a lot of fun :)
Donny Achmadi,
(14 October 2014)
~ Spending my boring time ~
We have to select our appliances carefully to get value for money and avoid ending up with a worthless appliance which breaks down in less than a year of use!
ReplyDeleteYeeaa, you are right guys, if we have a lot of money, we should invest commercial WAN Opti appliance for ensure the performance and quality, i believe that money is talks :D
Deletebut i think this OpenNOP is another option for who doesn't have a money :)
That's a really good walkthrough on how to get OpenNOP setup and running. Please keep checking the site for updates. I have been trying to get some overdue features completed and build a new release soon.
ReplyDeleteCheckout the features and provide some feedback. Its a great motivator to know that others are actually trying OpenNOP.
https://sourceforge.net/p/opennop/feature-requests/?sort=_milestone%20asc
Thanks!
Hi Justin,
DeleteOk, Thank you for your information, let me checkout it first ..
IP address mentioned for both the interface is same, is that correct?.
ReplyDeleterun: # "zipper install libnfnetlink-devel" should be "zypper install libnfnetlink-devel"
run: # "zipper install libnetfilter_queue-devel" should be "zypper install libnetfilter_queue-devel"
Hi,
DeleteYaa, i mean like that, we run a command without "#"..
hashtag "#" is just like ordering of commands :)
I am not getting why eth0 and eth1 are given same IP. Is there any specific reason behind it.
DeleteHow should we configure other opennos?
Hi,
DeleteThank you for correction, sorry that is mistake when paste.
i just revised the detail of IP on eth, you can check.
since in this scenario we use L3 (routed), so two interfaces must be in different subnet.
Hi . good blog . but i have issue i planning to deploy this to my virtual lab my confuse its how can i pass traffic through OpenNOP my virtual lab winxp to switch layer 2 to OpenNOP to router and same thing to another site , and i need if possible configuration of OpenNOP . Thanks in advance :)
ReplyDeleteHi Mahmoud,
DeleteSorry for late respond.
Ok, i see what you want.. you just need to route your virtual LAB (WinXp) to OpenNop, or make your OpenNop as default gateway for your virtual LAB in order to make all traffic from WinXp through over OpenNop ..
But you need to use different subnet from your Local Router, like this :
10.10.10.2 (WinXp) --> 10.10.10.1 --Ethernet 1-- (OpenNop) --Ethernet 2-- 192.168.1.10 --> 192.168.1.1 (Router) --> Another Site / Internet.
And do the same with schema above for another site.
Cool.. nice share
ReplyDeletehi, i have tried your tutorial, but when i start opennopd i've got message says "[WCCP] Exiting wccp_epoller_timeout()", need your help to solve this, thank you
ReplyDeleteSir.
ReplyDeleteI have successfully compiled opennop on CentOs 7 and verified it working..
my issue yet is on local system (ServerA) i have one interface eth0 connected and i open pptp tunnel to another server (ServerB).
localNet > eth0(ServerA)>pptp <-------Internet----->pptp>(ServerB)Eth0>RemotNet
without opennop i route traffic back and forth through the eth0->pptp connection everything works fine
i installed (started opennopd and the kernel module) i still see traffic normally but nothing gets into opennop
Any Help would be appreciated