27 травня 2013 р.

Використання спільної підмережі IPv6 між двома офісами з'єднаними IPv4 через тунель 6to4.

Маємо один офіс "A" з сервером  (Server A) котрий має реальні статичні адреси IPv4 та IPv6 та підмережу IPv6.
Інший офіс "B" з сервером  (Server B) котрий має реальний статичний адрес IPv4.
Задача використати IPv6 адреси під мережі офісу "A" у офісі "B".
З'єднання офісів з використанням  протоколу IPv6 та тунелю 6to4 над протоколом IPv4. [3]

Обладнання

Офіс "A", Server A:
OC: FreeBSD 9.1
інтерфейс em0: ipv4  (зовнішня мережа)
інтерфейс em0: ipv6  (зовнішня мережа)
інтерфейс em1: ipv6  (внутрішня мережа)
інтерфейс stf0:  ipv6  (тунель 6to4)


Офіс "B", Server B:
OC: FreeBSD 9.1
інтерфейс em0: ipv4  (зовнішня мережа)
інтерфейс em1: ipv6  (внутрішня мережа)
інтерфейс stf0:  ipv6  (тунель 6to4)

Планування адресного простору

Сервер офісу "A" має адресний простір IPv6: 2001:DB8:0000::/48.  [1]
Цей адресний простір розподілимо на декілька під мереж /64 [4].
Для офісу "A" виділимо під мережу : 2001:DB8:0000:000A::/64
Для офісу "B" виділимо під мережу : 2001:DB8:0000:000B::/64

Сервер офісу "A" має:

зовнішній адрес  IPv6: 2001:DB8:0000::1/48.  [1]
зовнішній адрес  IPv4: 203.0.113.1/24 [2]
тунелювальну адресу IPv6: 2002:CB00:7101::1 [6]
Приклад отримання адреси для тунелю 6to4

Сервер офісу "B" має:


зовнішній адрес  IPv4: 198.51.100.1/24 [2]
тунелювальну адресу IPv6: 2002:C633:6401::1 [6]
внутрішній адрес IPv6: 2001:DB8:0000:000B::1/64 [1]
адреса шлюзу IPv6 є тунелювальна адреса сервера офісу "A" 2002:CB00:7101::1

Налаштування серверів

Сервер офісу "A"

rc.conf
#external ipa
ifconfig_rl0="inet 203.0.113.1 netmask 255.255.255.0"
ifconfig_rl0_ipv6="inet6 2001:DB8:0000::2 prefixlen 48"

#Internal ipa
ifconfig_nfe0_ipv6="inet6 2001:DB8:0000:000A::1 prefixlen 64"

#ip 6to4 tunel iface (203.0.113.1)
cloned_interfaces="stf0"
ifconfig_stf0_ipv6="inet6 2002:CB00:7101::1 prefixlen 16"

#ISP GW of OFFICE A
ipv6_defaultrouter="2001:DB8:0000::1" 

static_routes="officeb"
route_officeb="-inet6 -net 2001:DB8:0000:000B:: 2002:CB00:7101::1 -prefixlen 64"

Сервер офісу "B"

rc.conf
#external ipa
ifconfig_rl0="inet 198.51.100.1 netmask 255.255.255.0"
ifconfig_rl0_ipv6="inet6 2001:DB8:0000::2 prefixlen 48"

#Internal ipa
ifconfig_nfe0_ipv6="inet6 2001:DB8:0000:000A::1 prefixlen 64"

# IP 6to4 tunel iface (198.51.100.1)
cloned_interfaces="stf0"
ifconfig_stf0_ipv6="inet6 2002:C633:6401::1 prefixlen 16"

# IP 6to4 of OFFICE A as GW
ipv6_defaultrouter="2002:CB00:7101::1" 

rtadvd_enable="YES"
rtadvd_interfaces="nfe0"


Використання /64

У одному з випадків провайдер видав тільки підмережу /64 для сервера офісу А, тому прийшлось порушити рекомендації щодо розподілення підмережі /64, і розробити її на декілька /80, відповідно описавши зміни у налаштуваннях серверів. І при цьому відмовитися від використання rtadvd, і надати усім клієнтам статичні адреси IPv6.



Використанні матеріали

  1. RFC 3849
  2. RFC 5737
  3. Для діаграми використано програму "Edraw6" (ознайомлювальна версія)
  4. Online IPv4/IPv6 subnet calculator
  5. FreeBSD IPv6 - IPv6 Intelligence
  6. Routing_between_6to4_and_native_IPv6 http://6to4 - Wikipedia, the free encyclopedia

Немає коментарів:


Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready