.. Copyright (C) 2013 Branko Majic This file is part of Django Conntrackt documentation. This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. About Django Conntrackt ======================= Django Conntrackt is a simple application targeted at system administrators and integrators that deploy servers at client's premises that need a way to keep track of required network connectivity. Application allows tracking of required network communications between different servers, routers, client workstations, and even whole networks/sub-networks. In addition to keeping track of connections, the application has the ability to generate simple *iptables* rules based on the connections specified. The generated rules can be easily applied using the *iptables-restore* utility. At time of this writing, Django Conntrackt is compatible with the following Django and Python versions: - *Python 2.7.x* - *Django 1.11.x* In addition, *Django Conntrackt* uses the following external dependencies: - `Graphviz `_ Why was this application created? --------------------------------- The application was created in order to alleviate painful and error prone tracking of IP addresses and network communications inside of spreadsheet files. Another reason was the need to create simple iptables rules based on this information with as little hassle as possible. The *iptables* generation requirements for Django Conntrackt were farily simple, and do not include any complex functionality. It all boils down to rejecting all communication except for explicitly defined links. Features -------- Django Conntrackt sports a number of useful features for system administrators and integrators: * Managing entities through multiple projects (separating the entities per-project basis). * Grouping entities inside of a project in one or more locations (which can be either logical or physical). * Specifying entities that represent servers, routers, workstations, networks, subnets or any other networked device or abstraction within a network. * Specifying multiple network interfaces for each entity. * Specifying the communication link between two entities, which includes information such as protocol and port. * Generation of *iptables* rules for devices based on GNU/Linux that can be consumed by the *iptables-restore* utility. * Generation of *iptables* rules on per-location/project basis (multiple *iptables* rule files inside of a single *ZIP* file). For more information, please have a look at full documentation at one of the following websites: * https://django-conntrackt.readthedocs.io/ License ------- Django Conntrackt *application* is licensed under the terms of GPLv3, or (at your option) any later version. You should have received the full copy of the GPLv3 license in the local file **LICENSE-GPLv3**, or you may read the full text of the license at: * http://www.gnu.org/licenses/gpl-3.0.txt Django Conntrackt *documentation* is licensed under the terms of CC-BY-SA 3.0 Unported license. You should have received the full copy of the CC-BY-SA 3.0 Unported in the local file **LICENSE-CC-BY-SA-3.0-Unported**, or you may read the full text of the license at: http://creativecommons.org/licenses/by-sa/3.0/ The following third-party libraries are included as part of Django Conntrackt, but are distributed under their own license: - Bootstrap (sub-directory **conntrackt/static/bootstrap**), under Apache License v2.0. - jQuery (file **conntrackt/static/jquery-min.js**), under MIT License.