ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, Réseaux, IPv6 derrière une freebox + routeur Linux

Free propose de l'IPv6. Par contre, petit hic, pour avoir une IPv6 il faut se brancher directement au cul de la freebox. Si vous êtes dans le cas où vous avez un routeur IPv4 Linux qui fait du NAT et que vous souhaitez attribuer des adresses IPv6 aux serveurs de votre DMZ la solution est ici..

Author : O.Romain.Jaillet-ramey

Prévoyance IPv6

ATTENTION : En activant la fonction IPv6 dans votre interface Free, il faut être conscient que chacun des postes connecté à la freebox seront directement accessible par InterNet et donc plus vulnérable. Nous prevoyons quelques lignes iptables pour fermer les portes de l'Ipv6

Installation du bridge

Commençons par télécharger les outils indispensables

Script avec 1 ligne

001aptitude install bridge-utils ebtables
Retirer les numéros de lignes

Ajoutons la règle (brouting) permettant d'utiliser le pont uniquement pour l'IPv6

Script avec 1 ligne

001ebtables -t broute -A BROUTING -p ! ipv6 -j DROP
Retirer les numéros de lignes

Créer le pont virtuel

Script avec 2 lignes

001brctl addbr br0
002ifconfig br0 up
Retirer les numéros de lignes

On intègre à ce pont les deux interfaces

Script avec 2 lignes

001brctl addif br0 eth0
002brctl addif br0 eth1
Retirer les numéros de lignes

Voilà un joli pont special IPv6

Les requêtes IPv6 passeront par notre bridge et les requêtes IPv4 utiliseront toujours la passerelle NAT :/

Sécurité des postes IPv6

Chaque poste derrière le routeur connecté à l'interface eth0 devrait avoir un firewall.
Par ex :

Script ip6tables

Créer le fichier vim /etc/init.d/firewall-ipv6 et attribuer lui le droits en execution chmod u+x /etc/init.d/firewall-ipv6

Script avec 39 lignes

001#!/bin/bash
002#####-------------------------- FONCTIONS ----------------------------######
003function policy()
004{
005	ip6tables -P INPUT 
006	ip6tables -P FORWARD 
007	ip6tables -P OUTPUT 
008}
009function firewall_ipv6()
010{
011	# firewall
012	ip6tables -P INPUT DROP
013	ip6tables -A INPUT -i lo -j ACCEPT
014	ip6tables -A INPUT -p icmpv6 -j ACCEPT
015	ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
016	ip6tables -A INPUT -m limit --limit 2/s -j LOG --log-prefix 'filter[INPUT6]: '
017}
018#####-------------------------- FONCTIONS ----------------------------######
019#####-------------------------- START / STOP ----------------------------######
020case "" in
021start|restart)
022	{content_text} stop
023	echo "{content_text} Starting"
024	policy DROP
025	
026	firewall_ipv6
027;;
028stop)
029	echo "{content_text} Stop"
030	ip6tables -F
031	ip6tables -Z
032	ip6tables -X
033	policy ACCEPT
034;;
035*)
036echo "usage : {content_text} (start|stop|restart)"
037;;
038esac
039#####-------------------------- START / STOP ----------------------------######
Retirer les numéros de lignes

ici on accepte le ping et on accepte tout ce qui sort. Utiliser la commande /etc/init.d/firewall-ipv6 start|stop|restart pour utiliser le firewall IPv6

Lister ip6tables pour voir la config

Script avec 1 ligne


001ip6tables -v -L
Retirer les numéros de lignes

Voilà vous avez de l'IPv6 chez vous. Essayez de faire un ping6 -I eth0 -c1 www.zw3b.fr d'un des clients cela devrait retourner une réponse ;)


<< InterNet Protocol v6 : déploiement IPs

IPv4 vs IPv6 priorité >>