My solution for lab 4 of the CS144 computer networking class at Stanford. This required the creation of a NAT built on top of a software router.