crans_bcfg2/Python/etc/radvd.conf
2014-07-12 12:50:36 +02:00

57 lines
1.2 KiB
Text

# -*- 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')