У меня есть простой CoAP-сервер на устройстве, которое реализует профиль поддержки интернет-протокола BLE, который я хотел протестировать с помощью подключаемого модуля Mozilla Firefox + Copper. Пока мне удалось подключиться к своему устройству и пропинговать его, используя его локальный адрес ссылки. К сожалению, Firefox не может получить доступ к локальным адресам ссылок, поэтому, чтобы использовать их, мне нужно настроить мое устройство на маршрутизируемый адрес.
У меня есть этот файл конфигурации ... /etc/radvd.conf:
interface bt0
{
AdvSendAdvert on;
prefix 2001:db8::/64
{
AdvOnLink off;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Затем я установил адрес в подсети для Linux-бокса, включил пересылку и перезапустил radvd.
sudo ip address add 2001:db8::1/64 dev bt0
echo 1 | sudo tee /proc/sys/net/ipv6/conf/all/forwarding
sudo service radvd restart
Это результат ifconfig bt0
:
bt0 Link encap:UNSPEC HWaddr 00-15-83-FF-FE-E8-EB-0B-00-00-00-00-00-00-00-00
inet6 addr: fe80::215:83ff:fee8:eb0b/64 Scope:Link
inet6 addr: 2001:db8::1/64 Scope:Global
UP POINTOPOINT RUNNING MULTICAST MTU:1280 Metric:1
RX packets:111 errors:0 dropped:0 overruns:0 frame:0
TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:8553 (8.5 KB) TX bytes:10804 (10.8 KB)
К сожалению, что-то все еще настроено неправильно. Я все еще могу пинговать свое устройство, используя локальный адрес ссылки ping6 fe80::215:83ff:fee8:eb0b%bt0
, но когда я хочу пропинговать его с его маршрутизируемым адресом, ping6 -I bt0 2001:db8::215:83ff:fee8:eb0b
, У меня нет отзывов.
В чем может быть проблема? Есть ли что-нибудь еще, что мне нужно настроить?
РЕДАКТИРОВАТЬ Новый radvd.conf
interface bt0
{
abro fe80::215:83ff:fee8:eb0b/64 {
AdvVersionHigh 10;
AdvVersionLow 2;
AdvValidLifeTime 2;
};
AdvSendAdvert on;
prefix 2001:db8::/64
{
AdvOnLink off;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Похоже, что в вашей конфигурации radvd отсутствуют параметры ABRO, необходимые для того, чтобы ваша система распознавалась как пограничный маршрутизатор 6LoWPAN.
Минимальная конфигурация будет:
interface bt0 {
abro fe80::215:83ff:fee8:eb0b/64 {
AdvVersionHigh 10;
AdvVersionLow 2;
AdvValidLifeTime 2;
}
#...everything else
Обратите внимание, что в этот В строфе вам нужно использовать локальный адрес канала пограничного маршрутизатора.
И, конечно же, ваши устройства должны иметь Bluetooth 4.1 (или выше). Устройства 4.0 работать не будут.