Projet

Général

Profil

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)