Интерфейс wlan1 игнорирует IPv6 SLAAC (объявления маршрутизатора ICMPv6)

Я установил 15.04 на свой Thinkpad W520. Однако я не могу заставить работать IPv6 на интерфейсе wlan1:

ifconfig wlan1
wlan1     Link encap:Ethernet  HWaddr 8c:70:5a:d2:65:bc  
          inet addr:10.0.1.61  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::8e70:5aff:fed2:65bc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1534790 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1281764 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:618961336 (618.9 MB)  TX bytes:249411071 (249.4 MB)

В Wireshark я могу видеть сообщения RA ICMPv6:

No.     Time           Source                Destination           Protocol Length Info
      3 775.989536000  fe80::bac7:5dff:fec8:50e ff02::1               ICMPv6   150    Router Advertisement from b8:c7:5d:c8:05:0e

Frame 3: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits) on interface 0
Ethernet II, Src: Apple_c8:05:0e (b8:c7:5d:c8:05:0e), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::bac7:5dff:fec8:50e (fe80::bac7:5dff:fec8:50e), Dst: ff02::1 (ff02::1)
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0x215a [correct]
    Cur hop limit: 64
    Flags: 0x48
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : b8:c7:5d:c8:05:0e)
    ICMPv6 Option (Prefix information : 2601:xxxx:xxxx:47fc::/64)
    ICMPv6 Option (Route Information : Medium 2601:xxxx:xxxx:47fc::/64)
    ICMPv6 Option (Recursive DNS Server 2601:xxxx:xxxx:47fc:bac7:5dff:fec8:50e)

Sysctl accept_ra включен :

net.ipv6.conf.wlan1.accept_dad = 1
net.ipv6.conf.wlan1.accept_ra = 1
net.ipv6.conf.wlan1.accept_ra_defrtr = 0
net.ipv6.conf.wlan1.accept_ra_from_local = 0
net.ipv6.conf.wlan1.accept_ra_pinfo = 0
net.ipv6.conf.wlan1.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.wlan1.accept_ra_rtr_pref = 0
net.ipv6.conf.wlan1.accept_redirects = 1
net.ipv6.conf.wlan1.accept_source_route = 0
net.ipv6.conf.wlan1.autoconf = 1
net.ipv6.conf.wlan1.dad_transmits = 1
net.ipv6.conf.wlan1.disable_ipv6 = 0
net.ipv6.conf.wlan1.force_mld_version = 0
net.ipv6.conf.wlan1.force_tllao = 0
net.ipv6.conf.wlan1.forwarding = 0
net.ipv6.conf.wlan1.hop_limit = 64
net.ipv6.conf.wlan1.max_addresses = 16
net.ipv6.conf.wlan1.max_desync_factor = 600
net.ipv6.conf.wlan1.mc_forwarding = 0
net.ipv6.conf.wlan1.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.wlan1.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.wlan1.mtu = 1500
net.ipv6.conf.wlan1.ndisc_notify = 0
net.ipv6.conf.wlan1.proxy_ndp = 0
net.ipv6.conf.wlan1.regen_max_retry = 3
net.ipv6.conf.wlan1.router_probe_interval = 60
net.ipv6.conf.wlan1.router_solicitation_delay = 1
net.ipv6.conf.wlan1.router_solicitation_interval = 4
net.ipv6.conf.wlan1.router_solicitations = 3
net.ipv6.conf.wlan1.suppress_frag_ndisc = 1
net.ipv6.conf.wlan1.temp_prefered_lft = 86400
net.ipv6.conf.wlan1.temp_valid_lft = 604800
net.ipv6.conf.wlan1.use_tempaddr = 2
net.ipv6.neigh.wlan1.anycast_delay = 100
net.ipv6.neigh.wlan1.app_solicit = 0
net.ipv6.neigh.wlan1.base_reachable_time_ms = 30000
net.ipv6.neigh.wlan1.delay_first_probe_time = 5
net.ipv6.neigh.wlan1.gc_stale_time = 60
net.ipv6.neigh.wlan1.locktime = 0
net.ipv6.neigh.wlan1.mcast_solicit = 3
net.ipv6.neigh.wlan1.proxy_delay = 80
net.ipv6.neigh.wlan1.proxy_qlen = 64
net.ipv6.neigh.wlan1.retrans_time_ms = 1000
net.ipv6.neigh.wlan1.ucast_solicit = 3
net.ipv6.neigh.wlan1.unres_qlen = 31
net.ipv6.neigh.wlan1.unres_qlen_bytes = 65536

Таблица маршрутизации IPv6:

$ route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fe80::/64                      ::                         U    256 0     0 wlan1
::/0                           ::                         !n   -1  1 11529 lo
::1/128                        ::                         Un   0   7    32 lo
fe80::8e70:5aff:fed2:65bc/128  ::                         Un   0   1     0 lo
ff00::/8                       ::                         U    256 1     0 wlan1
::/0                           ::                         !n   -1  1 11529 lo

Соседи IPv6:

$ ip -6 neigh
fe80::bac7:5dff:fec8:50e dev wlan1 lladdr b8:c7:5d:c8:05:0e router STALE

... и я могу пропинговать локальный адрес ссылки мой жилой шлюз:

$ ping6 -I wlan1 fe80::bac7:5dff:fec8:50e
PING fe80::bac7:5dff:fec8:50e(fe80::bac7:5dff:fec8:50e) from fe80::8e70:5aff:fed2:65bc wlan1: 56 data bytes
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=2 ttl=64 time=277 ms
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=3 ttl=64 time=0.848 ms
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=4 ttl=64 time=13.4 ms
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=5 ttl=64 time=1.32 ms
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=6 ttl=64 time=0.934 ms
64 bytes from fe80::bac7:5dff:fec8:50e: icmp_seq=7 ttl=64 time=1.66 ms
^C

Есть идеи о том, что это может быть и как это исправить?

Спасибо.

3
задан 26 July 2015 в 00:40

1 ответ

Проблема находится в некоторых Ваших sysctl настройках:

net.ipv6.conf.wlan1.accept_ra = 1

Этот в порядке: примите Объявления маршрутизатора

net.ipv6.conf.wlan1.accept_ra_defrtr = 0

, Но этот говорит Вашей системе не принимать маршрут по умолчанию от РА. РА Действительно рекламирует маршрутизатор как шлюз по умолчанию. Если Вы хотите, чтобы Ваша система изучила это затем, необходимо установить это на 1.

net.ipv6.conf.wlan1.accept_ra_pinfo = 0

Этот говорит Вашей системе не принимать любую информацию о префиксе от РА. Это не сможет учиться, какие префиксы находятся на ссылке, и это не сможет к автоматическому, настраивают ее адреса из-за этого.

net.ipv6.conf.wlan1.accept_ra_rt_info_max_plen = 0

Ваш РА также содержит уточненный маршрут для 2601:xxxx:xxxx:47fc::/64. Эта установка говорит ядру не принимать любые маршруты дольше, чем /0. Если Вы хотите признать, что /64 затем необходимо установить это значение по крайней мере к 64.

net.ipv6.conf.wlan1.autoconf = 1

Это хорошо. Однако Вы не включали все подробности о своем сообщении РА. Это будет только работать, если опции информации о префиксе в РА установят флаг Autoconf (A), и тот флаг не видим в Вашем вопросе.

0
ответ дан 26 July 2015 в 10:40

Другие вопросы по тегам:

Похожие вопросы: