This is the project for the USTC course CS05112, which was finished in 2015 fall semester.
Create a fully functional layer-2 Firewall application using Pyretic
Objective: Implement a layer 2 firewall that runs alongside the MAC learning module on the Pyretic runtime
- Pyretic runtime system
- Verify Hub behavior with tcpdump
- Verify Switch behavior with tcpdump
- Understand pyretic_hub.py and pyretic_switch.py
Firewall:
- pyretic_firewall.py: a skeleton class which you will update with the logic for installing firewall rules.
- firewall-policies.csv: a list of MAC pairs (i.e., rules) read as input by the firewall application. These pairs are the hosts can’t communicate with each other.
- You can provide the firewall rules in firewall-policies.csv and read it into the main function
- Rules are decided by you!
- These 2 files can be downloaded on the course webpage