X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=doc%2Freadme.txt;h=35dfd87782f0894e160fc2c6c5b22417c09b6641;hb=59d014753ebead69ff378771ed161ab2656b6530;hp=e5b0b63d07c37eabc3b55279f80a729bb21a962b;hpb=01d9cb9b855e6fef9914dacc1eb4e7c83e510756;p=ipcontrol.git diff --git a/doc/readme.txt b/doc/readme.txt index e5b0b63..35dfd87 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -2,4 +2,35 @@ IPControl ========= -This is the first part of a project for stuff! \ No newline at end of file +the purpose of ip control is to be a all-consuming ip management solution. + +This include firewalling, address management, dns site-to-site vpn (openvpn) and dhcp.. + +this project will be the first attempt at using xmpp as a source for linux configuration management + +this project will essentially turn every linux box connected to the system into a firewall as all rules will be pushed to all boxes... i think... + +each box will have control over its ability to route and its interface ip addresses, but thats about it. + +Why? +==== + +Most of what im trying to do here has been spawned by ipv6. With ipv6 (and more importantly dual-stack ipv6/v4, which will become +common place) the need for a naming structure has become important. Also, the need to manage the address space has become even more +critical cause iana are giving ipv6 addresses like they're candy. + +Anyways, when trying to implement dual-stack you get stuck in a situation of having to re-work everything cause you create rules +for ipv4, then another set for ipv6. It gets more complicated by the fact that ipv6 gets a trillion ip's fore each host (ok so i am +exajurating, but what i mean is that you have possibly a real address and a link local address on each interface). + +So this software will try and think of everything in terms of names... for eg a host will have a name "host" and a network +might have a name "network", thus to define firewall rules we define either host->network, network->host, host->host or +network->network and then let the infrastructure turn the rules into valid iptables objects. + + +What we want to be able to do? +============================== +1) define a host as having dns, dhcp, dhcp-relay, vpn, ipv6, ipv4 +2) define networks (ipv6 and ipv4) +3) define hosts +4) connect them all via xmpp