はじめに
NervesのターゲットではmDNSが動作しているので、ssh nerves.local
で接続することができます。
しかし、WSLのコンソールでは、mDNSに対応していない為に、接続できません。
対応方法
WSLのネットワークモードをmirroredにする
[wsl2]
networkingMode = mirrored
変更後、wsl --shutdownでは変わらず、Windowsの再起動が必要でした。
wslのターミナルでifconfigを実行して、Windowsと同じIPアドレスが付与されていればmirroredになってます。
WSLのコンソールで、mDNSの名前解決パッケージをインストールする
'''
sudo apt-get install libnss-mdns
'''
ssh nerves.local
で接続できるようになりました
'''
$ ssh nerves.local
Interactive Elixir (1.17.2) - press Ctrl+C to exit (type h() ENTER for help)
████▄▄ ▐███
█▌ ▀▀██▄▄ ▐█
█▌ ▄▄ ▀▀ ▐█ N E R V E S
█▌ ▀▀██▄▄ ▐█
███▌ ▀▀████
test2_project 0.1.0 (4ebc6d62-0281-5183-ab70-6aa246da85e1) arm stm32mp135d
Serial : 0000
Uptime : 1 hours, 13 minutes and 20 seconds
Clock : 2024-11-03 13:14:04 UTC
Temperature : 87.8°C
Firmware : Valid (B) Applications : 40 started
Memory usage : 65 MB (14%) Part usage : 270 MB (2%)
Hostname : nerves-0000 Load average : 0.00 0.00 0.00
eth0 : 192.168.0.100/24, 240f:68:4c37:1:9c45:c7ff:fea0:ac83/64, fe80::9c45:c7ff:fea0:ac83/64
Nerves CLI help: https://hexdocs.pm/nerves/iex-with-nerves.html
Toolshed imported. Run h(Toolshed) for more info.
'''
ただ、なぜか、名前解決に10秒くらいかかります。
これも何とかしたいですね。
解決できたら、記事更新します。