Projet

Général

Profil

NAT64DNS64 » Historique » Version 1

Fabien Dupont, 28/05/2012 21:00

1 1 Fabien Dupont
h1. Mise en place d'un LAN « IPv6 only » sous debian
2 1 Fabien Dupont
3 1 Fabien Dupont
h2. Principe
4 1 Fabien Dupont
5 1 Fabien Dupont
<pre>                                           DNS (dns64)
6 1 Fabien Dupont
                                            ________  
7 1 Fabien Dupont
                                           |==|=====| 
8 1 Fabien Dupont
                       ipv4.example.com    |  |     | 
9 1 Fabien Dupont
                  .----------------------->|  |     | 
10 1 Fabien Dupont
                  |                        |  |     | 
11 1 Fabien Dupont
                  |                        |  |     | 
12 1 Fabien Dupont
                  |                        |  |====°| 
13 1 Fabien Dupont
                  |                        |__|_____| 
14 1 Fabien Dupont
              ____   __                         |
15 1 Fabien Dupont
             |    | |==|                        |
16 1 Fabien Dupont
             |____| |  |<-----------------------'
17 1 Fabien Dupont
             /::::/ |__|  2001:910:109c:ffff::5be0:958e
18 1 Fabien Dupont
                  |
19 1 Fabien Dupont
                  |
20 1 Fabien Dupont
                  |                                                                         .--.               
21 1 Fabien Dupont
                  |                           .---.                                     _ -(    )- _           
22 1 Fabien Dupont
                  |                          /   /|                                .--,(            ),--.      
23 1 Fabien Dupont
                  |                         .---. |                            _.-(                       )-._ 
24 1 Fabien Dupont
                  '------------------------>|   | ' ------------------------->(           INTERNET            )
25 1 Fabien Dupont
           2001:910:109c:ffff::5be0:958e    |   |/          91.224.149.142     '-._(                     )_.-' 
26 1 Fabien Dupont
                                            '---'                                   '__,(            ),__'     
27 1 Fabien Dupont
                                            Routeur                                      - ._(__)_. -          
28 1 Fabien Dupont
                                            (nat 64)</pre>
29 1 Fabien Dupont
30 1 Fabien Dupont
h2. Installation/configuration de bind (DNS64)
31 1 Fabien Dupont
32 1 Fabien Dupont
DNS64 n'est supporté qu'à partir de debian « wheezy ».
33 1 Fabien Dupont
34 1 Fabien Dupont
<pre># cat 'APT::Default-Release "squeeze";' > /etc/apt/apt.conf.d/90default
35 1 Fabien Dupont
# cat 'deb http://apt.kafe-in.net:3142/debian wheezy main contrib' > /etc/apt/sources.list.d/wheezy.list
36 1 Fabien Dupont
# aptitude update
37 1 Fabien Dupont
# aptitude -t wheezy install bind9
38 1 Fabien Dupont
</pre>
39 1 Fabien Dupont
40 1 Fabien Dupont
La configuration se fait au niveau du groupe « options » :
41 1 Fabien Dupont
42 1 Fabien Dupont
<pre>options {
43 1 Fabien Dupont
(...)
44 1 Fabien Dupont
        listen-on-v6 { any; };
45 1 Fabien Dupont
        dns64 2001:910:109c:ffff::/96 {
46 1 Fabien Dupont
                clients { any; };
47 1 Fabien Dupont
                recursive-only yes;
48 1 Fabien Dupont
        };
49 1 Fabien Dupont
(...)
50 1 Fabien Dupont
}</pre>
51 1 Fabien Dupont
52 1 Fabien Dupont
h2. Installation/configuration de tayga (NAT64)
53 1 Fabien Dupont
54 1 Fabien Dupont
<pre># aptitude install tayga
55 1 Fabien Dupont
# echo << EOF > /etc/tayga.conf
56 1 Fabien Dupont
tun-device nat64
57 1 Fabien Dupont
ipv4-addr 192.168.255.1
58 1 Fabien Dupont
prefix 2001:910:109c:ffff::/96
59 1 Fabien Dupont
dynamic-pool 192.168.255.0/24
60 1 Fabien Dupont
data-dir /var/spool/tayga
61 1 Fabien Dupont
EOF
62 1 Fabien Dupont
# echo "net.ipv4.conf.all.forwarding=1" > /etc/sysctl.d/99forwarding
63 1 Fabien Dupont
# echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.d/99forwarding
64 1 Fabien Dupont
# sed -i -e 's/^RUN="no"/RUN="yes"/' /etc/default/tayga
65 1 Fabien Dupont
# /etc/init.d/tayga start</pre>
66 1 Fabien Dupont
67 1 Fabien Dupont
h2. Ajout d'un NAT entrée IPv4 vers IPv6
68 1 Fabien Dupont
69 1 Fabien Dupont
Le problème du « IPv6 only » dans le cas où l'on héberge un serveur (sur le LAN) est qu'il faut forwarder les requêtes venant d'une IPv4 vers le serveur qui écoute sur une IPv6.  
70 1 Fabien Dupont
Il semble compliqué de se contenter de ne recevoir les mails que via IPv6...
71 1 Fabien Dupont
72 1 Fabien Dupont
Tayga permet de « mapper » des IPv4 complètement virtuelles (utilisées sur aucune interfaces) vers des IPv6.  
73 1 Fabien Dupont
Admettons qu'on veut forwarder les requêtes entrantes sur le port TCP 25 dans l'interface eth0 vers l'IPv6 2001:910:109c:1::25.
74 1 Fabien Dupont
75 1 Fabien Dupont
<pre>
76 1 Fabien Dupont
# echo "map 192.168.255.25 2001:910:109c:1::25" >> /etc/tayga.conf
77 1 Fabien Dupont
# /sbin/iptables -t nat -A PREROUTING -p tcp --dport 25 -i eth0 --to 192.168.255.25:25 -j DNAT 
78 1 Fabien Dupont
# /sbin/iptables -A FORWARD -i eth0 -o nat64 -d 192.168.255.25 -p tcp --dport 25 -j ACCEPT
79 1 Fabien Dupont
# /sbin/ip6tables -A FORWARD -i nat64 -d 2001:910:109c:1::25 -p tcp --dport 25 -j ACCEPT
80 1 Fabien Dupont
# /etc/init.d/tayga restart</pre>