Summary
hg Use ID
conntrackt is a Django application for documenting network connections in a project and for generating iptables rules for involved servers.
Download as zip
branko b4b79380b3d0
6 years ago
branko dde759cdde15
6 years ago
branko 632e4747042f
6 years ago
branko 6fe5a626d13d
6 years ago
branko 0f8c157ad6f0
6 years ago
branko ff99fef4e9a7
6 years ago
branko d7c64b3800af
6 years ago
branko fed3c9eee488
6 years ago
branko c8d79d2d0e3e
6 years ago
branko 421171af6c75
6 years ago

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:

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:

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:

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.