JeremyM.dev

Creative

IPTables Web GUI Internship

At my South internship I worked on a project where we developed a WebGUI for IPTables for NFina. This was done using a LAMP stack.


I developed the log in system, storing users in our MySQL database. I also developed the page to enter a firewall rule and a host used for a dropdown in the firewall page. Initially I wrote this as a simple html page that submitted the form each time something was done. Eventually I improved this by separating out a rulesController and a rules page, each action on the page would make a ajax request to the controller which prevented any need for a restart.


We used jQuery on the front end to handle the ability for ajax calls, to use some nicety libraries such as drag and drop, zebra dialog, multiselect. I learned a lot about networking with this project, beforehand I did not really understand firewalls, ip addressing, subnets or anything regarding networks. This really solidified that knowledge and helped me practically apply it.