The problem we trying to solve in our case is unsafe INTERNET browsing and poor INTERNET access speeds. The solution that we will be implementing will be Squid proxy server positioned on internal network and providing caching as well as filtering for all internal clients requests.
A proxy server is a computer system positioned between the client requesting a web document and the target server. In its simplest form, a proxy server facilitates communication between client and target server without modifying requests or replies. In our case we will be implementing a proxy server that can filter requests based on various rules and will allow communication only when requests can be validated against the available rules. The rules are generally based on an IP address of a client or target server, protocol, content type of web documents, web content type, and so on.
OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds. Backed by some of the biggest companies in software development and hosting, as well as thousands of individual community members, many think that OpenStack is the future of cloud computing. OpenStack is managed by the OpenStack Foundation, a non-profit that oversees both development and community-building around the project.