Posts tagged IPv6

Enable IPv6 on the Raspberry Pi

0

By default, Raspian comes unconfigured for IPv6. What a shame. To enable IPv6 support just follow these steps:

Enable the IPv6 kernel module by typing this in your shell:

sudo modprobe ipv6

Now, enable IPv6 by default after boot:

sudo echo "ipv6" >> /etc/modules

If needed, adjust your network configuration file by adding IPv6 here. Options are auto or dhcp. In my case, the modem acts as an IPv6 router (XS4ALL fiber). So adding this to the network options enabled DHCP:

sudo echo "iface eth0 inet6 dhcp" >> /etc/network/interfaces

Now reboot with:

sudo shutdown -rf now

 

Disable Teredo and ISATAP in Windows 7

0

I’ve just migrated the only Windows PC in home, used for running hamradio software. This used to be a Toshiba Satellite notebook but bought a Mac Mini last week and installed Bootcamp and WIndows 7. Since I’m using a Hurricane Electric IPv6 tunnel (tunnelbroker.net) at home, IPv6 will be auto-configured by my router. So no need to hav Teredo and/or ISATAP running. This is how to disable it:

Start a command prompt *as Administrator* and run:

netsh int ipv6 isatap set state disabled
netsh int ipv6 6to4 set state disabled
netsh int teredo set state disable

While your busy anyway you also want to disable the RFC4941 privacy extensions, hiding your real IPv6 address so your able to remotely log in to your PC without hassle:

netsh int ipv6 set privacy state=disabled store=active
netsh int ipv6 set privacy state=disabled store=persistent

Now reboot, start a command-box and type ipconfig. You only should see your Tunnelbroker.net IPv6 address (which can be set hard in the network configuration setting anyway)

Airport 6.1 update breaks IPv6

0

…or not. Apple released the v6.1 update for the Airport devices including Time Machine. Unfortunately this update ‘breaks’ IPv6 is you were using an Ipv6 tunnel via HE’s tunnelbroker.net. The fix is simple. Log in to both your Airport and the tunnelbroker.net website. On the last one you should look for your ‘Routed /64’ address. Fill this address in the ‘IPv6 Delegated Prefix’ field of your Apple Airport and IPv6 is back as before.

Apple Airport Extreme IPv6 configuration

IPv6 certified

0

Was ik zomaar vergeten dat ik nog een Hurricane Electric account had. Iedereen die iets met networking of IPv6 doet moet dit eigenlijk doen. Het is niet erg complex. Zet IPv6-ready nameservers op, zorg voor een goede Reverse DNS op je IPv6 mailserver en zorg dat je website via IPv6 beschikbaar is. Beantwoord daarna nog wat theoretische vragen over IPv6 en je behaald snel een score van boven de 1000 punten.

De maximaal te behalen score is 1500 punten. Voor ik deze heb gaat het nog even duren. Je moet dagelijks wat copy/pasta werk doen met de resultaten van een traceroute over IPv6, etc. Anyway: aanmelden HIER. Wie wordt mijn volgende collega die over de 1000 punten heen gaat?

HELP, CSF zegt: “IPv6 is fout!”

1

CSF firewall, een leuke tool die IPtables onder linux servers kan aansturen en waarbij je op DirectAdmin en Plesk servers ook nog een leuke grafische integratie hebt in je controlpanel. Een ideale tool voor mensen die simpel en makkelijk een firewall op de server willen installeren, zonder enige vorm van kennis.

Dit laatste punt is nu een probleem. In CFS zit een ‘check server security’ functie en een standaard CentOS + DirectAdmin installatie is verre van goed of veilig. Ik heb wel eens klanten die geen rootpassword hebben maar me wel een shared hostingpakket kunnen geven. Binnen 30 seconden hack ik die machines dan.

Een van de foutmeldingen in CSF die me verbaast is de melding die hij geeft over IPv6. Eigenlijk een waarschuwing, waarbij het advies gegeven wordt om IPv6 maar uit de kernel te slopen. WTF?! IPv6 komt eraan en snel ook. Wanneer je nog geen IPv6-adressen hebt moet je hard zeuren bij je provider. Volgens jaar waneer de IPv4-adressen op zijn, ontkom je er toch niet aan.

Ga dus niet IPv6 support uit de kernel slopen om het straks weer aan te zetten. Iedere Redhat (CentOS) 5 server heeft standaard een IPv6 local-link adre en dit kan weinig tot geen kwaad. Wat is dan wel de goede oplossing? In de speeltuin poste ik hem al: gebruik ip6tables om gewoon alle poorten te firewallen, al zal ik zelf het advies geven poort 53 open te laten zodat in ieder geval je DNS-server ook over IPv6 te bereiken is, zie deze post.

Goed, het scipt. Mocht je nog géén IPv6 adres van je provider gehad hebben, laat dat de regel met deze variabele (regel 3) weg. Hetzelfde geldt voor de regels waar deze variabele gebruikt wordt, in mijn voorbeeld is dit om alleen poort 22 (SSH) open te zetten.

#!/bin/sh
# My system IP/set ip address of server
SERVER_IP=" 2001:db8::1337"
# Flushing all rules
ip6tables -F
ip6tables -X
# Setting default filter policy
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
# Allow unlimited traffic on loopback
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
# Allow incoming ssh only
ip6tables -A INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
ip6tables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT

#ICMP errors and unreachables. Split out into subtypes.
# 4x subtypes of destination unreachable (type 1)
ip6tables -A INPUT -p icmpv6 --icmpv6-type no-route                   -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type communication-prohibited   -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type address-unreachable        -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type port-unreachable           -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type destination-unreachable      -j ACCEPT
#Type 2, packet too big
ip6tables -A INPUT -p icmpv6 --icmpv6-type packet-too-big               -j ACCEPT
# 2x subtype of time-exceeded (type 3)
ip6tables -A INPUT -p icmpv6 --icmpv6-type ttl-zero-during-transit    -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type ttl-zero-during-reassembly -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type time-exceeded                -j ACCEPT
# 3x subtype of parameter-problem (type 4)
ip6tables -A INPUT -p icmpv6 --icmpv6-type bad-header                 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type unknown-header-type        -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type unknown-option             -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type parameter-problem            -j ACCEPT
#Multicast listener query
ip6tables -A INPUT -p icmpv6 --icmpv6-type 130                          -j ACCEPT
#Multicast listener report
ip6tables -A INPUT -p icmpv6 --icmpv6-type 131                          -j ACCEPT
#Multicast listener done
ip6tables -A INPUT -p icmpv6 --icmpv6-type 132                          -j ACCEPT
#MLDv2 Multicast Listener Report RFC3810
ip6tables -A INPUT -p icmpv6 --icmpv6-type 143                          -j ACCEPT

# 4x subtypes of destination unreachable (type 1)
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type no-route                   -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type communication-prohibited   -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type address-unreachable        -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type port-unreachable           -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type destination-unreachable      -j ACCEPT
# Type 2, packet to big
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type packet-too-big               -j ACCEPT
# 2x subtype of  time-exceeded (type 3)
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type ttl-zero-during-transit    -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type ttl-zero-during-reassembly -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type time-exceeded                -j ACCEPT
# 3x subtype of parameter-problem (type 4)
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type bad-header                 -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type unknown-header-type        -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type unknown-option             -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type parameter-problem            -j ACCEPT
#Multicast listener query
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 130                          -j ACCEPT
#Multicast listener report
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 131                          -j ACCEPT
#Multicast listener done
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 132                          -j ACCEPT
#MLDv2 Multicast Listener Report RFC3810
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 143                          -j ACCEPT

# More and less necessary icmpv6 traffic
# type 128 : echo request
# type 129 : echo reply
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type echo-request -m state --state NEW,ESTABLISHED -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type echo-reply   -m state --state ESTABLISHED     -j ACCEPT
# type 133 : router solicitation
# type 134 : router advertisement.
# Not needed in case of a static next hop address.
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT
# 135 neighbour solicitation
# 136 neighbour advertisement
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type neighbour-solicitation  -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT
#Seen : Type 143:     MLDv2 Multicast Listener Report. , RFC3810.
#ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 143 -j ACCEPT
# DHCP : only checked on local segment. caveat in case of dhcp relay (reply).
# DHCP v6 : anycast to ff02::1:2 udp port 547
# Reply from link-local server adres to link-local client .
ip6tables -A OUTPUT -p udp -d ff02::1:2 --dport 547 -j ACCEPT
ip6tables -A INPUT  -p udp -s fe80::/10 --sport 547 -j ACCEPT

# ping
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-reply   -m state --state ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -m state --state NEW -j ACCEPT
# type 133 router solicitation
# type 134 router advertisement
# type 135 neighbour solicitation
# type 136 neighbour advertisement
#
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement     -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-solicitation   -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT

# make sure nothing comes or goes out of this box
ip6tables -A INPUT -j LOG
ip6tables -A INPUT -j DROP
ip6tables -A OUTPUT -j LOG
ip6tables -A OUTPUT -j DROP

Named op IPv6 laten luisteren

3

Vorige week probeerde één van mijn klanten een Frans .fr-domein te registreren en deze te delegeren naar mijn nameservers: ns1.ispi.nl (IPv4 en IPv6) en ns2.ispi.eu. Dit lukte niet, waardoor de klant contact met mij opnam. Hij stuurde een link van de foutmelding die AFNIC, de beheerder van de .fr-domeinen, hen stuurde. Daarin stond dat AFNIC geen toegang had tot poort 53 op het TCP protocol ip IPv6. (Ik laat nog maar even achterwege dat AFNIC helemaal geen toegang hoeft te hebben tot TCP omdat UDP voldoende moet zijn. TCP wordt enkel gebruikt voor recursion en AXFR. Beiden doe je zeker niet publiek met iedereen)

Ik kijk in het systeem. BIND/Named luistert standaard inderdaad niet op IPv6. Een regel in je named.conf lost dit echter op. Vergeet niet je nameserver te restarten. Mensen die DirectAdmin gebruiken  in combinatie met IPv6 moeten deze regel toevoegen aan hun configuratie.

listen-on-v6 {any; };

AFNIC blij, klant blij en ik blij. Al was het wel eventjes zoeken. Hij luistert nu wel netjes op zowel IPv4 als IPv6. En weer zijn we een stap dichterbij de volledige IPv6-ready status. Er staat best nog veel te gebeuren wil ik mijn deadline van Q2-2010 (infrastructuur) of Q3-2010 (alle services) halen.

[root@sv03 ~]# netstat -an | grep ':53'
tcp 0 0 212.79.254.236:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53      0.0.0.0:* LISTEN
tcp 0 0 :::53             :::*      LISTEN
udp 0 0 212.79.254.236:53 0.0.0.0:*
udp 0 0 127.0.0.1:53      0.0.0.0:*
udp 0 0 0.0.0.0:5353      0.0.0.0:*
udp 0 0 :::53             :::*
udp 0 0 :::5353           :::*

Named op alle IP’s laten luisteren is natuurlijk not done. Dat geldt voor iedere service. Zet je eigen goede IP-adres(sen) even in de configuratie. Ik ga dat hier niet doen omdat sommige n00bs systeembeheerders het dan 1:1 gaan copy/pasten en dat is natuurlijk niet de bedoeling.

Nieuwe netwerkverbindingen en meer IPv6

0

Goed nieuws vanuit Doetinchem: er zijn enkele nieuwe uplink providers geselecteerd die de komende jaren transitverkeer mogen leveren. Transitproviders zorgen ervoor dat internetpakketjes over de hele wereld gaan, anders dan bijvoorbeeld verkeer dat met KPN uitgewisseld wordt via de AMSterdam Internet eXchange. Nieuw zijn Tata Communications en NTT/Verio.

Tata Communications, eerder wel bekend als Videsh Sanchar Nigam Limited of VSNL, is een global transitprovider, maar twee zaken zijn kenmerkend: Goede ondersteuning voor IPv6 (Het ‘nieuwe’ Internet opdat eind 2010 alle IPv4 adressen – die jij en ik thuis gebruiken – op zijn) en een zeer sterke aanwezigheid in Indië, waar ze op meer dan 120 plekken aanwezig zijn. Dit mede omdat het hoofdkantoor van Tata in Mumbai, Indië gevestigd is.

NTT/Verio is een samenvoeging van NTT (Nippon Telegraph and Telephone Corporation) en Verio, een geconsilideerde verameling van 200 webhostingproviders in de Verenigde Staten. Zij kenmerkt zich door een sterke aanwezigheid in Japan (Of Azië in het algemeen) en naast geheel Europa de Verenigde Staten. Daarnaast zijn ze in vrijwel alle delen van Afrika, het Midden Oosten te vinden.

Het nieuwe netwerkkaartje met naast de nieuwe transitproviders ook de nieuwe glasvezelpaden richting Amsterdam die in gebruik genomen zijn en Equinix (voorheen Virtu) in Enschede die erop staat als back-up provider. Tom is nog vergeten een dubbel touwtje naar iedere server te tekenen, omdat iedere klantswitch ook een verbinding heeft naar beide coreswitches. En ik heb geen Visio geïnstalleerd staan en wil me niet nogmaals ten schande zetten met mijn paint-tekeningen. Versie 2.0 komt er dus ongetwijfeld snel aan.

netwerk

Door een goede verbinding naar deze landen, zal spam dus nog sneller binnen komen en worden de IPv6 verbindingen beter. Goed bezig, ISP Services! (Ik moest ISP er speciaal voor Wido van BIT in zetten, zodat hij deze post vanzelf in zijn mailbox krijgt. Wido, tot vrijdag bij de opening van jullie nieuwe datacentrum ;)).

VMware vSphere (ESX4) is arrived

3

I had to wait before I could test-drive the new VMware vSphere (ESX4) that follows up ESX3.5, also known as VMware Infrastructure that currently serves all my IT-environment in the datacenter. Today, UPS delivered the new HP Smart Array P400i 256Mb BWBC raid-controller so I could update my old P200i controller in a HP DL360G5, my testing box at home. Finally the raid-10 array is gone and replaced with araid-5 array, which holds up 5 146 Gbyte 10K RPM SAS SFF disks, which leaves one slot for the VMware hypervisor running on a 73 Gbyte 15K RPM SAS SFF.

After installation I saw a wanted new function: IPv6 support in the management interface. Since the IPv4 addresses are running out ISP’s have mayor problems in the near future. No IP-addresses means no servers, clients and connections. Another new cool feature is the support for USB devices in the virtual machine. It’s possible to attach a USB disk on the physical server that then connects to the virtual environment. Also, video memory and 3D acceleration is supported. I’ll test-drive Windows 7 RC in my new environment to see it the score will be higher this time.

esxi4_ipv6-ready

More new cool features are:
– Hot-add CPU cores
– Hot-add Memory
– VT Support in Guest OS (Testdrive ESX, Citrix Xenserver of Microsoft Hyper-V in ESX!)
– Thin provisioning of diskspace
– Vcenter finaly runs on Windows Server 2008
– More new features on the VMware website here

More next week. Since I don’t have a iSCSI SAN at home, I can only test the single-server ESXi version. There is also one cons: I have to update my VSP and VSTP skills for my certification. That will cost me about 2 days training.

Go to Top