Bundle radvd

This commit is contained in:
Daniel STAN 2014-07-12 12:50:36 +02:00
parent d8c2414b4d
commit 9163bc5d20
4 changed files with 68 additions and 0 deletions

5
Bundler/radvd.xml Normal file
View file

@ -0,0 +1,5 @@
<Bundle name="radvd" version="2.0">
<Python name="/etc/radvd.conf"/>
<Service name="radvd" />
<Package name="radvd"/>
</Bundle>

View file

@ -1370,6 +1370,9 @@
<!-- TODO: a implémenter -->
</Group>
<Group name="radvd">
<Bundle name="radvd" />
</Group>
<Group name="aiccu">
<!-- TODO -->

57
Python/etc/radvd.conf Normal file
View file

@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-
info["owner"] = "root"
info["group"] = "root"
info["perms"] = 0644
include("ip")
comment_start = "#"
header("Annonce des routes IPv6")
rec = [
'2a01:240:fe3d:4:ea39:35ff:fef0:48c8', # Charybde
'2a01:240:fe3d:4:f46f:f1ff:fe78:57ab', # nem
]
# Pour plus tard:
# rec = ips_of_metadata(metadata.query.by_groups(['dns-recursif'] ), vlan='adh')
# Prob actuel: charybde n'apparaît pas dans cette requête car il ne présente
# pas son ipv6 dans son ndd.
rec_tpl = ""
for ip in rec:
if ':' not in ip:
continue
rec_tpl += """
RDNSS %s {
AdvRDNSSOpen on;
AdvRDNSSPreference 2;
};
""" % ip
#rec_tpl += '# %r' % metadata.query.by_groups('dns-recursif')
def router_adv(**kw):
kw['rec'] = rec_tpl
print """
interface %(iface)s
{
AdvSendAdvert on;
AdvLinkMTU 1280;
AdvDefaultPreference high;
prefix %(prefix)s {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
# Les récursifs:\n %(rec)s
};
""" % kw
# NOTE: Je met \n parce qu'un "%" en début de ligne est remplacé par bcfg2 …
router_adv(iface='crans', prefix='2a01:240:fe3d:4::/64')
router_adv(iface='crans.3', prefix='2a01:240:fe3d:c04::/64')

3
Rules/radvd.xml Normal file
View file

@ -0,0 +1,3 @@
<Rules priority="1">
<Service type="deb" name="radvd" status="on"/>
</Rules>