SSブログ

お尻合い [にゃんこ]

この向きなら至近距離でも大丈夫:-)
nyanko-2894.jpg
さて、正月休みも、あと1日。
明日は、仕事始めの準備作業かな。
久々に、仕事を忘れて、気になっちゃったことを解決することに没頭出来た、いい休みでした:-)
今年も、がんばろー!
nice!(32)  コメント(2) 
共通テーマ:ペット

Rally Calendar 2021 [Rally]

2020年はRally JAPANがCancelされ、Rally Hokkaidoは無観客開催となり、NHK BSでWRCでのTeam TOYOTAの活躍を見るぐらいしか出来なかったけど、2021年は観に行けるといいなぁ~

■WRC
https://www.wrc.com/en/news/season-2020/wrc/wrc-calendar-2021/
Rally JAPANは11/11-14のようです。

■ARPC
https://fiaaprc.com/2021-aprc-calendar/
嬬恋が2/4-7
北海道が9/10-12
です。まずは自分のカレンダーにインプット:-)
休みを確保せねば。
nice!(10)  コメント(0) 
共通テーマ:自動車

netshコマンドの使い方(一部) [Windows 10]

Power Shellのコマンドって、洗練されてないよなーって事で、あんま深入りすることもないのですが、必要なときには使わないとしょーがないので。

でですねnetstat -rでUNIX宜しくrouting tableを表示してくれます。
いいところは、オプションをしなくてもIPv6も表示してくれるところ。
一方でrouteコマンドはroute printしないとダメです。UNIXならrouteだけでいいのに。
こちらも表示した結果はnetstat -rと同じになります。
ipconfigにしろ、びみょーにUNIXと異なるのは、どうにかして欲しいんですね。昔から思いますが。

んで、この記事の本題。
前の記事
https://straycats.blog.ss-blog.jp/2021-01-03
の続きです。

そもそもはipconfigでは見れない、IPv6の設定状況を確認するところから始まりました。
設定確認なら、普通にPower Shellを開いても利用出来ますが、例えばrouting tableを変更しようとする場合は、管理者権限で開く必要があります。
sudoよろしく、runasで同じようなことが出来ます。

まずはIPv6の設定状況の確認。
> netsh interface ipv6 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 17           5        1500  disconnected  イーサネット 2
 13           5        1500  disconnected  イーサネット 3
 21          25        1500  connected     VirtualBox Host-Only Network
 50        5000        1500  connected     vEthernet (WSL)
  8          15        1500  connected     イーサネット 6
こんな感じでネットワーク接続の一覧が表示されます。
一番左端のIdxの数字がI/Fを指定する番号です。

ちなみに
> netsh interface ipv6 show
とか、netshが理解可能な所まで打ち込めば、その状況に応じたコマンドの使い方
使用できるコマンドは次のとおりです:

このコンテキストのコマンド:
show addresses - 現在の IP アドレスを表示します。
show compartments - コンパートメント パラメーターを表示します。
show destinationcache - 宛先キャッシュ エントリを表示します。
show dnsservers - DNS サーバー アドレスを表示します。
show dynamicportrange - 動的ポート範囲の構成パラメーターを表示します。
show excludedportrange - すべての除外ポート範囲を表示します。
show global    - グローバル構成パラメーターを表示します。
show interfaces - インターフェイス パラメーターを表示します。
show ipstats   - IP 統計情報を表示します。
show joins     - 参加したマルチキャスト グループを表示します。
show neighbors - 近隣キャッシュ エントリを表示します。
show offload   - offload 情報を表示します。
show potentialrouters - 利用可能なルーターを表示します。
show prefixpolicies - プレフィックス ポリシー エントリを表示します。
show privacy   - プライバシー構成パラメーターを表示します。
show route     - ルート テーブル エントリを表示します。
show siteprefixes - サイト プレフィックス テーブル エントリを表示します。
show subinterfaces - サブインターフェイス パラメーターを表示します。
show tcpstats  - TCP 統計情報を表示します。
show teredo    - Teredo 状態を表示します。
show tfofallback - ネットワーク単位に TCP Fastopen フォールバック状態を表示します。
show udpstats  - UDP 統計情報を表示します。
が表示されますが、理解出来ない場合、例えば...
> netsh interface ipv6 shoq
次のコマンドは見つかりませんでした: interface ipv6 shoq
とつれない返事を返してきます。
Power Shellのコマンドって、階層構造になってて、ヒストリー機能を使えど、打ち込み文字数多いし、何か指定するのに、覚えにくい数字を使ってと言うのが多いと思います。
直感的じゃ無いんですよね。

気を取り直してIdx 8の設定を見てみましょう。
> netsh interface ipv6 show interface 8

インターフェイス イーサネット 6 パラメーター
----------------------------------------------
IfLuid                             : ethernet_32780
IfIndex                            : 8
状態                               : connected
メトリック                         : 15
リンク MTU                         : 1500 バイト
到達可能な時間                     : 38000 ミリ秒
基本の到達可能な時間               : 30000 ミリ秒
再転送間隔                         : 1000 ミリ秒
DAD 転送                           : 1
サイト プレフィックスの長さ        : 64
サイト ID                          : 1
転送                               : disabled
アドバタイズ                       : disabled
近隣探索                           : enabled
近隣到達不可能性検出               : enabled
ルーター発見                       : enabled
管理されたアドレス構成             : enabled
その他のステートフル構成           : enabled
脆弱なホストによる送信             : disabled
脆弱なホストによる受信             : disabled
自動メトリックの使用               : enabled
既定ルートを無視                   : disabled
アドバタイズされたルーターの有効期間: 1800 秒
既定ルートのアドバタイズ           : disabled
現在のホップ制限                   : 64
ARPND スリープ解除パターンの強制   : disabled
指定の MAC スリープ解除パターン    : disabled
ECN 機能                           : application
RA ベースの DNS 構成 (RFC 6106)    : enabled
DHCP/静的 IP の共存         : enabled

こんな感じ。

今でこそ
管理されたアドレス構成             : enabled
その他のステートフル構成           : enabled
となってますが、ふつーは
管理されたアドレス構成             : disabled
その他のステートフル構成           : enabled
となってるはずです。
これがradvd使ってネットワーク上にRAを流した結果disabledがenabledに変わってます。

お次は、routing tableの見方、変え方です。
> netsh interface ipv6 show route

発行     種類      Met  プレフィックス            Idx ゲートウェイ/インターフェイス名
-------  --------  ---  ------------------------  ---  ------------------------
いいえ      Manual    256  ::/0                        8  fe80::ooo5:ppp5:qqq5:rrr5
いいえ      Manual    256  ::/0                        8  fe80::ooo6:ppp6:qqq6:rrr6
いいえ      System    256  ::1/128                     1  Loopback Pseudo-Interface 1
いいえ      Manual    256  aaaa:bbbb:cccc:dddd::/64      8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eeee:fff0:ggg0:hhh0/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee1:fff1:ggg1:hhh1/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee2:fff2:ggg2:hhh2/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee3:fff3:ggg3:hhh3/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW::/64    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:192:168:iii0:jjj0/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:192:168:iii1:jjj1/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:kkk0:lll0:mmm0:nnn0/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:kkk1:lll1:mmm1:nnn1/128    8  イーサネット 6
いいえ      System    256  fe80::/64                  13  イーサネット 3
いいえ      System    256  fe80::/64                  17  イーサネット 2
いいえ      System    256  fe80::/64                   8  イーサネット 6
いいえ      System    256  fe80::/64                  21  VirtualBox Host-Only Network
いいえ      System    256  fe80::/64                  50  vEthernet (WSL)
いいえ      System    256  fe80::ooo0:ppp0:qqq0:rrr0/128   21  VirtualBox Host-Only Network
いいえ      System    256  fe80::ooo1:ppp1:qqq1:rrr1/128   13  イーサネット 3
いいえ      System    256  fe80::ooo2:ppp2:qqq2:rrr2/128   50  vEthernet (WSL)
いいえ      System    256  fe80::ooo3:ppp3:qqq3:rrr3/128    8  イーサネット 6
いいえ      System    256  fe80::ooo4:ppp4:qqq4:rrr4/128   17  イーサネット 2
いいえ      System    256  ff00::/8                    1  Loopback Pseudo-Interface 1
いいえ      System    256  ff00::/8                   13  イーサネット 3
いいえ      System    256  ff00::/8                   17  イーサネット 2
いいえ      System    256  ff00::/8                    8  イーサネット 6
いいえ      System    256  ff00::/8                   21  VirtualBox Host-Only Network
いいえ      System    256  ff00::/8                   50  vEthernet (WSL)
な感じで表示されます。
netstat -rを、インタフェース名付で表示してくれるだけで無く、こちらでしか表示されないモノもあるようです... なんなんだ...

まあ、この例は固定IPアドレスで運用しているPCの情報なのですが、自分で設定していないモノまでたくさん出てくるし、固定IPアドレスなんだけど、自動的に振られるアドレス(aaaa:bbbb:cccc:dddd::/64やfe80::/64なprefixのアドレス)もあったりして、よく分からんです。
慣れれば&完璧に理解出来れば、そうでも無いのかもしれないけど、IPv4の直感的なわかりやすさは無いですね... アドレス空間の大きさが違いすぎるし(^^;

なお、RAのM-flagをONにして、無理矢理IPアドレスの配布をしなくても、name serverのアドレスを流してあげて、そのサーバーへの到達経路さえ設定出来れば、実はそれでもOK。
固定IPアドレスなPCでは、
いいえ      Manual    256  aaaa:bbbb:cccc:dddd::/64      8  イーサネット 6
この経路情報が勝手に付与されるのですが、DELL XPS13で実験をしていたとき、アドレスは取れたものの、この経路情報が設定されていないことに気が付きました。
それじゃ、パケットが到達しないよね。

これを、手動で無理矢理追加するのには管理者権限なPowerShellかrunasで管理者権限に昇格して
netsh interface ipv6 add route aaaa:bbbb:cccc:dddd::/64 Idx
とかしてIdxに設定したいI/F番号を指定してあげると出来ます。
route printコマンドでも、頭の方にI/F番号の情報は出てくるので、同じように出来るのですが、表示される経路情報にnetshコマンドとの結果の差異があったので、netshコマンド使ってやってみた結果の記録です。
今回、念のため手動でdeleteしても、再起動でアドレス取得と一緒に自動で必要な経路情報が設定させるところまでは確認しました。

さて、これで、年末年始にやりたかったことは実現出来たので、次はbind9を入れてname serverの二重化とかやりますか。
nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

Pi4 Ubuntu 20.04 LTSでradvdの設定 [Raspberry Pi]

さらに
https://straycats.blog.ss-blog.jp/2021-01-02-1
の続きです。

RA情報を流すにはradvdなるモノを使うようです。
http://www.litech.org/radvd/
Linux IPv6 Router Advertisement Daemonだそうです。
ついでにradvdumpなるモノもあるので、これも入れます。
$ sudo apt install radvd
$ sudo apt install radvdump
manとかないんですよ...
ってなことで
https://linux.die.net/man/5/radvd.conf
こちら参照しながらです。

パッケージインストール直後に、起動させようとして、/etc/radvd.confが無いから起動出来ないよんと言って、落ちるので、わかりやすい奴です。
GitHubにサンプル
https://github.com/reubenhwk/radvd/blob/master/radvd.conf.example
もあります。

radvd使ってやりたいことは...
home-network-05.jpg
こういうこと。

とりあえず
$ sudo radvdump
とかして、WindowsからIPv6アドレスを再取得させてあげると、RAが流れるので、dump出来ます。
ちなみに、同じところでradvd動かしてても、そっちの情報は取ってくれない感じです...
なので、上書き出来ているかどうかは、client頼み(^^;

今回は主だってM-flagをONにする事が目的なので、設定は最小限に:-)
interface eth0 {
  AdvManagedFlag on;
  AdvOtherConfigFlag on;
  AdvSendAdvert on;

  prefix ZZZZ:YYYY:XXXX:WWWW::0/64 {
    AdvOnLink on;
    AdvAutonomous on;
  };
};
だけです。
これで
$ sudo systemctl enable radvd
$ sudo systemctl restart radvd
してあげれば、管理されたアドレスがClientに付与されるはず!

試してみましょう。
Windows 10 clientで
> ipconfig /release6
> ipconfig /renew6
> ipconfig /all
これでIPv6アドレスとして、ZZZZ:YYYY:XXXX:WWWW::/64なdhcpd6.confで指定したアドレスが取得出来ていれば、成功です。
念のため、clientを再起動して、試してみましょう。
home-network-06.jpg
でけた:-)

実は、最初に試していたときは、ZZZZ:YYYY:XXXX:WWWW::/64への経路情報がDHCP6 clientに設定されず、アドレスとname serverアドレスは期待値なんだけど、経路情報が無いのでname serverにパケットが届かず、使えない状態でした。
ipconfigコマンドだけ使っていると、静的に設定しているDesktop環境との差が分かりません。
routeコマンドを使って、気づきました。
でも、WindowsってUNIX由来のコマンドだと、あまり細かいことが出来なくて...
PowerShellでnetshコマンドを使うことになります。

この辺は、次回。
nice!(20)  コメント(0) 
共通テーマ:パソコン・インターネット

Pi4 Ubuntu 20.04 LTSでDHCPv4 & DHCPv6の設定 [Raspberry Pi]

前の記事
https://straycats.blog.ss-blog.jp/2021-01-02
の続きです。

最後の絵をちょっと修正。
home-network-03.jpg
9.dhcpdは9.Ubuntu on Pi4に変わってます。あと、対象を7.Windows Laptopに絞りました。
こいつがどうにかなれば、他のものは付いてくるはず...

さて、dhcpdのインストールは
https://ubuntu.com/server/docs/network-dhcp
こちらに記載があるので、簡単です。
$ sudo apt install isc-dhcp-server
でおしまい。
DHCPv4にもDHCPv6にも対応しています。

■DHCPv4の設定
/etc/dhcp/dhcpd.confがサンプルとして置かれます。これをベースに修正します。
修正箇所は1カ所。追記1つ。
頭の方に
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
とあるので、これを
option domain-name "localdomain-name";
option domain-name-servers IPv4-nameserver-address, IPv4-nameserver-address;
と書き換えればおk。
まあ、name serverは3つ書き並べても4つ書き並べてもよいかと。限界は知りません。
いくつ認識してくれるかは、受け取り側次第です。
とりあえず、今回の目的は、Windows Serverのname serverを参照させることなので、1つ目は、そのアドレスを記載します。2つ目は1.Router様のアドレスを記載するとよいかと。まあGoogle Public DNS
https://developers.google.com/speed/public-dns
に記載の8.8.8.8や8.8.4.4を設定してもよいですし、ISPのサーバーを指定してもよいです。

追記は、最後にClass Cプライベートアドレス空間であれば
subnet 192.168.AAA.0 netmask 255.255.255.0 {
  range 192.168.AAA.BBB 192.168.AAA.CCC;
  option routers 192.168.AAA.NNN;
}
なんて感じに、払い出しに使えるアドレスレンジとgatewayの情報を書いてあげればよし。

この状態で
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl restart isc-dhcp-server
とすればよし。
enableしておけば、次回再起動の時にも勝手に立ち上がります。
あ、1.Router様で動いているDHCPv4をkillしておく必要があります。どこかでDHCPv6が動いていたら、それも止めましょう。

ここまでやったら、Windows 10 DHCP clientで
> ipconfig /release
> ipconfig /renew
> ipcofnig /all
して、IPv4アドレスと、name serverアドレスと、gatewayのアドレスが取得できているかを確認します。とれていれば、問題なし。
サーバー側も
$ sudo tail -f /var/log/syslog
しておけば、アドレスの払い出し状況をリアルタイムに確認できます。

■DHCPv6の設定
こちらも/etc/dhcp/dhcpd6.confがサンプルとして置かれるので、これをいじります。
こちらも修正が1カ所、追記が1つです。

修正は、IPv4同様
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";

option dhcp6.name-servers IPv6-nameserver-address, IPv6-nameserver-address;
option dhcp6.domain-search "localdomain-name";
のようにします。
こちらも1つ目はWindows Serverで動くname serverのアドレスを指定します。2つ目以降は1.Router様自体を指定してはいけません。ステートレスで取得するname serverのアドレスは、1.Router様になるのですが、これは変わる可能性があるので、1.Router様の管理画面で取得出来るDNS Server Addressを確認して、これを設定するか、これまたGoogleのを設定するかします。

追記は、こちらも最後に
subnet6 ZZZZ:YYYY:XXXX:WWWW::/64 {
  range6 ZZZZYYYYXXXXW:WWW:192:168:AAA:BBB ZZZZ:YYYY:XXXX:WWWW:192:168:AAA:BBB;
}
なんてして、おしまい。
インタフェースIDの64-bit空間を表記上IPv4と同じにして、わかりやすく贅沢に使った例になります。
ま、固定で割り振るアドレスとぶつからなければ、どーでもいい部分なので、お好きにどーぞ。
なお、こちらはgatewayアドレスの設定がありません。
これは
https://askubuntu.com/questions/649547/how-to-set-default-gateway-in-dhcpd6-conf
ここに理由が書いてあります。

設定結果は以下の様に起動します。
$ sudo systemctl enable isc-dhcp-server6
$ sudo systemctl restart isc-dhcp-server6
最後に6が付くだけ。

Windows 10 DHCP clientで確認するには...
> ipconfig /release6
> ipconfig /renew6
> ipcofnig /all
として、IPv4と同じように、意図したままにアドレスが取得出来ていれば、完了です。

これで終われば、良かったんですが...
home-network-04.jpg
ダメ。とほほ... orz
IPv6のアドレス割り当てがうまくいってません。
/var/log/syslogには、払い出したログが残っているのですが、受け取り側が無視しているようです。
ここで、ようやく、前の記事で記載したIPv6のアドレスがどのように設定されているのかという事実に向き合うことになりました。

要は、RAのM-flagをONにした情報を流す奴が必要... Routerのお仕事はしなくていいので(^^;
ということで、次の記事でその辺を書きます。

しかし、さらに、最後の最後で気が付いたんですが、ここで、routing tableを見とけば、良かったなと思うこともありました。
それも次の記事か、その次あたりで..
nice!(16)  コメント(0) 
共通テーマ:パソコン・インターネット

年末年始の休みでやりたかったこと [Network]

毎度のことですが、何か、目的を持って休みの過ごし方を決めてるわけでも無く、いつも行き当たりばったりですが、思いついたら、やってみないとどうにもならない性格。
どうも思考実験より手を動かしちゃうタイプ(^^;
楽しい方が優先:-p

そんなわけで、それを実現する手段として、これまた楽しそうなRaspberry Pi4を買ってきちゃったわけですね。昨晩もハマって、日付を超えてしまいました。
おかげで、色々勉強出来たし、解決策も見えてきました。

そもそも、うちのネットワーク環境はこんな感じです。
home-network-00.jpg#クリックすると大きくなります(以下省略)

Windows Serverがあること、比較的、固定IPアドレス設定を多用していること以外は、多くのおうちと変わらないと思います。
つい先日まで、DELL XPS13が来るまでは、これで不自由は無かったのですが...
どうも設定がおかしい?というか、やりたいことができるネットワークの構成や設定になってないと言うことが分かったのが、年末です。
こういうの、ある程度、暇じゃ無いと気づかないし、対処しないんですね。会社の仕事じゃないし(^^;
昔は、会社で本番環境作る前に、自宅で疑似環境をつくってなんてこともやってたおかげでSunのWorkstationが最大7台もありましたが、今はそんな事をするつもり無いです。
なので、中古でエンタープライズなRouterやL3 Switchを買うとかはなし。
お安く、自分の趣味も兼ねて楽しく解決出来る手段で、やりたいことをやることにしました。

さて、やりたいことを、シンプルに描いてみると、こんな感じ。
home-network-01.jpg
緑の線で付け足しました。
Windows 10からWindows Serverにアクセスしたいんです。
それもActive Directory環境下で認証された状態で。
よって、Windows 10はProfessional Ed.で、AD Domainに参加してます。
参加するためにはIPv4でもIPv6でも、Windows Serverで動かしているname serverを参照して、ドメインに参加するためのAD Serverの情報を見れる様にします。
ここまでは比較的簡単。IPv4でlookup出来る様になってれば、IPv6でlookup出来なくても、参加出来ちゃうんですね。
参加出来ちゃうと、ファイルサーバーアクセスも出来ちゃう。IPv6優先でもIPv4にfall backしてくれるから。
同じ理由でWeb accessとかも問題なし。
ただ、fall backするので、名前解決に時間がかかる...
今まで、ここまでは出来てたのですよ。

そんでもって、同じ様にDELL XPS13も対応しました。
でも、気づいちゃったんですね...
きっかけはWi-FiでWindows Updateがうまくいかなかったことなんですが、そもそも、外に持ち出す可能性のあるPCに固定IPアドレス設定して、どないすんの?と。

だったら、てってーてきに、どーにかしてやろうかと:-)
ちなみに、この思い立った時点のIPv6に関する知識は
https://straycats.blog.ss-blog.jp/2018-06-24
1年半前のこの時期から進化してません(^^;
そこから元旦までに、多少進化しました(^^)v
でも、たぶん、かなり実験的手法により習得した知見なので、ロジカルには間違ってそうな気もするので、この後の記事も、大目に見てください。

どーにかするにも、自動的にIPアドレスを取得させる場合に、そもそも誰がname serverをclientに渡すのか?
普段DHCPv4 serverにしていた、1.Router様には、そんなオプション設定機能はありませんでした。
さらにIPv6に関して言えば、DHCPv6 serverがない...
Wi-Fi APをrouter modeで使えば、あるにはあるけど、こっちもname serverを指定するオプション設定機能が無いことを確認済み。
なんで動いているかと言えば、IPv4は1.Router様が自分がrouterでgatewayであり、name serverのフォワーダーなので、その辺の情報を付加してアドレスの振り出しをしてるから。
IPv6はステートレスな自動設定でRA(Router Advertisement)情報を見てるんでしょう。これを出してるのは、1.Router様以外にいないはずです。
さらに、今回学習した中で分かったのは、この状態って、RAの中のM(Managed)とO(Other config)のFalgを見て決まる様で、MがoffでOがonの時みたいです。
https://www.atmarkit.co.jp/ait/articles/1303/14/news095.html
あとで、ツールを使って、この状態であることは確認しました。そんな事とは露知らず、dhcpd立てて、必要な情報を流せば、解決するだろうと思ったのが、事の始まりでした。
そのときのイメージがこちら。
home-network-02.jpg
9.dhcpdを実現するのに、Raspberry Pi4を買いに、意気揚々と秋葉原に買い出しに行ったのが2020/12/29でした。
とりあず、2020年内に基本的なセットアップを終わらせ、2021年元旦にDHCPv4/v6 server立ち上げ作業をしたので、この後、自分のメモ代わりに書きます。
その記事を書くのにも、脳ミソ整理をする都合から、お絵かきしてみました:-p
nice!(10)  コメント(2) 
共通テーマ:パソコン・インターネット

元旦の2にゃん [にゃんこ]

猫様方、日中はそれぞれお気にな場所でねんね。

お布団大好き、まめちゃんは...
nyanko-2892.jpg
リビングより5度は低い寝室でまーるくなってました。
日が落ちるまで、水飲み以外じゃ出てきません。

一方で、お日様大好き、くりちゃんは
nyanko-2893.jpg
場所を変えつつ、お日様チャージ。

日が落ちると、どっちも、床の上で転がってます...
猫様に、盆暮れ正月は関係ありませんな:-)
nice!(34)  コメント(11) 
共通テーマ:ペット

WSL2でUbuntu 20.04 LTS [Windows 10]

事のついで。Windows 10 2004なのをいいことにWSL2(Windows Subsystem for Linux Version 2)を利用して、Ubuntu 20.04 LTSを導入してみました。
ちょーお手軽:-)

https://qiita.com/whim0321/items/ed76b490daaec152dc69
こちらのサイトによくまとめられています。ここに書いたとおり実行して、ついでにWindows Terminalもインストールすれば、ばっちし!
ま、本家の
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
コレ見ても出来るっす。

とりあえず記録のために、こっちにも書いておくと...
Windows PowerShellを管理者として開いて
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
これで一旦、再起動させて..
もいっかい、PowerShellを管理者として開いて
> wsl --set-default-version 2
としておく。

このあと、Microsoft Storeを開いて、WSLで検索。
いろいろなdistributionがありますが、Ubuntu 20.04 LTSを選択、入手して起動すれば。おしまい。
Windows Terminalもついで入手しておきました。

んで、shutdownコマンドは使えず
$ wsl.exe -t Ubuntu-20.04
とかやると、Ubuntu-20.04なるインスタンスだけkill出来ます。
再起動はWindows Terminalとかでつなぎに行くか、Ubuntu 20.04 LTSをクリックするだけ。
瞬時に立ち上がります。

そりゃ、ほとんどプロセスを起動しなきゃ、早いよな...
systemdが動いていないので、自動起動系はことごとくダメ。

なお、Windows PowerShellから叩くときも全く同じ。どっちか区別することもないし、wslと叩くと、デフォルトインスタンスに繋がっちゃうと言う、お手軽さ。
どんなインスタンス(ディストリビューション)があるか?起動状態はどうか?を見るには
$ wsl.exe -l -v
とすればよし。
詳しくは--helpオプション付ければよしです。

そうはいっても、TeraTermで使いたい!
そもそもWindows Terminalはどうやって繋がってるんだろう?なんてところには、深入りせず(^^;
こちら
https://w.atwiki.jp/ohden/pages/864.html
を参照。
sshd動かしてlocalhostに繋げばよし。
うーん、複数同時にとか、Windows自身でsshd動かすときは、どうするんだろう?なんてことも、深入りせず(^^;

キーを作成して、設定変更して、サービスを起動すればOK。
$ sudo ssh-keygen A
ってしたら/etc/ssh/sshd_configの中のPasswordAuthenticationをyesに変更。
でもって
$ sudo service ssh start
でエラー無しで立ち上がったら、TeraTermでつなぎに行けます。

問題は、毎回、立ち上げたコンソールでこれを叩かないといけないこと...
とりあえず、動かすインスタンスが一つしか無ければ、Windows PowerShellというか、バッチファイルを一つ作って
wsl -u root -- service ssh restart
と叩くといいようです。スタートアップにおいておけば、ログオン時に勝手に立ち上がるし...
WSL2は、なにげにおもろいので、またそのうち。
nice!(14)  コメント(2) 
共通テーマ:パソコン・インターネット