PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenVZ mit nativen /64 ipv6 in VE



trineC
08.04.09, 07:48
Hallo,

ich habe eine natives ipV6 Netz, welches ich in den VEs auf einem OpenVZ Server nutzen möchte. Der Kernel des Servers wurde selbst compiliert und ist natürlich ipV6 kompatibel. Auf dem HW läuft ipv6 problemlos, während in den VEs nur ein Ping zum HW ankommt. Außerhalb meines /64 Netzes geht dann leider nichts mehr. Auf der ipv4 Ebene läuft alles problemlos.

IP Netz: 2001:41D0:2:3941::/64

HW:
System: Debootstrapped - Debian Lenny
Kernel: Linux majestix.trinec.de 2.6.26.8-srv-ipv6-trinec #1 SMP Mon Apr 6 19:10:08 UTC 2009 i686 GNU/Linux
/etc/sysctl.conf:


# OpenVZ ipv4 und ipv6
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1
net.ipv6.conf.all.forwarding = 1

/etc/vz/vz.conf:

cat /etc/vz/vz.conf
## Global parameters
VIRTUOZZO=yes
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
VE0CPUUNITS=1000

## Logging parameters
LOGGING=yes
LOGFILE=/var/log/vzctl.log
LOG_LEVEL=0
VERBOSE=0

## Disk quota parameters
DISK_QUOTA=yes
VZFASTBOOT=no

# The name of the device whose ip address will be used as source ip for VE.
# By default automatically assigned.
#VE_ROUTE_SRC_DEV="eth0"

# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=all

## Template parameters
TEMPLATE=/var/lib/vz/template

## Defaults for VEs
VE_ROOT=/var/lib/vz/root/$VEID
VE_PRIVATE=/var/lib/vz/private/$VEID
CONFIGFILE="vps.basic"
#DEF_OSTEMPLATE="fedora-core-4"
DEF_OSTEMPLATE="debian"

## Load vzwdog module
VZWDOG="no"

## IPv4 iptables kernel modules
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"

## Enable IPv6
IPV6="yes"

## IPv6 ip6tables kernel modules
IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"

ifconfig:


ifconfig
eth0 Link encap:Ethernet Hardware Adresse 00:1c:c0:a8:2d:a5
inet Adresse:94.23.56.65 Bcast:94.23.56.255 Maske:255.255.255.0
inet6-Adresse: fe80::21c:c0ff:fea8:2da5/64 Gültigkeitsbereich:Verbindung
inet6-Adresse: 2001:41d0:2:3941::2/64 Gültigkeitsbereich:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:39822 errors:0 dropped:4109568697 overruns:0 frame:0
TX packets:25875 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:48424664 (46.1 MiB) TX bytes:8548918 (8.1 MiB)
Interrupt:220 Basisadresse:0x6000

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

venet0 Link encap:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6-Adresse: fe80::1/128 Gültigkeitsbereich:Verbindung
UP BROADCAST PUNKTZUPUNKT RUNNING NOARP MTU:1500 Metrik:1
RX packets:212 errors:0 dropped:0 overruns:0 frame:0
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:21461 (20.9 KiB) TX bytes:3844 (3.7 KiB)


route -6:


Kernel-IPv6-Routentabelle
Destination Next Hop Flag Met Ref Use If
::1/128 :: Un 0 1 2 lo
2001:41d0:2:3941::/128 :: Un 0 1 0 lo
2001:41d0:2:3941::/128 :: Un 0 1 0 lo
2001:41d0:2:3941::2/128 :: Un 0 1 6 lo
2001:41d0:2:3941::3/128 :: Un 0 1 0 lo
2001:41d0:2:3941::3/128 :: U 1024 0 0 venet0
2001:41d0:2:3941::/64 :: U 256 0 0 eth0
2001:41d0:2:3941::/64 :: U 256 0 0 venet0
2001:41d0:2:3900::/56 :: U 1 0 1 eth0
2000::/3 2001:41d0:2:39ff:ff:ff:ff:ff UG 1 0 182 eth0
fe80::/128 :: Un 0 1 0 lo
fe80::1/128 :: Un 0 1 0 lo
fe80::1/128 :: U 256 0 0 venet0
fe80::21c:c0ff:fea8:2da5/128 :: Un 0 1 21 lo
fe80::/64 :: U 256 0 0 eth0
fe80::/64 :: U 256 0 0 venet0
ff00::/8 :: U 256 0 0 eth0
ff00::/8 :: U 256 0 0 venet0
::/0 :: !n -1 1 2 lo




Adresse der VE gesetzt mit:
vzctl set 101 --ipadd 2001:41d0:2:3941::3 --save

Leider komm ich weder außerhalb des /64 auf die ::3 drauf, noch komm ich von der ::3 raus aus dem /64. Das setzen der route/gw brachte leider auch keinen Erfolg:


route -A inet6 add 2001:41D0:2:3900::/56 dev eth0
route -A inet6 add 2000::/3 gw 2001:41D0:2:39FF:FF:FF:FF:FF dev eth0


Normale route -6 in der VE:


Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
::1/128 :: Un 0 1 1 lo
::1/128 :: Un 0 1 0 lo
::1/128 :: U 256 0 0 venet0
2001:41d0:2:3941::3/128 :: Un 0 1 2 lo
fe80::/64 :: U 256 0 0 venet0
ff00::/8 :: U 256 0 0 venet0
::/0 :: U 256 0 0 venet0
::/0 :: !n -1 1 1 lo


Wo hab ich den Fehler? :ugly:

Stormbringer
08.04.09, 10:08
Ist der Router ipV6 tauglich?


Dual-Stack
Bei diesem Verfahren werden allen beteiligten Schnittstellen neben der IPv4-Adresse zusätzlich mindestens eine IPv6-Adresse und den Rechnern die notwendigen Routinginformationen zugewiesen. Die Rechner können dann über beide Protokolle unabhängig kommunizieren. Dieses Verfahren sollte der Regelfall sein, es scheitert derzeit oft daran, dass einige Router auf dem Weg zum IPv6-Internet noch keine IPv6-Weiterleitung eingeschaltet haben oder unterstützen.

Quelle (http://de.wikipedia.org/wiki/IPv6#Dual-Stack)

btw: der von Dir genutzte ipV4-Bereich ist in Frankreich vergeben:


% Information related to '94.23.0.0 - 94.23.63.255'

inetnum: 94.23.0.0 - 94.23.63.255
netname: OVH
descr: OVH SAS
descr: Dedicated Servers
descr: http://www.ovh.com
country: FR
admin-c: OK217-RIPE
tech-c: OTC2-RIPE
status: ASSIGNED PA
mnt-by: OVH-MNT
source: RIPE # Filtered

role: OVH Technical Contact
address: OVH SAS
address: 140, Quai du Sartel
address: 59100 Roubaix
address: France
admin-c: OK217-RIPE
tech-c: GM84-RIPE
nic-hdl: OTC2-RIPE

trineC
08.04.09, 17:27
Hallo,

danke fürs Feedback ;)
Naütrlich machen die Router ipv6, da ich produktiv ipv6 schon längere Zeit einsetze. Wie auch gesagt, geht alles auf dem Host Node problemlos.


ping6 ipv6.google.com
PING ipv6.google.com(2001:4860:a003::68) 56 data bytes
64 bytes from 2001:4860:a003::68: icmp_seq=1 ttl=54 time=23.1 ms
64 bytes from 2001:4860:a003::68: icmp_seq=2 ttl=54 time=23.3 ms
64 bytes from 2001:4860:a003::68: icmp_seq=3 ttl=54 time=22.3 ms
64 bytes from 2001:4860:a003::68: icmp_seq=4 ttl=54 time=23.1 ms


Ja, die Server stehen in Frankreich, wie die desc schon richtig beschreibt:
descr: Dedicated Servers

trineC
15.04.09, 14:19
Falls jemand anderes danach noch suchen sollte... Die Lösung für das Problem liegt in der ipv6 Proxy-Nighbour discovery, dies wird bei OpenVZ nicht richtig beachtet. Nach folgendem Zweizeiler lief alles problemlos:



echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp
ip -6 neigh add proxy 2001:41d0:2:2705::2 dev venet0

mr.x
26.10.10, 11:26
Beitrag gelöscht!

hat sich erledigt :-)