Projet de mutualisation ipv4 chez tetaneutral:¶
Quand vraiement y'a besoin de joindre quelque chose en ipv4 sur une machines en ipv6 only:¶
Crée un ssh sockproxy pour 10 minutes et lance une commande:
root@chiliproject:~# ssh -Tf -D9999 h2 -p 2222 sleep 10m root@chiliproject:~# tsocks ma_super_command_qui_as_besoin_de_ipv4
Ka configuration de tsocks est faite par la class "tsocks" de notre puppet sur les machines ipv6 only
puppet¶
dans /etc/network/interfaces, suppresion ipv4, changement ipv6 pour 2a01:6600:8081:ce03::1/64
relay puppet (8140)¶
sur www, ajouter dans le /etc/rc.local
nohup socat TCP4-LISTEN:8140,fork,su=nobody TCP6:puppet.tetaneutral.net:8140 &
grenode¶
grenode est ipv4 only or puppet est ipv6
chiliproject¶
config réseau¶
dans /etc/network/interfaces, suppresion ipv4, changement ipv6 pour 2a01:6600:8081:ce02::1/64
Reverse proxy http v4 vers le http de chiliproject en v6, sur www.tetaneutral.net¶
ajout de /etc/apache2/sites-available/chiliproject.tetaneutral.net:
<VirtualHost *:80> ServerAdmin webmaster@tetaneutral.net ServerName chiliproject.tetaneutral.net ServerAlias git.tetaneutral.net ProxyPreserveHost On ProxyRequests off ProxyPass / http://chiliproject6.tetaneutral.net/ ProxyPassReverse / http://chiliproject6.tetaneutral.net/ CustomLog /var/log/apache2/chiliproject.tetaneutral.net-access.log combined </VirtualHost>
taper
a2enmod proxy_html proxy a2ensite chiliproject.tetaneutral.net /etc/init.d/apache2 reload
Configuration du relay sur lists¶
Ajout d'un relay smtp ipv4 vers ipv6 (relay_domain), dans /etc/postfix/main.cf
relay_domains = lists.tetaneutral.net, chiliproject.tetaneutral.net
Ajout d'un transport pour ce domain /etc/postfix/transport
chiliproject.tetaneutral.net smtp:[chiliproject6.tetaneutral.net]:25
Reload de postfix
postmap /etc/postfix/transport ; /etc/init.d/postfix reload
utiliser lists comme relay smtp pour chiliproject:¶
sur chiliproject, dans /etc/postfix/main.cf
relayhost = smtp.tetaneutral.net
relay git(ssh)¶
sur www, ajouter dans le /etc/rc.local
nohup socat TCP4-LISTEN:22,fork,su=nobody TCP6:chiliproject6.tetaneutral.net:22 &
mettre l'ipv4 du client de www dans les logs apache de chiliproject¶
sur chiliproject dans /etc/apache2/conf.d/forwarder
LogFormat "%v:%p %h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %O" common
c'est le format de log apache par défault avec le header X-Forwarded-For entre parenthese
le header X-Forwarded-For est un header ajouter par www en mode reverse proxy pour informer le server web suivant de la vrai ip du client
mise à jour du DNS:¶
L'enregistrement A pointe vers la machine qui sert de relay (www, lists)
et l'enregistrement AAAA pointe vers la machine chiliproject
chiliproject IN A 91.224.149.206 ; www chiliproject IN AAAA 2a01:6600:8081:ce02::1 chiliproject4 IN A 91.224.149.206 ; www chiliproject6 IN AAAA 2a01:6600:8081:ce02::1 chiliproject-mx IN A 91.224.149.207 ; lists chiliproject-mx IN AAAA 2a01:6600:8081:ce02::1 ; lists chiliproject IN MX 1 chiliproject-mx.tetaneutral.net.
pano/celutz¶
dans /etc/network/interfaces, suppresion ipv4, changement ipv6 pour 2a01:6600:8081:ce04::1/64
Reverse proxy http v4 vers le http de chiliproject en v6, sur www.tetaneutral.net¶
ajout de /etc/apache2/sites-available/pano.tetaneutral.net:
<VirtualHost *:80> ServerAdmin webmaster@tetaneutral.net ServerName pano.tetaneutral.net ServerAlias celutz.tetaneutral.net ServerAlias tsf2.tetaneutral.net ServerAlias carto.tetaneutral.net ProxyPreserveHost On ProxyRequests off ProxyPass / http://pano6.tetaneutral.net/ ProxyPassReverse / http://pano6.tetaneutral.net/ CustomLog /var/log/apache2/pano.tetaneutral.net-access.log combined </VirtualHost>
taper
a2enmod proxy_html proxy a2ensite pano.tetaneutral.net /etc/init.d/apache2 reload
Mise à jour DNS:¶
pano IN A 91.224.149.206 pano IN AAAA 2a01:6600:8081:ce04::1 pano6 IN AAAA 2a01:6600:8081:ce04::1 celutz IN CNAME pano.tetaneutral.net. tsf2 IN CNAME pano.tetaneutral.net. carto IN CNAME pano.tetaneutral.net.
Quelques notes additionnels¶
Ajout de "flags ipv6" pour /etc/xinetd.d/check_mk dans puppet pour avoir checkmk qui marche en ipv6 only
Mettre le tag 'ipv6_only' si besoin dans /etc/checkmk/main.mk pour les hosts qui n'ont plus de ipv4
Changement dans puppet de l'ip de ttnnlog vers l'ipv6 de h2 (/etc/puppet/manifests/common.pp)
Changement dans puppet du resolver par défault pour mettre l'ipv6 seulement (ie: dans la classe ttnn::server, resolver => "default6" )
Aprés suppression de l'ipv4 public, certain services peut avoir à être redémarré (ie: ntp)