Archive for ◊ August, 2009 ◊

IPv6 Part III: Linux Routing
Friday, August 21st, 2009 | Author:

[Part I]
[Part II]

Clientul este un Linux box. Legătura la Internet este prin eth1, interfață peste care se face tunelul 6to4.

După ce am creat tunelul, am aflat că pot cere o clasă de IPv6 să fie routată prin IP-ul meu v6. Astfel, mi-a fost alocată rețeaua 2001:470:9f00::/48 ( 1208925819614629174706178 adrese adică adică aproximativ 1 milion de miliarde de miliarde de adese), pe care am început să o subnetez.

Prima rețea am alocat-o rețelei de pe eth1 (uplink-ul la Internet, precum și legătura cu alte servere locale). Pentru ușurință în denumire, am ales rețeaua 2001:0470:9f00:0141:0085:0037:0208::/112, adresă obținută prin o concatenare (la nivel de notație) a adresei IPv6 /48 alocate cu adresa IPv4/24 (141.85.37.208). Atenție, valorite în binar sunt total diferite, pentru că adresa IPv6 conține cifre în hexadecimal și IPv4 în decimal.

Configurație prin /etc/network/intefaces:

iface eth1 inet6 static
address 2001:0470:9f00:0141:0085:0037:208:1
netmask 112

Routarea IPv6 nu este implicit activată, și pachetele nu vor trece dintr-o rețea în cealaltă. Pentru aceasta, trebuie modificat fișierul /etc/sysctl.conf și decomentată (sau adăugată) linia:
net.ipv6.conf.all.forwarding=1
urmată de un restart a sysctl
sysctl -p

În continuare am alocat o altă rețea /112 pentru tunelul VPN peste care am o rețea IPv4 172.30.0.0/24 în spatele unui NAT. Partea frumoasă aici este că la IPv6 nu mai este nevoie de NAT pentru că sunt adrese routabile IPv6, deci traficul IPv4 va fi translatat la router în spatele unei singure adrese iar cel IPv6 va fi routat normal spre Internet. Rezultatul final a fost conectivitate IPv6 pe două sisteme care se află în cu totul altă rețea decât cea unde există tuneul 6to4, rețea ce se află in spatele unui NAT. Pentru a ajunge la un server IPv6 extern, aceste stații trebuiat să treacă peste printr-un tunel 6to4 aflat peste o conexiune VPN(OpenVPN) până la server unde era routat în altă rețea IPv6 care trecea peste un alt tunel 6to4 și routat mai departe doar prin IPv6.

IPv6 Part II: Linux Configuration
Friday, August 21st, 2009 | Author:

[Part I]

De la provider-ul tunelului [1] am primit următoarele:

Server IPv4 address:      216.66.80.30
Server IPv6 address:     2001:470:1f0a:68d::1/64
Client IPv4 address:     141.85.37.208
Client IPv6 address:     2001:470:1f0a:68d::2/64

Între cele două adrese IPv4 este creat un tunel ce are alocată rețeaua IPv6 2001:470:1f0a:68d::/64 ( deci aproximativ 18 milidarde de miliarde de adrese pierdute pentru 2 adrese…dar nu e problemă pentru că sunt destule ).
Configurarea tunelului poate fi făcută în mai multe feluri.

Temporară prin ifconfig/route

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.30
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:1f0a:68d::2/64
route -A inet6 add ::/0 dev sit1

Temporară prin iproute2

modprobe ipv6
ip tunnel add he-ipv6 mode sit remote 216.66.80.30 local 141.85.37.208 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:1f0a:68d::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

Permanentă (on boot) prin /etc/network/interfaces
iface he-ipv6 inet6 v4tunnel
endpoint 216.66.80.30
address  2001:470:1f0a:68d::2
netmask  64
mtu 1480
up ip -6 route add 2000::/3 dev he-ipv6
down ip -6 route del 2000::/3 dev he-ipv6

[1] http://www.tunnelbroker.net/

IPv6 Part I: TunnelBroker & IPv6 Certification
Thursday, August 20th, 2009 | Author:

Deși mai configurasem o adresăIPv6 și cu alte ocazii [1], nu intrasem adânc în subiect decât la clasa de BSCI de la Cisco pe care am terminat-o recent. După clasă, pentru că mi-a plăcut subiectul, am încercat să văd IPv6 în viața reală, ceea ce era puțin problematic pentru că legăturile mele la Internet vin numai în varianta IPv4.

Dar am descoperit un site interesant, TunnelBroker [2], care oferă tunele IPv6 peste conexiuni IPv4, gratuit. Provider-ul respectiv are o rețea globală de servere accesibile prin IPv4, dar care routează IPv6 în Internet. Tot ce e nevoie este un server propriu sau un workstation care să aibă un IP public (acesta va fi clientul). Configurația tunelului se face într-o parte automat, pe site și cealaltă parte pe stația locală manual. Instrucțiunile complete se găsesc pe site.

ipv6_ping

Aceeași firmă ce administrează site-ul TunnelBroker și rețeaua de servere, Hurricane Electric, oferă și o certificare [3] de atestare a cunoștințelor despre IPv6. De exemplu, primul test constă într-un quiz despre IPv6 iar al doilea presupune configurarea unui client care să fie capabil să acceseze o pagină IPv6.

IPv6 Certification Badge for AlexJ

Fun fact: Există un ‘experiment’ pentru a promova IPv6 [4], dar care, momentan, pare a fi mort.

[1] http://alexj.info/?p=92

[2] http://www.tunnelbroker.net/

[3] http://ipv6.he.net/certification/cert-main.php

[4] http://ubergeek.ro/2008/08/22/ipv6-experiment/

De ce trebuie să fim profesioniști
Wednesday, August 19th, 2009 | Author:

Povestea începe în Politehnică, cu o serie de evenimente nefericite legate de infrastructură (links [1], [2]).

Una din probleme a fost furtul unor cabluri de electricitate, ceea ce a dus la o pană de curent în mai multe săli, inclusiv una din sălile de servere ale Facultății de Automatică și Calculatoare. Timp de aproape o săptămână, infrastructura tehnologică din facultate a fost dusă la 0. Învățătura din tot acest timp ar trebui să fie ‘cât de fragilă este tehnologia…’. O sală întreagă de echipamente mai mult sau mai puțin high-end, cu un număr foarte mare de servicii ce rulau pe acele echipamente, a fost redusă la tăcere (“there is no sound worse for a sysadmin than silence in a server room”, trademark Ubergeek [3] ).

Trebuie să înțelegem că dacă vrem să avem un sistem care funcționează avem nevoie de profesionalism la toate nivelurile. De asemenea, trebuie să vedem imaginea în prespectivă și să înțelegem toate slăbiciunile noastre. Fiecare din noi este o bucată dintr-un sistem mai mare, o bucată specializată pe un anumit lucru. De multe ori privim doar bucata noastră și nu ne pasă de ce fac ceilalți. Dar adevărul este că toți trebuie să avem un standard înalt și atunci când ceilalți nu au. Trebuie să găsim soluții și să nu creem probleme noi.

Când vorbim de securitate  în IT, ne gândim din prima la parole, protocoale și algoritmi de criptare, sisteme cu patch-urile aduse la zi și întotdeaua se ignoră securitatea de bază. De aceea nu putem să fim profesioniști cu adevărat în securitate. Dacă avem echipamente de milioane de dolari, avem nevoie de un sistem de securitate fizică și dacă vrem o infrastructură informațională, avem nevoie și de elementele peste care să stea (de exemplu rețeaua electrică). Într-o instituție, ca și într-o companie, dacă există un proiect pentru data center/laborator high-end în care s-a investit o sumă mare de bani, nu trebuiesc ignorate costurile adiacente (ce reprezintă o fracție din costul total). Trebuie investit în securitate și mai ales în redundanță. De multe ori este ușor să configurezi o rețea, dar proectarea inteligentă a ei este dificultatea. Diferența dintre cei care știu să facă un lucru și acei ce sunt profesioniști pe acel domeniu este capacitatea de a gândi în perspectivă respectivul lucru și de a face arhitectura sistemului astfel încât să reziste în timp la orice (sau cât mai multe) situații ce pot ataca sistemul.

O altă problemă, și motivul pentru care sala serverelor nici după două săptămâni nu este refăcută, este nesincronizarea cu o echipă de la o firmă contractată ce reface rețeaua facultății. Din cauza unei deficiențe de management, iar partea tehnologică are de suferit. Profesionalismul iar a avut de suferit.

Încheierea a trebui să fie pe ideea de ‘forme fără fond’. În Politehnică ne lăudăm că avem rețea de 10 Gigabit/s, dar adevărul este că între legătura internă de 1GB și fibra externă de 10GB/s se află un switch de 100MB/s.  Lipsa profesionalismului în proiectare și management și dorința de a ne lăuda cu lucrurile de care nu suntem în stare duc la situații stupide.

în ultimul rând, dacă facem parte dintr-o comunitate, instituție, firma etc., nu trebuie să ne considerăm parte din ea atunci când lucrurile merg bine și atunci când atunci când ele merg prost. Degeaba când cineva te întreabă “Unde ești profesor/angajat/student?” și răspunzi “la Politehnică”  dacă atunci când exita o problemă afirmi “ăia de la Politehnică nu fac nimic”.

[1] http://ubergeek.ro/2009/08/14/upb-romania/

[2] http://big.lazyadmin.ro/2009/08/17/upb-fala-%C8%9Barii-noastre-e/

[3] http://ubergeek.ro