Thinkpad W520に15.04をインストールしました。ただし、wlan1インターフェイスでIPv6を動作させることはできません。
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では、ICMPv6 RAメッセージを確認できます。
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
...そして、レジデンシャルゲートウェイのリンクローカルアドレスにpingを実行できます。
$ 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
それが何であり、それを修正する方法についてのアイデアはありますか?
ありがとう。
問題はsysctl設定のいくつかにあります:
net.ipv6.conf.wlan1.accept_ra = 1
これは問題ありません:ルーター広告を受け入れます
net.ipv6.conf.wlan1.accept_ra_defrtr = 0
ただし、これはRAからのデフォルトルートを受け入れないようにシステムに指示します。 RAは、ルーターをデフォルトゲートウェイとしてアドバタイズします。システムにこれを学習させたい場合は、1
に設定する必要があります。
net.ipv6.conf.wlan1.accept_ra_pinfo = 0
これは、RAからのプレフィックス情報を受け入れないようにシステムに指示します。どのプレフィックスがリンク上にあるかを知ることができず、そのためにアドレスを自動構成することはできません。
net.ipv6.conf.wlan1.accept_ra_rt_info_max_plen = 0
RAには、2601:xxxx:xxxx:47fc::/64
のより具体的なルートも含まれています。この設定は、/0
より長いルートを受け入れないようにカーネルに指示します。 /64
を受け入れたい場合は、この値を少なくとも64
に設定する必要があります。
net.ipv6.conf.wlan1.autoconf = 1
これはいい。ただし、RAメッセージに関するすべての詳細が含まれているわけではありません。これは、RAのプレフィックス情報オプションにAutoconf(A)フラグが設定されており、そのフラグが質問に表示されていない場合にのみ機能します。