.. 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 <https://graphviz.org/>`_
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.