21 January, 2013

Настройка IPv6 от МГТС

Исходные данные:
Провайдер - МГТС
Тип подключения - ADSL
Роутер ZTExxxx в режиме bridge
Роутер TP-Link 4300 с прошивкой OpenWrt

Задача:
Получить на всех устройствах в домашней сети доступ в интернет через IPv6


Проверяем наличие / доустанавливаем пакеты:
wide-dhcpv6-client radvd ip ip6tables
~#opkg install wide-dhcpv6-client radvd ip ip6tables
Включаем IPv6 для PPP соединения, для чего редактируем файл:

~# vi /etc/config/network 

config 'switch' 'eth0'
 option 'enable' '1'

config 'switch_vlan' 'eth0_0'
 option 'device' 'eth0'
 option 'vlan' '0'
 option 'ports' '1 2 3 4 5'

config 'switch_vlan' 'eth0_1'
 option 'device' 'eth0'
 option 'vlan' '1'
 option 'ports' '0 5'

config 'interface' 'loopback'
 option 'ifname' 'lo'
 option 'proto' 'static'
 option 'ipaddr' '127.0.0.1'
 option 'netmask' '255.0.0.0'

config 'interface' 'lan'
 option 'type' 'bridge'
 option 'ifname' 'eth0.0'
 option 'proto' 'static'
 option 'netmask' '255.255.255.0'
 option 'ipaddr' '192.168.1.200'

config 'interface' 'wan'
 option 'ifname' 'eth0.1'
 option 'peerdns' '1'
 option 'defaultroute' '1'
 option 'proto' 'pppoe'
 option 'username' 'MGTSnnnnnn@mgts'
 option 'password' 'youPassword'
 option 'keepalive' '5'
 option 'ipv6' '1'
Настраиваем DHCPv6 клиент для получения IPv6 адреса на интерфейсе WAN
~# vi /etc/config/dhcp6c 
config 'dhcp6c' 'basic'
 option 'enabled' '1'    
 option 'interface' 'wan'   
 option 'dns' 'dnsmasq'    
 option 'debug' '0'    
 
 # Send options (1 = send; 0 = do not send)
 option 'pd' '1'
 option 'na' '0'     
 option 'rapid_commit' '1'   
 
 # Request options (1 = request; 0 = do not request)
 option 'domain_name_servers' '1'
 option 'domain_name' '0'
 option 'ntp_servers' '0'
 option 'sip_server_address' '0'
 option 'sip_domain_name' '0'
 option 'nis_server_address' '0'
 option 'nis_domain_name' '0'
 option 'nisp_server_address' '0'
 option 'nisp_domain_name' '0'
 option 'bcmcs_server_address' '0'
 option 'bcmcs_domain_name' '0'
 
 # Script to run when a reply is received
 option 'script' '/usr/bin/dhcp6c-state'

# Define one or more interfaces on which prefixes should be assigned
config 'interface' 'loopback'
 option 'enabled' '0'    
 option 'sla_id' '0'    
 option 'sla_len' '4'    
       

config 'interface' 'lan'
 option 'enabled' '1'
 option 'sla_id' '0'
 option 'sla_len' '0'
 
Перезапускаем DHCP и PPP соединение
/etc/init.d/dhcp6c restart
Проверяем, получен ли адрес
~# ip a
....
100: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 64:70:02:a0:b8:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.xxx/24 brd 192.168.1.255 scope global br-lan
    inet6 2a00:1370:8109:xxxx:6670:2ff:fea0:xxxx/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::6670:2ff:fea0:xxxx/64 scope link 
       valid_lft forever preferred_lft forever
....
Настраиваем раздачу IPv6 адресов внутри сети
~# vi /etc/config/radvd 
config interface
 option interface 'lan'
 option AdvSendAdvert 1
 option AdvManagedFlag 0
 option AdvOtherConfigFlag 0
 option ignore  0 
 option MaxRtrAdvInterval 30

config prefix
 option interface 'lan'
 # If not specified, a non-link-local prefix of the interface is used
 option prefix  ''
 option AdvOnLink 1
 option AdvAutonomous 1
 option AdvValidLifetime 60
 option AdvPreferredLifetime 30
 option AdvRouterAddr 0
 option ignore  0

config rdnss
 option interface 'lan'
 # If not specified, the link-local address of the interface is used
 option addr  ''
 option ignore  0
Перезапускаем radvd
~# /etc/init.d/radvd restart

Проверяем работоспособность на всех устройствах в сети.
PROFIT!!!

No comments:

Post a Comment