目次
ReadyNAS Duo v2 の Open-WRT化
概要
Open-WRT は 主にブロードバンドルーター向けの Linuxディストリビューション。
コミュニティの情報によればNETGEAR の NAS box ReadyNAS Duo v2 にもインストールできる。
ReadyNAS Duo v2は、製造から10年近く経過しており、すでに公式サポートも終了。
中のOSも相当古くなっているので、Open-WRTに入れ替えることで延命を図る。
イメージの入手
上のリンクからKERNELとSYSUPGRADEをダウンロードする。
KERNEL:openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage
SYSUPGRADE:openwrt-kirkwood-netgear_readynas-duo-v2-squashfs-sysupgrade.bin
私のあやふやな理解
KERNEL 必要最小限の内容だけのイメージ
SYSUPGRADE KERNELで起動した上で、sysupgrade して使うフル版のイメージ
準備
- ReadyNASとPCをシリアル接続できるようにしておく
- FAT32でフォーマットしたUSBメモリに KERNELイメージを保存しておく
手順
ここにざっくり書かれている
Installation by USB + serial:
- Copy initramfs image to fat32 usb drive
- Connect pendrive to USB 2.0 front socket
- Connect serial console
- Stop booting in u-boot
- Do:
usb reset setenv bootargs 'console=ttyS0,115200n8 earlyprintk' setenv bootcmd 'nand read.e 0x1200000 0x200000 0x600000;bootm 0x1200000' saveenv fatload usb 0:1 0x1200000 openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage bootm 0x1200000
- copy sysupgrade image via ssh.
- run sysupgrade
作業ログ
とりあえずインストール
手順の通りやってみる。
コンソールログ→ readynas_duo_v2_openwrt_install_log
とりあえずインストールは出来たようだが。。。
BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:~# opkg update Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/packages/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/packages/Packages.gz Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/base/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/arm_xscale/base/Packages.gz Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/kmods/5.10.115-1-5e89d550415de5334e3e9ca9aff7b1a0/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/kmods/5.10.115-1-5e89d550415de5334e3e9ca9aff7b1a0/Packages.gz Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/luci/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/arm_xscale/luci/Packages.gz Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/packages/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/arm_xscale/packages/Packages.gz Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/routing/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/arm_xscale/routing/Packages.gz Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/telephony/Packages.gz *** Failed to download the package list from https://downloads.openwrt.org/snapshots/packages/arm_xscale/telephony/Packages.gz Collected errors: * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/packages/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/arm_xscale/base/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/kmods/5.10.115-1-5e89d550415de5334e3e9ca9aff7b1a0/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/arm_xscale/luci/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/arm_xscale/packages/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/arm_xscale/routing/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download https://downloads.openwrt.org/snapshots/packages/arm_xscale/telephony/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. root@OpenWrt:~#
opkgコマンドがエラー
WebUIのLuciがインストールできない。
これではインストールできたはよいが、まるで何もできないぞ・・・
ネットワークに問題ある?
ping打ってみる。
opwnwrt.org NG
google.com NG
yahoo.co.jp OK
IPv6のアドレスがダメってことか・・・
root@OpenWrt:~# ping downloads.openwrt.org PING downloads.openwrt.org (2a01:4f8:251:321::2): 56 data bytes ^C --- downloads.openwrt.org ping statistics --- 40 packets transmitted, 0 packets received, 100% packet loss root@OpenWrt:~# ping google.com PING google.com (2404:6800:4004:81e::200e): 56 data bytes ^C --- google.com ping statistics --- 10 packets transmitted, 0 packets received, 100% packet loss root@OpenWrt:~# ping yahoo.co.jp PING yahoo.co.jp (183.79.219.252): 56 data bytes 64 bytes from 183.79.219.252: seq=0 ttl=49 time=15.999 ms 64 bytes from 183.79.219.252: seq=1 ttl=49 time=16.138 ms 64 bytes from 183.79.219.252: seq=2 ttl=49 time=15.601 ms 64 bytes from 183.79.219.252: seq=3 ttl=49 time=15.639 ms ^C --- yahoo.co.jp ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 15.601/15.844/16.138 ms root@OpenWrt:~#
あれ、でも他のPCからping打つと IPv4だよ・・・
Windows10のWSL2のUbuntuからpingを打ったら
なんで OpenWrtなRedyNASは IPv6 になってるんだろ
Luciのインストールに一苦労(opkg が使えない)
問題はIPv6
とりあえず Open-Wrt はインストールされ、ssh接続できるようにはなった。
Webの設定画面 luci をインストールしようとしたが opkg コマンドがエラーになる。
これでは、何もパッケージがインストールできない。
はて、、、
どうやら ipv6 で接続しようとして、接続できないでいるようだ。
localhost は ipv6 でもpingが通るけど、外部のサイトは ipv6 だと pingが通らない。
接続できない原因が、うちのインターネット環境(フレッツ、OCN)にあるのか、ブロードバンドルーター(結構古いNEC ATerm)にあるのか、その両方のせいなのか、設定が悪いだけなのか、ちょっと分からない。
《追記》
我が家のインターネット環境ではIPv6接続ができていない(面倒くさくて設定していない)ことが判明した。
ipv4 なら問題なく接続できているので、安直に考えて ipv6 を無効にして ipv4で接続するようにしたい。
BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:~# ping google.com PING google.com (2404:6800:4004:827::200e): 56 data bytes ^C --- google.com ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss root@OpenWrt:~# root@OpenWrt:~# ping -4 google.com PING google.com (142.250.207.14): 56 data bytes 64 bytes from 142.250.207.14: seq=0 ttl=115 time=8.831 ms 64 bytes from 142.250.207.14: seq=1 ttl=115 time=7.447 ms 64 bytes from 142.250.207.14: seq=2 ttl=115 time=7.366 ms 64 bytes from 142.250.207.14: seq=3 ttl=115 time=7.381 ms ^C --- google.com ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 7.366/7.756/8.831 ms root@OpenWrt:~# root@OpenWrt:~# ping openwrt.org PING openwrt.org (2a03:b0c0:3:d0::1af1:1): 56 data bytes ^C --- openwrt.org ping statistics --- 6 packets transmitted, 0 packets received, 100% packet loss root@OpenWrt:~# ping -4 openwrt.org PING openwrt.org (139.59.209.225): 56 data bytes 64 bytes from 139.59.209.225: seq=0 ttl=47 time=248.351 ms 64 bytes from 139.59.209.225: seq=1 ttl=47 time=247.793 ms 64 bytes from 139.59.209.225: seq=2 ttl=47 time=247.962 ms 64 bytes from 139.59.209.225: seq=3 ttl=47 time=248.752 ms ^F64 bytes from 139.59.209.225: seq=4 ttl=47 time=247.695 ms 64 bytes from 139.59.209.225: seq=5 ttl=47 time=247.933 ms ^C --- openwrt.org ping statistics --- 6 packets transmitted, 6 packets received, 0% packet loss round-trip min/avg/max = 247.695/248.081/248.752 ms root@OpenWrt:~# ping localhost PING localhost (::1): 56 data bytes 64 bytes from ::1: seq=0 ttl=64 time=0.191 ms 64 bytes from ::1: seq=1 ttl=64 time=0.154 ms 64 bytes from ::1: seq=2 ttl=64 time=0.145 ms 64 bytes from ::1: seq=3 ttl=64 time=0.143 ms ^C --- localhost ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.143/0.158/0.191 ms root@OpenWrt:~# ping -4 localhost PING localhost (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.158 ms 64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.130 ms 64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.123 ms 64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.120 ms 64 bytes from 127.0.0.1: seq=4 ttl=64 time=0.117 ms ^C --- localhost ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0.117/0.129/0.158 ms root@OpenWrt:~#
下をやって再起動してみたけど変わらなかった。
root@OpenWrt:~# set 'network.wan.ipv6=off' root@OpenWrt:~# set 'network.lan.ipv6=off' root@OpenWrt:~# uci set 'dhcp.lan.dhcpv6=disabled' root@OpenWrt:~# /etc/init.d/odhcpd disable root@OpenWrt:~# uci commit root@OpenWrt:~#
BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:~# root@OpenWrt:~# ping openwrt.org PING openwrt.org (2a03:b0c0:3:d0::1af1:1): 56 data bytes ^C --- openwrt.org ping statistics --- 9 packets transmitted, 0 packets received, 100% packet loss root@OpenWrt:~#
こちら OpenWrt Disable IPV6 を参考にやってみたが、やっぱりダメ。
シリアルコンソールから(ネットワーク越しのSSH接続ではなく)
BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:/# uci set 'network.lan.ipv6=0' root@OpenWrt:/# uci set 'network.wan.ipv6=0' uci: Invalid argument root@OpenWrt:/# uci set 'network.wan.ipv6=0' uci: Invalid argument root@OpenWrt:/# uci set 'dhcp.lan.dhcpv6=disabled' root@OpenWrt:/# /etc/init.d/odhcpd disable root@OpenWrt:/# uci commit root@OpenWrt:/# uci -q delete dhcp.lan.dhcpv6 root@OpenWrt:/# uci -q delete dhcp.lan.ra root@OpenWrt:/# uci commit dhcp root@OpenWrt:/# /etc/init.d/odhcpd restart Command failed: Not found root@OpenWrt:/# /etc/init.d/odhcpd restart root@OpenWrt:/# /etc/init.d/odhcpd status running root@OpenWrt:/# uci set network.lan.delegate="0" root@OpenWrt:/# uci commit network root@OpenWrt:/# /etc/init.d/network restart [ 440.033405] br-lan: port 1(eth0) entered disabled state [ 440.055864] device eth0 left promiscuous mode [ 440.060348] br-lan: port 1(eth0) entered disabled state root@OpenWrt:/# [ 441.450176] br-lan: port 1(eth0) entered blocking state [ 441.455429] br-lan: port 1(eth0) entered disabled state [ 441.460886] device eth0 entered promiscuous mode [ 443.763367] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control enabled [ 443.773205] br-lan: port 1(eth0) entered blocking state [ 443.778475] br-lan: port 1(eth0) entered forwarding state [ 443.785528] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready root@OpenWrt:/# /etc/init.d/odhcpd disable root@OpenWrt:/# /etc/init.d/odhcpd stop root@OpenWrt:/# root@OpenWrt:/# uci -q delete network.globals.ula_prefix root@OpenWrt:/# uci commit network root@OpenWrt:/# /etc/init.d/network restart [ 535.133777] br-lan: port 1(eth0) entered disabled state [ 535.139343] device eth0 left promiscuous mode [ 535.143803] br-lan: port 1(eth0) entered disabled state root@OpenWrt:/# [ 536.562613] br-lan: port 1(eth0) entered blocking state [ 536.567870] br-lan: port 1(eth0) entered disabled state [ 536.573325] device eth0 entered promiscuous mode [ 538.885542] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control enabled [ 538.895377] br-lan: port 1(eth0) entered blocking state [ 538.900645] br-lan: port 1(eth0) entered forwarding state [ 538.907335] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready root@OpenWrt:/#
uci set 'network.wan.ipv6=0'
のところで uci: Invalid argument
と言われてしまうのが気にかかる。
network再起動しても IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
なんて言ってるので、IPv6無効にできていないんだろうなあ・・・
root@OpenWrt:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000 link/ether 2c:b0:5d:bf:0d:35 brd ff:ff:ff:ff:ff:ff 5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 2c:b0:5d:bf:0d:35 brd ff:ff:ff:ff:ff:ff inet 192.168.10.11/24 brd 192.168.10.255 scope global br-lan valid_lft forever preferred_lft forever inet6 2001:c90:8440:4e89:2eb0:5dff:febf:d35/64 scope global dynamic noprefixroute valid_lft 2591957sec preferred_lft 604757sec inet6 fe80::2eb0:5dff:febf:d35/64 scope link valid_lft forever preferred_lft forever root@OpenWrt:/# ip -6 a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 inet6 2001:c90:8440:4e89:2eb0:5dff:febf:d35/64 scope global dynamic noprefixroute valid_lft 2591926sec preferred_lft 604726sec inet6 fe80::2eb0:5dff:febf:d35/64 scope link valid_lft forever preferred_lft forever root@OpenWrt:/#
br-lanに inet6 ですと。
やっとIPv6を無効にできた
「OpenWrtでIPv6を無効にする」方法をGoogle先生に訊きまわったが、どうもうまくいかない。
Ubuntuの記事だが、/etc/sysctl.conf でIPv6を無効にする方法を ここ で見つけた。OpenWrtはDebian系だとどこかで見たたような気がする。UbuntuもDebian系なので使えるかもしれない。
root@OpenWrt:/# echo net.ipv6.conf.all.disable_ipv6=1 >> /etc/sysctl.d/60-ipv6-disable.conf root@OpenWrt:/# echo net.ipv6.conf.default.disable_ipv6=1 >> /etc/sysctl.d/60-ipv6-disable.conf root@OpenWrt:/# echo net.ipv6.conf.lo.disable_ipv6=1 >> /etc/sysctl.d/60-ipv6-disable.conf root@OpenWrt:/# conf.default.disable_ipv6=1
が、OpenWRTには systemctlコマンドがなかった
ええい、再起動してしまえ・・・
BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:/# root@OpenWrt:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000 link/ether 2c:b0:5d:bf:0d:35 brd ff:ff:ff:ff:ff:ff 3: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 2c:b0:5d:bf:0d:35 brd ff:ff:ff:ff:ff:ff inet 192.168.10.11/24 brd 192.168.10.255 scope global br-lan valid_lft forever preferred_lft forever root@OpenWrt:/# ping openwrt.org PING openwrt.org (139.59.209.225): 56 data bytes 64 bytes from 139.59.209.225: seq=0 ttl=47 time=249.142 ms 64 bytes from 139.59.209.225: seq=1 ttl=47 time=247.421 ms 64 bytes from 139.59.209.225: seq=2 ttl=47 time=247.429 ms 64 bytes from 139.59.209.225: seq=3 ttl=47 time=247.544 ms ^C --- openwrt.org ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 247.421/247.884/249.142 ms root@OpenWrt:/#
おっ、IPv4になってる。
なんかいろいろ無駄なことしたかもだけど、結果オーライということにしますか
ようやくluciのインストールができそう
IPv6を無効にしたことで、IPv4での接続となり、opkgコマンドが無事使えるようになった。
opkg update
して、、、
root@OpenWrt:/# opkg update Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/packages/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_core Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/packages/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/base/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_base Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/base/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/kmods/5.10.115-1-5e89d550415de5334e3e9ca9aff7b1a0/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_kmods Downloading https://downloads.openwrt.org/snapshots/targets/kirkwood/generic/kmods/5.10.115-1-5e89d550415de5334e3e9ca9aff7b1a0/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/luci/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_luci Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/luci/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/packages/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_packages Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/packages/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/routing/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_routing Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/routing/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/telephony/Packages.gz Updated list of available packages in /var/opkg-lists/openwrt_telephony Downloading https://downloads.openwrt.org/snapshots/packages/arm_xscale/telephony/Packages.sig Signature check passed. root@OpenWrt:/#
luciをインストール
root@OpenWrt:/# opkg install luci luci-ssl luci-i18n-base-ja root@OpenWrt:/# service uhttpd restart root@OpenWrt:/# service uhttpd enable
luci 起動に成功
ブラウザから ReadyNasのIPアドレスに接続。 やっとここまでたどり着いた
OpenWRT化したReadyNAS Duo v2起動時のコンソールログ → readynas_duo_v2_openwrt_startup_log