Is there a way to program the Ethernet Shield and Uno R3 to act as a firewall without using a huge chunk of the allowed bytes on the R3? I plan on using a DC adapter to plug the R3 into a wall, and use the mini-SD card to keep logs while having the ethernet shield plugged into my router.

I know that it is possible to program it to do this but I want to know if there is a simple modification I can make to the web-client library or if I should use the web-server library and modify that?

  • 2
    You're going to be very, very, very unhappy if you use an Uno as a firewall. It simply isn't powerful enough. Feb 9 '15 at 5:22
  • Not to mention that after adding the Ethernet shield, it costs more than things which are powerful enough. Feb 9 '15 at 5:46
  • it is mostly an experiment, as I have other firewalls in place....
    – user7188
    Feb 9 '15 at 6:06
  • Statefull packet inspection would probably require more memory than the atmega has. I'd suggest looking into reflashing some router with OpenWRT. That was a great learning experience for me.
    – Gerben
    Feb 9 '15 at 15:02

As an entry level board, I wouldn't suggest trying this on the R3. You can do it to an extent on the Yun which comes with both a network port and wifi.

Now that said, your internet speed will be severely hampered by the lack of resources on the yun. In which case, you might want to steer closer to the Intel Edison, which you can use with the arduino IDE. It is considerably more powerful.

  • Either one will still cost 2-3x what a platform designed for this purpose does. If you want the challenge of do-it-yourself you can take your typical router, strip open/dd-wrt down to a bare embedded linux pre-ported to the hardware, and rebuild the routing/filtering configuration atop that from scratch. Generally speaking, you want a board with two network interfaces for a firewall, as otherwise you are relying on the wan adapter and clients to behave by talking through you and not simply bypass you as they potentially could in a single-interface case (if misconfigured/compromised). Feb 9 '15 at 21:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy