adsperpage

Libre/Open Office

2017年1月9日月曜日

【Linux CentOS 7(1511)】初期状態のRTX1100にIPv6リンクローカルアドレスで接続しIPv4アドレスを設定するまで【YAMAHA RTX1100】

初期状態のRTX1100に、LinuxホストからIPv6リンクローカルアドレスでtelnet接続し、このRTX1100にIPv4アドレスを設定する。


■Linuxマシン側で、IPv6リンクローカルアドレスを取得した。

RTX1100のLAN1ポートと、Linux側のLANポートをストレートケーブルで接続した。
(当然、電源を入れること。)

$ nmcli device
デバイス  タイプ    状態      接続
wlp4s0    wifi      接続済み  wlp4s0
enp5s0    ethernet  切断済み  --  
lo        loopback  管理無し  -- 
上記の例で、RTX1100にはenp5s0デバイスのLANポートから物理的に繋がっている。

そのため、次のようにしてenp5s0の接続を有効化した。
(ただし、enp5s0という名称でデフォルトの接続情報が存在しているものとする。)
$ nmcli con up enp5s0
エラー: 接続のアクティベートに失敗しました。
以上のように、IPv4アドレスの取得に失敗し、下記のように取得中となる。
$ nmcli device
デバイス  タイプ    状態                       接続
wlp4s0    wifi      接続済み                   wlp4s0
enp5s0    ethernet  接続中(IP 設定を取得中)  enp5s0 
lo        loopback  管理無し                   --     

しかし、調べると次のようにIPv6のリンクローカルアドレスは設定された。
$ ip a
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether xx:75:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet6 fe80::xx75:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever


■LinuxマシンからRTX1100のIPv6リンクローカルアドレスにpingを打った。

最初に、RTX1100のLAN1ポートのIPv6リンクローカルアドレスを推測した。
RTX1100のLAN1のIPv6リンクローカルアドレスはLAN1のMACアドレスから作成されている。

<IPv6リンクローカルユニキャストアドレスの推測手順>

0、LAN1ポートのMACアドレスを確認する。(ルーターの裏側シールに書いてある。)
(例)
00:a0:xx:xx:xx:xx
コロンで区切られている各領域は8bitである。
1、MACアドレスの7bit目を反転させる。
0000 0000 = 00
↓反転
0000 0010 = 02
02:a0:xx:xx:xx:xx
2、MACアドレスの上下24bitの真ん中に、ff:fe を挟む
02:a0:xx:ff:fe:xx:xx:xx
3、先頭にfe80::を付け加える
(::はIPv6の省略表記の一種で、全体が128bitの長さになるまでその場を0で埋める。)
fe80::02:a0:xx:ff:fe:xx:xx:xx
4、IPv6アドレスは、16bitずつに区切るように表記して完成させる。
(:02a0: のように16bit区域の先頭4bitが0の場合、省略可能である。:2a0: でも良い。)
fe80::02a0:xxff:fexx:xxxx

テストとして接続先のRTXのリンクローカルアドレスに向けて、pingを打ってみた。
$ ping6 fe80::2a0:xxff:fexx:xxxx%enp5s0
PING fe80::2a0:xxff:fexx:xxxx%enp5s0(fe80::2a0:xxff:fexx:xxxx%enp5s0) 56 data bytes
64 bytes from fe80::2a0:xxff:fexx:xxxx%enp5s0: icmp_seq=1 ttl=64 time=1.24 ms
64 bytes from fe80::2a0:xxff:fexx:xxxx%enp5s0: icmp_seq=2 ttl=64 time=0.609 ms
64 bytes from fe80::2a0:xxff:fexx:xxxx%enp5s0: icmp_seq=3 ttl=64 time=0.609 ms
^C
うまくアクセスできることが確認できた。

(注意)
このアクセスが可能な時間は、IPv4アドレスの取得を試行している間だけである。
試行が終了すると、次の試行までアクセスできなくなってしまう。



■続けてRTX1100にtelnet接続を行って、必要なIPv4アドレスの設定を行った。

telnetで同アドレスにアクセスし、予め用意した最小限のIPv4設定をコピー&ペーストで設定した
(わずかな時間しかないのでペーストくらいしかできない。しかし切断されてもしばらく待っていると再びアクセスできるようになった。)

$ telnet fe80::2a0:xxff:fexx:xxxx%enp5s0
> administrator
Password:
# ip lan1 secondary address 192.168.100.1/24
#
# dhcp service server
#
# dhcp scope 2 192.168.100.10-192.168.100.254/24
#
# save
セーブ中... CONFIG0 終了

■RTX1100に設定したIPv4アドレスで接続した。

RTXの基本設定完了後、Linux側でIPv4アドレスをDHCPで取得した。
nmcli con up enp5s0

RTXにIPv4アドレスでアクセスして、後はゆっくりと必要な設定を行う。
$ telnet 192.168.100.1


以上


<参考>
・IPv6 リンクローカル・ユニキャストアドレスの割り当て
< http://www.itbook.info/study/ipv6-7.html > 2017年1月9日