Self Learner | Information Technology Enthusiast | Hamba Allah

My photo
Pribadi yang berdzikir itu : kalau bicara, bicaranya dakwah, diamnya berdzikir, nafasnya tasbih, matanya penuh ramat Allah, telinganya terjaga, pikirannya baik sangka, tidak suka sinis, pesimis dan tak suka memvonis. . dia tidak sibuk mencari kesalahan orang lain dan asik memperbaiki dirinya . . (Ust.Muhammad Arifin Ilham)

Tuesday, October 14, 2014

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 !

How to Install OpenNOP
These are a steps which you have to take for implementing OpenNOP as a WAN Optimizer in your organization, even it used with fully mesh topology, peer to peer or client server.

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)
If you have makesure that the hardware requirements already fixed so do these steps :

1. Download iso files from

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
  •  Setting IP Address eth1 : vi /etc/sysconfig/network/ifcfg-eth1
  •  Setting default gateway: vi /etc/sysconfig/network/routes
  •   Setting DNS (Name Server): vi /etc/resolv.conf
  •  Restart networking configuration: # service network restart
And verify all networking configuration, is it any improperly configuration?, or is all configuration already working fine ? test by ping to gateway

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)

Whatever step do you want to take to activate it, all of them are effective to do.

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_forward   
if 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=1
Then 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
8. Install dependencies module
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
 9. Start OpenNOP Service
For the first we need to setup and start the kernel module before starting service with the command below :
# service opennop setup
# modprobe opennopdrv
# service opennop start
Now we get OpenNOP already running in our appliance and also with Optimization traffic which through over it.

To Stop OpenNOP service just enter commands:
# service opennop stop
# rmmod opennopdrv
 10. Verify
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 ~


  1. 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!

    1. Yeeaa, 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
      but i think this OpenNOP is another option for who doesn't have a money :)

  2. 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.

    Checkout the features and provide some feedback. Its a great motivator to know that others are actually trying OpenNOP.


    1. Hi Justin,

      Ok, Thank you for your information, let me checkout it first ..

  3. IP address mentioned for both the interface is same, is that correct?.
    run: # "zipper install libnfnetlink-devel" should be "zypper install libnfnetlink-devel"
    run: # "zipper install libnetfilter_queue-devel" should be "zypper install libnetfilter_queue-devel"

    1. Hi,

      Yaa, i mean like that, we run a command without "#"..
      hashtag "#" is just like ordering of commands :)

    2. I am not getting why eth0 and eth1 are given same IP. Is there any specific reason behind it.
      How should we configure other opennos?

    3. Hi,
      Thank 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.

  4. 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 :)

    1. Hi Mahmoud,

      Sorry 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 : (WinXp) --> --Ethernet 1-- (OpenNop) --Ethernet 2-- --> (Router) --> Another Site / Internet.

      And do the same with schema above for another site.

  5. hi, 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

  6. Sir.
    I 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