network rc-scripts
"BeTa" <[email protected]> Fri, 4 Jul 2003 15:48:48 +0200 (CEST)
| Newsgroups | gmane.linux.zynot.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I'm the Zynot-IPv6 founder and I've plan in the roadmap a review of the
network rc-scripts. I've updated our main wiki page [
http://wiki.zynot.org/zynot/moin.cgi/ZynotIpv6 ] and written a draft about
this review [ http://www.e-glop.net/zynot/network-rcscripts.xhtml ]. You
would be able to modify or comment this document going on this wiki's page
[ http://wiki.zynot.org/zynot/moin.cgi/NetworkRcscriptsDraft ].
I add this here to be able to recieve comments also through this media :
- -- ---
A draft for network rc-scripts
Baptiste SIMON (aka BeTa)
e-glop.net
version 1.0
Copyright © 2003 Baptiste SIMON
July 2003, the 4th
This document's goal is to prepare and document the network
rc-scripts' development. Let's see what would happen.
_________________________________________________________
Table of Contents
1. Introducing the ideas
2. The needs
2.1. Basic level
2.2. IPv4 level
2.3. IPv6 level
2.4. More...
3. The concrete things
3.1. rc-scripts
3.2. Configuration file
4. Conclusion
5. The author
6. Annexes
6.1. This document other formats
6.2. Publication License
1. Introducing the ideas
Today, network rc-scripts are made to provide great IPv4
improvments. Tomorrow (but quite oftenly today) IPv6 would
come. And we have to provide great modular tools which can
support all those technologies at the same level.
The current rc-scripts are not modular at all. We have to hack
them to make an IPv6-only box's network running well. So The
goal of this document will be to explain where I'd like to see
the network rc-scripts go.
_________________________________________________________
2. The needs
The needs for network rc-scripts are, as said before, to
provide a modular approach of the matter.
_________________________________________________________
2.1. Basic level
At this level we only have to set up the needed interfaces. No
more necessities.
_________________________________________________________
2.2. IPv4 level
IPv4 needs are :
* Assigning an "evoluated" IPv4 (with the possibility to set
our own broadcast, network, etc... parameters) to an
interface
* Possibility to use DHCP
* Making "aliases" possible (eg. eth0:1)
* Setting whether the box would be a router or not
* Providing IP spoofing protections
_________________________________________________________
2.3. IPv6 level
IPv6 needs are :
* Assigning a "hard" stateless IPv6 address
* Possibility to use a stateful (DHCPv6) auto-configuration
* Setup the IPv6 native stateless auto-configuration
* Setting whether or not an interface can route datagrams or
not
_________________________________________________________
2.4. More...
We have not to reproduce the past errors by providing an
extended non-modular pool of tools. We don't know how would
tomorrow will evoluate...
_________________________________________________________
3. The concrete things
3.1. rc-scripts
We have to have a modular approach. I was first thinking about
:
* /etc/init.d/net.[interface] --> upping interfaces
* /etc/init.d/net.[protocol] --> setting up generalities on
protocol
* /etc/init.d/net.[interface].[protocol] --> enabling
[protocol] on [interface]. Depends on net.[interface] and
on net.[protocol]
* /etc/init.d/net --> set up or down all the network. It
depends on all the net.[interface].[protocol] rc-scripts.
I still don't know how we would be able implement it, but
maybe it would be set for eth0 by default (most case) and
editable to add things in its dependances (not for
novices). If you have a better idea for that, do not
hesitate to contact us or to mail [email protected].
_________________________________________________________
3.2. Configuration file
One big configuration seems to be ideal. Its syntax has to be
adaptable. It would contain this kind of parameters :
* IPv4 protocol
+ inet4_[interface] : IPv4 parameters (<address>
[broadcast <broadcast>] [netmask <netmask>])
+ inet4_[interface]_alias[<number>] : same as
"inet4_[interface]" but for aliases. The <number>
must be logically increasing from "1".
+ inet4_forwarding : list of IPv4 interfaces on which
enable forwarding
+ inet4_nospoof : list of IPv4 interfaces on which one
we would prevent IPv4 spoofing
+ inet4_gateway : the IPv4 gateway parameter
(<dev>|<address>)
* IPv6 protocol
+ inet6_[interface] : IPv6 stateful "hard" parameters
(<address>/<mask>)
+ inet6_autoconf : list of IPv6 interfaces on which one
we would enable stateless auto-configuration
+ inet6_forwarding : list of IPv6 interfaces on which
enable forwarding
+ inet6_gateway : the IPv6 gateway parameter
(<dev>|<address>/<mask>)
The idea is :
* Everything which can be treated globally is treated as so
(if we would treat every interface independently, it would
be more tweakable but also really more difficult to deploy
well).
* Everything which HAVE TO be treated interface by interface
is treated as so (no other possibility ;c).
_________________________________________________________
4. Conclusion
Writing this doc before coding has made clear to me that there
would be many points of comments here. So you might see that
paper as a request for comments. So please, feel free to
comment out this doc on [ http://www.zynot.org/ ] or by mail
_________________________________________________________
5. The author
Baptiste SIMON <[email protected]>
Administrateur système GNU/Linux
Zynot-IPv6 team funder
Looking for an employment
_________________________________________________________
6. Annexes
6.1. This document other formats
This document has been writen in RST with KWrite and then
converted into DN-XML and Docbook with dn2dbk.xsl.
The XHTML, HTML and XSL-FO versions have been created with the
official DocBook XSLT stylesheet [1]. The PDF, Postscript, RTF
and plain text versions have been create with Jade.
Find all those formats here :
* XHTML
* HTML
* PDF
* postcript
* Texte brut
* RTF
* reStructuredText
* DocBook - XML
* DN-XML
* XSL-FO
_________________________________________________________
6.2. Publication License
This document from www.e-glop.net or www.ipv6.e-glop.net is
published under the Open Publication License. Permission is
granted to copy, distribute and/or modify this document under
the terms of the Open Publication License version 1.0.
Notes
[1] The app-text/docbook-xsl-stylesheets package on Gentoo-Linux
- -- ---
nb: the power of DocBook used easily ;c)
I'm not supposed to be really skilled in that kind of stuff but I want to
do it. So please, feel free to comment or modify this doc (under the terms
of the license of course ;cb).
Best regards,
--
Baptiste SIMON
aka BeTa
Administrateur Système GNU/Linux & Unix
3, av. de la Calypso
44000 Nantes
06 75 79 28 48