Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Li Статии » Интересно » Изграждане на IPv6 свързаност (проект)
  • Страница 1 от 1 Skip to Page:
  • 1
Тема: Изграждане на IPv6 свързаност (проект), изграждане на IPv6 мрежа
Мнение #1
Написано на: Декември 23 2008, 00:31

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
Тъйкато скоро се очаква да стане хит на пазара, смятам да ви покажа и обясня с прости думи,
как можете да си направите домашна IPv6 мрежа.

1. какво е IPv6 и въобще трябва ли ни..

IPv6 е наследника на текущият протокол в/у който се осъществяват почти всички видове съвременна комуникация.. Причината за създаването на такъв протокол е главно, доста бързото намаляване на свободните адреси на IPv4.
IANА и ICANN раздават голяма част от клас А мрежите на големи корпорации които не могат да ги уползотворят, а и не малка част запазват за себе си, към момента 60% от IP адресите са собственост на USA фирми.
На пръв поглед на много хора 128 битовият адрес от тип: 2001:4860:0:1001::68 е доста труден за работа и запомняне.. Но нямам намерение да Ви уча как да смятате адреси и т.н.
На въпроса трябва ли ни? и да и не.. по - скоро отговора е: много скоро, определено ще ни затрябва..

2. как мога да се свържа към IPv6?

тъйкато поне в bg не знам да има доставчик, който да доставя на клиентите си IPv6 свързаност,
изграждането на домашна/корпоративна мрежа по IPv6 не е съществен проблем.
Към момента има два основни типа свързаност:
1-
IPv6 only вътрешна мрежа -> IPv6+IPv4 рутер -> IPv4 ISP -> IPv6+IPv4 рутер-> IPv6 мрежа

2-
IPv6+IPv4 вътрешна мрежа -> IPv6+IPv4 рутер -> IPv4 ISP ...

реализацията на първият тип свързаност е доста сложна и се препоръчва за краен вариант, като има две основни технологи NAT-PT и ISATAP

реализацията на 2рият тип свързаност е доста по - лесна и по - широко застъпена в практиката,
при нея се ползват т.н. тунели и Tunnel Brockers..

Възнамерявам 1во да обясня как може да се вземе реален IPv6 адрес и да се изгради тунел през IPv4,
след това как да се раздадат адреси на вътрешните хостове в мрежата,
след това ще се спра на варианта за мрежа изцяло със IPv6 хостове.

Тъйкато плановете за въвеждане на IPv6 са то да става постепенно и поетално, също така е съобразено, че не всеки доставчик може да си позволи да доставя адреси на клиентите си (макар, че ще имат достатъчно свободни такива), са въведени няколко технологи за изграждане на IPv6 свързаност.
Основната разбира се е изцяло IPv6, но за сега само академичните мрежи и някои страни като Япония и Китай, могат да си позволят от край до край IPv6,
за останалите простосмъртни се препоръчва DualStack технологията.
Какво е DualStack?
Изразява се в простото правило, на хоста да има инсталиран паралелно IPv6 и IPv4 протоколни стакове, тъйкато могат да работят взаимно и да не си пречат.
IPv6 стака позволява IPv6 свръзаност, IPv4 позволява IPv4 свързаност.
Обърнете внимание, че не е задължително за двата стака да ползват един и същи маршрутизатор, DNS сървър и т.н.. напълно нормално е и възможно трафика по двата протокола да минават по коренно различни пътища и устройства..
какво е необходимо: Рутер със Linux/BSD, макар че и Windows поддържа IPv6, типично за MS, реализацията е нестандартна и извън някои RFC спецификации..
в случая ще ползвам единствено и само Ubuntu 8.04 router с реален адрес IPv4 и една вътрешна мрежа с адреси които се NAT-ват.

започваме с взимането на IPv6 адрес, ако не сте си играли да спирате ipv6 от ядрото, системата по подразбиране е ipv6 capable, така, че не е необходимо инсталиране на допълнителни пакети.

има два начина за взимане на адрес:
1 IPv6to4 relay
2 IPv6 tunnel brocker

вариант 1:
адреса ви е с префикс 2002: следващите 32бита се допълват с битовете от вашият IPv4 адрес, ако имате динамичен адрес, не е проблем, но ви трябва скрипт, който да генерира IPv6 адреса при всяка промяна на IPv4 адреса ви.

ето ви примерен скрипт, който след изпълнение, извършва цялата мръсна работа
Code Sample: 
cat /etc/ppp/ip-up.d/0ip6to4
#!/bin/sh

ipv4_addr=$PPP_LOCAL
dev=$PPP_IFACE

gw=192.88.99.1

ipv4_hex=`echo $ipv4_addr|sed -e s/^/16o/ -e 's/\./p/g' -e s/$/pq/|dc`
ipv6_net=2002:`echo $ipv4_hex|sed -e 's/ //' -e 's/ /:/' -e 's/ //'`
ipv6_addr=$ipv6_net::1

tunnel_name=tun6to4_$dev

ip tunnel add $tunnel_name mode sit remote any local $ipv4_addr ttl 64
ip link set dev $tunnel_name up
ip -6 addr add $ipv6_addr/64 dev $tunnel_name
ip -6 route add 2000::/3 via ::$gw dev $tunnel_name metric 1


обърнете внимание, че при мен е направен да се изпълнява при вдигане на pppoe интерфейс,
ако сте със статичен, трябва да му подавате като променливи IPv4 адреса си и името на интерфейса,
за което просто променете променливите в скрипта..

след изпълняването на скрипта, при успех, ще ви вдигне нов интерфейс tun6to4_*
в случая получавате мрежа с префикс /48, което означава че до префикс /64 имате 16 бита или 65536 мрежи от по 2^64 броя хоста!
с общи думи ставате ISP с адреси за .. вселената..

следващата стъпка е инсталиране на демон, който да раздава адреси на хостовете от вътрешната Ви мрежа.
Малко отклонение:
1. забравете за NAT, 1во спецификацията на IPv6 изключва такова нещо, 2ро за iptables и няма и да има поне докато не почнат да свършват IPv6 адресите.
1.1 (има написани userspace демони, които транслират част от пакетите.
повече инфо може да намерите тук:
http://www.suse.de/~krahmer/ip6nat/
)

2. минималната маска за една мрежа е /64, т.е. не е правилно да създавате по - малки мрежи.
това се прави за да може мобилните устройства и пералнята Ви да рабтят в нета..
3. забравете за DHCP в класическият смисъл на думата.. дори не Ви трябва.. хостовете си взимат префикс, примерно 2002:aabb:ffee:0:/64 и допълват останалите 64 бита с случайно генерирани стойности, като те най - често са MAC адреса на интерфейса + fffe по средата..

след краткото отклонение да продължим с инсталацията на демона, който раздава префикса (не адресите)

Code Sample: 
aptitude install radvd


след успешна инсталация, трябва да създадете конф. файла:

editor /etc/radvd.conf

interface br0 {                 # <- <поставяте името на интефейса от вътрешната мрежа!
       AdvSendAdvert on;
       MinRtrAdvInterval 3;
       MaxRtrAdvInterval 10;
       prefix 2002:5cf7:fe79:aabb::/64 {   #<- поставяте тук префикса за вътрешната мрежа
               AdvOnLink on;
               AdvAutonomous on;
               AdvRouterAddr on;
       };
};

/etc/init.d/radvd start #при мен не работи, за това го стартирам hard-core с radvd в конзола..

ако имате хост със linux или vista, той вече има конфигуриран ipv6 адрес.. без дори да се налага да ходите до него или да пускате dhcp,
но все пак, ще сложим един dhcp сървър, единствено за да раздава адреса на dns сървъра..

по призумция допускам, че имате bind9 dns сървър, който е ipv6 enabled..

Code Sample: 
aptitude install wide-dhcpv6-server


editor /etc/wide-dhcpv6/dhcp6s
Code Sample: 

option domain-name-servers 2002:5cf7:fe79:aabb::1;

interface br0 {  #<- променете тук името на интерфейса от вътрешната мрежа
       address-pool pool1 3600;
};

pool pool1 {  #<-можете да дефинирате тук басейн от адреси, както и статични раздавания, но това #изисква и промяна на radvd, за подробности обърнете се към man страниците
       range 2002:5cf7:fe79:aabb::13 to 2002:5cf7:fe79:aabb::130;
};


и това е..
когато ми остане време, ще допълня как да ви вземете адрес от tunnel brocker и разбира се за NAT-PT..

Редактирано от altoas на Август 24 2010, 16:57

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Общо 0 отговор(а) от Декември 23 2008, 00:31 до сега
  • Страница 1 от 1 Skip to Page:
  • 1
 » Начало » Li Форуми » Li Статии » Интересно » Изграждане на IPv6 свързаност (проект)

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums