Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2014, 20:00   #1
AndreyNag
Member
 
Регистрация: 23.04.2014
Сообщений: 63
Вес репутации: 0
AndreyNag is an unknown quantity at this point
Lightbulb OpenWRT и Native IPv6.

Привет всем!
Давольно давно использую связку MR3420v2 и OpenWRT для торент-качалки и файловой samba-раздавалки по локальной сети. Однако ж встречаются периодически проблемы с доступом на некоторые сайты, трекеры в частности, по причине NAT'ов провайдеров (у меня мегафон через 4G) и других ограничений.
Одним из выходов является использование IPv6. Но в тоже время я не нашел ни одного ресурса с актуальной информацией. Есть много ссылок, но ни одна не помогла в решении моей проблемы. Всё как-то фрагментарно. Либо даются примеры без описания как получить нужные детали: локальный адрес, адрес шлюза и т.п. в формате v6 в конкретной ситуации.
Если кто-то уже победил native IPv6 или знает как, а может просто продвинулся в его использовании, будьте добры, выложите свои конфиги и список используемых модулей. Потому как выжимки очень трудно анализировать применительно к локальной ситуации. У каждого свои особенности подключения, задачи и т.д. и т.п.
Спасибо за внимание.
AndreyNag вне форума   Ответить с цитированием
Старый 27.12.2014, 20:04   #2
AndreyNag
Member
 
Регистрация: 23.04.2014
Сообщений: 63
Вес репутации: 0
AndreyNag is an unknown quantity at this point
По умолчанию Re: OpenWRT и Native IPv6.

Вот на пример я столкнулся с элементарной проблемой. Не могу проверить работает ли IPv6.
Цитата:
root@OpenWrt:~# ping -6 ya.ru
PING ya.ru (2a02:6b8::3): 56 data bytes
ping: sendto: Operation not permitted
root@OpenWrt:~#
Нашел одно объяснение такой ошибке, но и оно не верно для меня. Говортся, что не разрешено потому, что ты не root. Но я то root, рутее не бывает!
Почему "не разрешено"? Хотя в правилах ясно и недвусмысленно ICMP-пакеты разрешены. Хотя одно то, что пишет "PING ya.ru (2a02:6b8::3): 56 data bytes" радует. Значит адрес-таки яндюха определил. Или я не прав?!
Цитата:
# Allow essential incoming IPv6 ICMP traffic
# Разрешаем принимать служебные пакеты по протоколу icmp (пинг + ipv6 специфичные)
config rule
option name Allow-ICMPv6-Input
option src wan
option proto icmp
list icmp_type echo-request
list icmp_type destination-unreachable
list icmp_type packet-too-big
list icmp_type time-exceeded
list icmp_type bad-header
list icmp_type unknown-header-type
list icmp_type router-solicitation
list icmp_type router-advertisement
list icmp_type neighbour-solicitation
list icmp_type neighbour-advertisement
option limit 1000/sec
option family ipv6
option target ACCEPT
Вот попытка достучаться с компа до гугла:
Цитата:
D:\>ping -6 ipv6.google.com

Обмен пакетами с ipv6.l.google.com [2a00:1450:4010:c03::66] с 32 байтами данных:
Заданная сеть недоступна.
Заданная сеть недоступна.
Заданная сеть недоступна.
Заданная сеть недоступна.

Статистика Ping для 2a00:1450:4010:c03::66:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)

D:\>
Ну и для примера, мои network
Цитата:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fd93:5f64:6da8::/48'

config interface 'lan'
option ifname 'eth1'
option force_link '1'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.0.1'
option ip6addr 'fe80::12fe:edff:fe68:1244/64'

config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
option accept_ra '1'
option send_rs '1'
option ipv6 '1'

config interface 'wan6'
option _orig_ifname '@wan'
option _orig_bridge 'false'
option proto 'dhcpv6'
option ifname '4G'
option peerdns '1'

config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 4'

config interface '4G'
option proto 'dhcp'
option ifname 'eth2'
option accept_ra '1'
option send_rs '1'
option ipv6 '1'
и
Цитата:
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'

config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan'

config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan wan6 4G'

config forwarding
option src 'lan'
option dest 'wan'

config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'

config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'

# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
# Разрешаем обмен сообщениями на wan порту по протоколу ipv6 через порты 546/547 в зоне
# локальных адресов для того, чтобы dhcp v6 клиент мог соединяться с сервером и получать необходимые данные
config rule
option name Allow-DHCPv6
option src wan
option proto udp
option src_ip fe80::/10
option src_port 547
option dest_ip fe80::/10
option dest_port 546
option family ipv6
option target ACCEPT

# Allow essential incoming IPv6 ICMP traffic
# Разрешаем принимать служебные пакеты по протоколу icmp (пинг + ipv6 специфичные)
config rule
option name Allow-ICMPv6-Input
option src wan
option proto icmp
list icmp_type echo-request
list icmp_type destination-unreachable
list icmp_type packet-too-big
list icmp_type time-exceeded
list icmp_type bad-header
list icmp_type unknown-header-type
list icmp_type router-solicitation
list icmp_type router-advertisement
list icmp_type neighbour-solicitation
list icmp_type neighbour-advertisement
option limit 1000/sec
option family ipv6
option target ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
# Разрешаем пересылать служебные пакеты по протоколу icmp за wan интерфейс
config rule
option name Allow-ICMPv6-Forward
option src wan
option dest *
option proto icmp
list icmp_type echo-request
list icmp_type destination-unreachable
list icmp_type packet-too-big
list icmp_type time-exceeded
list icmp_type bad-header
list icmp_type unknown-header-type
option limit 1000/sec
option family ipv6
option target ACCEPT

# Allow forwarded IPv6 tcp/udp traffic
# Разрешаем пересылать ipv6 трафик по протоколам tcp/udp за wan интерфейс
config rule
option name Allow-IPv6-Forward
option src wan
option dest *
option proto tcpudp
option family ipv6
option target ACCEPT

config 'rule'
option 'target' 'ACCEPT'
option '_name' 'transmission'
option 'src' 'wan'
option 'dest' 'lan'
option 'proto' 'tcpudp'
option 'src_port' '0-65535'
option 'dest_port' '51413'

config include
option path '/etc/firewall.user'
firewall.

Последний раз редактировалось AndreyNag; 27.12.2014 в 20:34.
AndreyNag вне форума   Ответить с цитированием
Старый 10.01.2015, 19:45   #3
AndreyNag
Member
 
Регистрация: 23.04.2014
Сообщений: 63
Вес репутации: 0
AndreyNag is an unknown quantity at this point
По умолчанию Re: OpenWRT и Native IPv6.

Привет.
Потихоньку продвигаемся дальше.
В ответ на "ifconfig" роутер выдаёт мне IPv6 адрес wan-интерфейса, т.е. модема.
Цитата:
eth2 Link encap:Ethernet HWaddr 58:2C:юю:юю:юю:63
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::5a2c:юююю:юююю:юююю/юю Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13123 errors:0 dropped:0 overruns:0 frame:0
TX packets:14982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7077008 (6.7 MiB) TX bytes:2557438 (2.4 MiB)
Однако ж если спросить "ifstatus 4G", то поля адреса ipv6 остаются пустыми.
Цитата:
root@OpenWrt:~# ifstatus 4G
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"uptime": 2800,
"l3_device": "eth2",
"proto": "dhcp",
"device": "eth2",
"updated": [
"addresses",
"routes"
],
"metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "192.168.1.100",
"mask": 24
}
],
"ipv6-address": [

],
"ipv6-prefix": [

],
"ipv6-prefix-assignment": [

],
"route": [
{
"target": "0.0.0.0",
"mask": 0,
"nexthop": "192.168.1.1",
"source": "0.0.0.0\/0"
}
],
"dns-server": [
"192.168.1.1",
"192.168.1.1"
],
"dns-search": [
"hi.link"
],
"inactive": {
"ipv4-address": [

],
"ipv6-address": [

],
"route": [

],
"dns-server": [

],
"dns-search": [

]
},
"data": {

}
}
root@OpenWrt:~#
В локальной сети комп-роутер пинги v6 ходят нормально. Хосты доступны по именам и собственно адресам.
Цитата:
root@OpenWrt:~# ping6 andrey-pc
PING andrey-pc (fd4f:юююю:225d::ad9): 56 data bytes
64 bytes from fd4f:юююю:225d::ad9: seq=0 ttl=128 time=0.537 ms
64 bytes from fd4f:юююю:225d::ad9: seq=1 ttl=128 time=0.557 ms
64 bytes from fd4f:юююю:225d::ad9: seq=2 ttl=128 time=0.593 ms
64 bytes from fd4f:юююю:225d::ad9: seq=3 ttl=128 time=0.525 ms
64 bytes from fd4f:юююю:225d::ad9: seq=4 ttl=128 time=0.677 ms
64 bytes from fd4f:юююю:225d::ad9: seq=5 ttl=128 time=0.733 ms
64 bytes from fd4f:юююю:225d::ad9: seq=6 ttl=128 time=0.545 ms
^C
--- andrey-pc ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 0.525/0.595/0.733 ms
root@OpenWrt:~#
Специально не занимаюсь никакими тоннелями. Хочу поднять нативный IPv6. Который почти работает. Определяет же v6.адреса по именам!
Кто может поделиться наработками, милости прошу к нашему шалашу?

В процессе изучения вопроса столкнулся с пока не разрешенной проблемой. В ответ на ping6 ipv6.google.com сообщает мне адрес искомого сервера, но роутер ругается, что я де совершаю недозволенную операцию "operation not permited".
Цитата:
root@OpenWrt:~# ping6 ipv6.google.com
PING ipv6.google.com (2a00:1450:400f:803::100e): 56 data bytes
ping6: sendto: Operation not permitted
root@OpenWrt:~#
Хотя в правилах ICMPv6 разрешен и локально пакеты нормально ходят.
Цитата:
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'

config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan'

config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network '4G wan wan6'
option log '1'

config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'

config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option target 'ACCEPT'
option _name 'transmission'
option src 'wan'
option dest 'lan'
option proto 'tcpudp'
option src_port '0-65535'
option dest_port '51413'

config include
option path '/etc/firewall.user'

config forwarding
option dest 'wan'
option src 'lan'
Может я чегой-то не понимаю? Порядок следования правил не влияет на IPv4. Легко пингую "любой" белый адрес.

Спасибо за внимание.
AndreyNag вне форума   Ответить с цитированием
Ответ

Метки
ipv6, nat, openwrt, ping6


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:53. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика