Mot-clé - ipv6

Fil des billets

08juin 2011

World IPv6 Day, on y est !

Internet_Society

Suite à mon précédent billet World IPv6 Day le 8 Juin 2011, j'ai le plaisir de vous informer que mon blog est disponible en IPv6 depuis le début du mois. (2001:758:1106::1)

Pour rappel (de nouveau) et je cite Internet Society


« Le 8 Juin 2011, Google, Facebook, Yahoo!, Akamai, Limelight Networks feront partie des principales organisations qui offriront leur contenu sur IPv6 pour un test de 24 heures. L'objectif de cette journée est de motiver les organisations de toute l'industrie, les fournisseurs de services Internet, les fabricants de matériel, les fournisseurs de systèmes d'exploitation et les entreprises du web, à préparer leurs services pour IPv6 afin d’assurer une transition réussie, alors que les adresses IPv4 s'épuisent. »

Liens :



Bon IPv6 Day à tous.

18janv. 2011

World IPv6 Day le 8 Juin 2011

Internet_Society

A l'occasion du World IPv6 Day qui se déroulera le 8 Juin 2011 et afin d'apporter ma très modeste contribution (je ne vais pas me comparer au géant Google, Facebook, Yahoo!, Akamai, Limelight Networks) :

Je m'engage à ce que ce blog soit accessible en IPv6 à la date prévue pour 24h au minimum


Pour rappel et je cite Internet Society


« Le 8 Juin 2011, Google, Facebook, Yahoo!, Akamai, Limelight Networks feront partie des principales organisations qui offriront leur contenu sur IPv6 pour un test de 24 heures. L'objectif de cette journée est de motiver les organisations de toute l'industrie, les fournisseurs de services Internet, les fabricants de matériel, les fournisseurs de systèmes d'exploitation et les entreprises du web, à préparer leurs services pour IPv6 afin d’assurer une transition réussie, alors que les adresses IPv4 s'épuisent. »

Liens :

26juin 2010

Xen utilisation de l'IPv6 vif-route

Xen_logo.png
Mon bloc IPv6 étant enfin routé correctement, je me suis attelé à la configuration de ce dernier sur le Dom0 et DomU Xen.

Ma configuration Xen étant à l'origine en bridge et disposant d'un bloc routé vers mon serveur, j'ai donc dût basculer ma configuration Xen en mode route. (vif-route)

Bien entendu à l'instar du mode bridge, le mode route n'est pas compatible IPv6 ...
Voici deux patch à appliquer (compatible Xen-4) ainsi qu'un exemple de configuration (Gentoo).

1) Dom0


  • vif-common
--- vif-common.sh~      2010-04-07 18:12:04.000000000 +0200
+++ vif-common.sh       2010-06-26 23:08:38.000000000 +0200
@@ -14,7 +14,7 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
-
+# IPv6 Patched by Timeuhmeuh
 
 dir=$(dirname "$0")
 . "$dir/xen-hotplug-common.sh"
@@ -135,6 +135,17 @@
   ip addr show "$1" | awk "/^.*inet.*$1\$/{print \$2}" | sed -n '1 s,/.*,,p'
 }
 
+##
+# ip6_of interface
+#
+# Print the IPv6 address currently in use at the given interface, or nothing if
+# the interface is not up.
+#
+ip6_of()
+{
+        ip -6 addr show dev "$1" scope global | awk -F'[ |/]' '/inet6 (([0-9a-f]+:*)+)/ { print $6 } ' | awk '/::/ {print $1}'
+}
+
 
 ##
 # dom0_ip
@@ -156,3 +167,38 @@
   fi
   echo "$result"
 }
+
+##
+# dom0_ip6
+#
+# Print the IPv6 address of the interface in dom0 through which we are routing.
+# This is the IPv6 address on the interface specified as "netdev" as a parameter
+# to these scripts, or eth0 by default.  This function will call fatal if no
+# such interface could be found.
#
+dom0_ip6()
+{
+    local nd=${netdev:-eth0}
+    local result=$(ip6_of "$nd")
+    if [ -z "$result" ]; then
+        echo ""
+    else
+        echo "$result"
+    fi
+}
+
+##
+# is_ip6
+#
+# Verifing IPv6 address
+#
+is_ipv6()
+{
+case "$1" in
+    *:*:*)
+        echo "yes"
+        ;;
+    *)
+        echo ""
+esac
+}
  • vif-route
--- vif-route~	2010-04-07 18:12:04.000000000 +0200
+++ vif-route	2010-06-26 23:12:45.000000000 +0200
@@ -18,17 +18,24 @@
 # Read from the store:
 # ip      list of IP networks for the vif, space-separated (default given in
 #         this script).
+#
+# IPv6 Patched by Timeuhmeuh - http://blog.yacoubi.fr
 #============================================================================
 
 dir=$(dirname "$0")
 . "$dir/vif-common.sh"
 
 main_ip=$(dom0_ip)
+main_ip6=$(dom0_ip6)
 
 case "$command" in
     online)
+	log info "[vif-route] online request, ip ${ip} with main_ip ${main_ip} and main_ip6 ${main_ip6} for $vif."
         ifconfig ${vif} ${main_ip} netmask 255.255.255.255 up
-        echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
+	if [ ! -z "${main_ip6}" ]; then
+		ip -6 addr add ${main_ip6} dev ${vif}
+	fi
+	echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
         ipcmd='add'
         cmdprefix=''
         ;;
@@ -43,7 +50,16 @@
     # If we've been given a list of IP addresses, then add routes from dom0 to
     # the guest using those addresses.
     for addr in ${ip} ; do
-      ${cmdprefix} ip route ${ipcmd} ${addr} dev ${vif} src ${main_ip}
+	result=$(is_ipv6 "${addr}")
+	if [ -z "${result}" ] ; then
+		result=`${cmdprefix} ip route ${ipcmd} ${addr} dev ${vif} src ${main_ip} 2>&1`
+		log info "[vif-route] Result: ${result}"
+	else
+		log info "[vif-route] Adding IPv6 address ${addr} with src ${main_ip6} for $vif."
+	      result=`${cmdprefix} ip -6 route ${ipcmd} ${addr} dev ${vif} src ${main_ip6} 2>&1`
+		log info "[vif-route] Result: ${result}"
+	fi
+#      ${cmdprefix} ip route ${ipcmd} ${addr} dev ${vif} src ${main_ip}
     done 
 fi
  • /etc/conf.d/net
config_eth0=( "192.168.0.1/24" "2001:758:f00:340:192:168:0:12/64" "2001:758:5312::/48" )
  • /etc/xen/domU
vif = [ 'ip=2001:758:5312::2 192.168.0.10' ]

2) Dom0


  • /etc/conf.d/net
config_eth0=( "192.168.0.2/24" "2001:758:5312::2/48" )
routes_eth0=( "default gw 192.168.0.1" "default via 2001:758:5312::" )

Patch :


Lien utile : xen-and-routed-ipv6

15mars 2010

Xen utilisation de l'IPv6 en bridge

Xen_logo.png
Ayant obtenu un bloc IPv6 tout récemment, j'ai tenté de le configurer sur mon Dom0 Xen pensant que le billet Xen bridge IPv6 support suffirait.

Il n'en fut rien, Xen lors de l"initialisation du bridge ne traite aucunement la partie IPv6, j'ai donc développé un petit patch en m'appuyant sur la partie IPv4.

--- /etc/xen/scripts/network-bridge~	2008-06-03 14:50:29.000000000 +0100
+++ /etc/xen/scripts/network-bridge	2010-03-02 18:15:50.000000000 +0100
@@ -103,6 +103,8 @@
 get_ip_info() {
     addr_pfx=`ip addr show dev $1 | egrep '^ *inet ' | sed -e 's/ *inet //' -e "s/$1//"`
     gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'`
+    addr_pfx_6=`ip -6 addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet6 //' -e "s/$1//" | egrep -E ^2`
+    gateway_6=`ip -6 route show dev $1 | fgrep default | sed 's/default via //' | cut -d' ' -f1`
 }
 
 do_ifup() {
@@ -113,6 +115,18 @@
             ip addr add ${addr_pfx} dev $1
             ip link set dev $1 up
             [ -n "$gateway" ] && ip route add default via ${gateway}
+	fi
+    fi
+}
+
+do_ifup_6() {
+    if [ $1 != "${netdev}" ] || ! ifup $1 ; then
+       	if [ -n "$addr_pfx_6" ] ; then
+      		# use the info from get_ip_info()
+       		ip -6 addr flush $1
+	        ip -6 addr add ${addr_pfx_6} dev $1
+        	ip -6 link set dev $1 up
+            	[ -n "$gateway_6" ] && ip route add default via ${gateway_6}
         fi
     fi
 }
@@ -245,6 +259,7 @@
     fi
     add_to_bridge2 ${bridge} ${pdev}
     do_ifup ${bridge}
+    do_ifup_6 ${bridge}
 
     if [ ${antispoof} = 'yes' ] ; then
 	antispoofing
@@ -272,6 +287,7 @@
     ip link set ${bridge} name ${tdev}
     ip link set ${pdev} name ${netdev}
     do_ifup ${netdev}
+    do_ifup_6 ${netdev}
 
     brctl delbr ${tdev}
 }



Patch : xen-vif-bridge-ipv6.diff

15sept. 2009

Xen bridge IPv6 support

Xen_logo.png
A chaque mise à jour de Xen je me retrouve confronté à un bug causé par le support IPv6 compilé dans le kernel.
Ce petit bug est présent depuis près d'une année il sera peut être un jour corrigé, en attendant voici le patch à utiliser (ça m'évitera d'avoir à le rechercher la prochaine fois)

--- /etc/xen/scripts/network-bridge~	2008-06-03 14:50:29.000000000 +0100
+++ /etc/xen/scripts/network-bridge	2008-06-03 14:50:29.000000000 +0100
@@ -90,7 +90,7 @@
 tdev=tmpbridge
 
 get_ip_info() {
-    addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e "s/$1//"`
+    addr_pfx=`ip addr show dev $1 | egrep '^ *inet ' | sed -e 's/ *inet //' -e "s/$1//"`
     gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'`
 }



Patch : xen-vif-bridge-ipv6-225715.diff
Lien : Gentoo Bug 225715