If you are using Arduino (or any other TTL device) to control 4 channel relays or more, I would suggest to use ULN2803 Line Driver instead of Transistors or FETs. You can use ULN2003 which is much more cheaper if you plan to use not more than 7 channel relays.
The ULN2803 Integrated Circuit (IC) is a "Eight-way Line Driver". It allows you to interface TTL signals (5v) with higher voltage/current (50V/500ma) loads.
As shown in figure 1 and figure 2, an Arduino is control 8 relays, one using ULN2803 line driver and the other one using transistors, both circuit are equivalent.
If you are considering to test OpenWRT without a router or you don’t want to flash the router firmware over and over again. Here is the right place for you.
OpenWRT in VirtualBox is an image file run in VirtualBox. By the time I write this article, the VirtualBox & OpenWRT image version are Ver 4.1.20 and 10.03.1 respectively.
Dynamic DNS allows that your router can be reached with a fixed hostname while having a dynamically changing IP address.
Dynamic DNS is a must if you want to control your devices/network over the internet with dynamic IP address in your Local Area Network. Read this article for more about Dynamic DNS and Port Forward.
OpenWRT come with a package called luci-app-ddns but is not install by default. We must install the luci-app-ddns package in order to enable the Dynamic DNS service.