Microsoft365のデータ容量上限設定
今までは、OneDrive,Teams,Outlookは、Microsoft との協定で高専では、かなり余裕をもって使えていたけど、利用の拡大で色々と制限がかかるようになった。そりゃしかたがないよね。
システム名 現行の容量 制限後の容量(対象)
・OneDrive 1TB 50GB(全教職員・学生)
・Teams・SharePoint 1TB 100GB(Teams(チーム)・SharePointサイト)
・Outlook 50GB 10GB(全教職員・学生)
ということで、職場個人の OneDrive と Outlook を大掃除。
- OneDrive 55GB → 20GB
- Outlook 11GB→ 6.5GB
Outlook は、数年前までは用途別にフォルダ分けをしていたけど、この3,4年はフォルダ分けを断念。受信トレイに18000件,3.8GB のメッセージが溜まってる。(でもほとんど改めては見ることのないメールばかりだろう)
Surface GO に Ubuntu 24.04 をインストール
仕事で使っていた Surface Go だけど、最近は処理速度も「もっさり」で使う機会もほぼなく、Ubuntu 24.04 をインストールを試してみる。ブートメディアで Type-C USB を購入し Rufus で イメージファイルを書き込む。
BitLockerの解除から
ひとまず、Try モードで起動もできたし、本気のインストールを試そうとしたら、BitLocker で暗号化されているとの表示。暗号化解除をしようと再起動したら、BitLocker キーの催促画面。はて、なんだっけ。
学校のアカウントでデバイスを探したら普通に キーが見つかったので、解除。といっても時間かかるなぁ…
OneNoteの起動用アイコン
snap を使っていろいろな最新アプリも使うことができるが、Microsoft OneNote が起動できなかった。手作業で起動しようとすると、「うまく起動できない場合は –no-sabdbox のオプションをつけるといいかも」みたいな説明が出る。ということで、デスクトップに下記のファイルを置いて対応。
#!/usr/bin/env xdg-open [Desktop Entry] Terminal=false Type=Application Name=Microsoft OneNote Icon=/snap/onenote-desktop/current/meta/gui/icon.png Exec=/snap/onenote-desktop/current/onenote-desktop --no-sandbox
ひとまず設定完了
仕事スマホの着信をiPhoneで通知を受けるには
この4月から、仕事の緊急連絡を受けるためのAndroidスマホを拝領することとなった。ただ、めったにかかってこない電話だし、着信を受け漏らす可能性が心配で自分のiPhoneで着信の通知で確認できないかと画策。
一方で、その Android スマホに自分のプライベートアカウントの情報を色々と書き込むのは、仕事スマホを他の人に一時的に貸し出す際に不安。(というか前任者から仕事スマホを預かった際に、この辺が不安となった)
IFTTTで電話の着信をGmailで通知を利用
最終的には、仕事スマホに IFTTT をインストールすることとなった。
- IFTTTに仕事スマホ専用のGmailアカウントで登録し、
- IFTTTのルールで「 if 着信を取れなかったら、then 自身のGmailにメールを送信」を書き込んでおき、
- 自分の iPhone で、仕事スマホ専用 Gmail を見れるように設定しておく
という対応となった。
hilite=nslookup/// って何?
なにげなく、WordPress な Web の accesslog を見ていたら、下記のようなログが大量(8000件/日越え)に残ってる。
3.224.220.101 - - [07/Mar/2024:09:17:32 +0900] "GET /2019/09/27/hoge-meta/?hilite=nslookup//////////...(略)...//// HTTP/1.1" 200 19136 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)"
hilite=… は、WordPress の検索プラグインが使うパラメータ WordPressで記事の特定部分を目立たせる際のパラメータ。大量の////が並ぶので、プラグインへのバッファオーバーフロー攻撃かと思うけど、ググってもそういった類の報告は見つからない。
amazonbot というのがユーザエージェントに残ってるし、確認するとどのユーザエージェントも amazonbot 。IPアドレスも散らばっているけど、逆引きすると amazonbot のアドレス。クローラーが暴走してるのかな。意味不明で不気味。
(追記)
確認を続けると、数日前の LOG だと、/// の長さがちょっと短い。さらにさかのぼっていくと次第に短くなっている。hilite=nslookup が出てきた最初は、下記の通り。この段階では “/” はナシだな。
xx.xx.xx.xx - - [29/Feb/2024:07:00:01 +0900] "GET /2023/11/16/network-layer-ip-address-2023/?hilite=nslookup HTTP/1.1" 200 19165 "-" "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)" xx.xx.xx.xx - - [29/Feb/2024:12:42:46 +0900] "GET /2023/11/16/network-layer-ip-address-2023/?hilite=nslookup HTTP/1.1" 200 70965 "-" "ICC-Crawler/2.0 (Mozilla-compatible; ; http://ucri.nict.go.jp/en/icccrawler.html)"
該当記事をみると、講義録の nslookup を目立たせるために、?hilite=nslookup で自分の記事にリンク張ってる。こんなもんで、変なアクセスが増えてるの?どっちにしろ、クローラーのバグっぽいな。
となると、amazonbot のクローラー禁止するか。
((( robots.txt ))) User-agent: Amazonbot Disallow: /
ネットワーク層とIPアドレス
前回の授業でL2スイッチのVLAN機能や、WiFi の話が不十分だったので、前回資料にて補足説明を行う。
説明したMACアドレスによるデータリンク層では、1つのサブネットの中で指定した相手にデータを送ることはできる。しかし、データリンク層だけでは、他のサブネットにいる相手にデータを送ることができない。(相手の名前を知っていても、住所を知らなければ郵便は送れない。)
ネットワーク層とIPアドレス(IPv4)
サブネットに分割し、隣接するサブネット、さらには上流のインターネットと通信をするためには、IPアドレスを用いた通信が行われる。
ネットワークに接続する機器には、それぞれユニークな32bitの番号(IPv4アドレス)を割り振る。
コンピュータへのIPアドレスの設定には、(a)IPアドレス,(b)サブネットマスク,(c)ゲートウェイの情報が必要となる。
- IPアドレス: 192.156.145.100 といった、0~255の8bitの値をピリオド区切りで4つ並べて表記するのが一般的。
- サブネットマスク: 255.255.255.0 といった値で、IPアドレスを2進数で書き並べた32bitと、サブネットマスクの32bitで、2進数の論理積をとった値は、ネットワーク番号と呼ばれ、機器が存在する場所を表す。
また、IPアドレスとサブネットマスクの否定と論理積をとった値は、ホスト番号と呼ばれる。
サブネットマスクは、先行する1のbit数で書き表すことも多い。255.255.255.0は、”/24″のように書く。 - ゲートウェイ: 自分自身のネットワーク番号と通信相手のネットワーク番号が異なる場合は、異なるサブネットにいるので、パケットを中継してもらう機器(ルータ,ゲートウェイ)にパケットを送る。
- IPアドレスとクラス: IPアドレスは、先頭8bit をネットワーク番号とするクラスA,16bitのクラスB,24bitのクラスCに分類されている。以前は、IPアドレスを割り当てる企業規模に応じて、大規模な大学だからクラスA、中規模ならクラスB(福井大学は133.7.0.0/16 ←このような書き方はCIDR記法という)、小規模ならクラスCを割り当てていた。(福井高専はCクラスを5本192.156.145~149.0/24 : 福井高専のIPアドレスでは3つのCIDR記法で表現できる。 192.156.145.0/24, 192.156.146.0/23, 192.156.148.0/23)
しかし、最近では IPv4 アドレスの不足から、大きな組織に割り振られた クラスA を再分配している。
ARP(IPアドレスとMACアドレスの橋渡し)
同じサブネットの中では、データリンク層でMACアドレスを用いて通信相手を指定するが、ネットワーク層ではIPアドレスを用いて通信相手を指定する。この違いを埋めるためのプロトコルがARPである。
サブネット内に相手先IPアドレスの指定されたパケット(10.10.22.102)が届くと、通信機器はサブネット内の全ての機器相手に ARPリクエストを送信する。(10.10.22.102はいますか?)
この時、10.10.22.102 のコンピュータは、自分宛てのパケットがあることを知るので、送信元のコンピュータに、自分のMACアドレスを付けたARPリプライを送り返す。(10.10.22.102は、私 “FE:DC:BA:98:76:54” です!)。送信元は、ARP通信をへらすために、その情報を記憶して、2度目以降は覚えたMACアドレスですぐに通信を始める。
ルータとRIP
ルータは、隣接するサブネットの間に入る機器で、各サブネットにゲートウェイとなるインタフェースを持つ。ルータでは受け取ったパケットをどこに流すか…という経路情報が重要となる。
- 静的ルーティング – 末端のルータの設定で、管理者が経路を設定
- 動的ルーティング – 上流ルータでRIPにより設定
経路設定には2種類あり、(a)末端のルータではこのネットワーク番号はどのルータに送るという情報をルータに直接設定する静的ルーティングがとられる。(b)上流のルータでは、末端のルータの設定が変更されることがあるので、ルータ同士がルーティング情報を送りあう動的ルーティングがとられる。動的ルーティングでは、RIPというプロトコルにより、各サブネットのつながっている経路情報が送られてくる。この経路情報を見て、パケットのIPアドレスを見て、パケットの送り先を判断する。
((Windows の場合))
C:> ipconfig /all インタフェース名: IPv4アドレス............192.168.xx.xx サブネットマスク.........255.255.255.0 デフォルトゲートウェイ....192.168.xx.1 C:> arp -a インタフェース: 192.168.xx.xx 74-03-xx-xx-xx-xx 動的 192.168.xx.yy B0-05-xx-xx-xx-xx 動的 C:> netstat -r ネットワーク宛先 ネットマスク ゲートウェイ インタフェース メトリック 0.0.0.0 0.0.0.0 192.168.xx.1 192.168.xx.xx 45 192.168.xx.0 255.255.255.0 ....
((Unix の場合))
$ ifconfig -a en1: .... inet 192.168.xx.xx netmask 0xffffff00 ... $ arp -an .... (192.168.xx.xx) at 74:03:xx:xx:xx:xx ... .... (192.168.xx.yy) at b0:05:xx:xx:xx:xx ... $ netstat -rn Destination Gateway ... default 192.168.xx.1 ... 192.168.xx ...
プライベートアドレス
IPv4 では、32bit でコンピュータを識別することから、最大でも 232台≒40億台しか識別できない。実際、IPアドレスの管理団体では、2017年度には IPv4 アドレスは使い切った状態となっている。この対応として、その組織やその家庭内だけで使われる IPアドレス である、プライベートアドレスが用いられる。
- 10.0.0.0~10.255.255.255 / 8 – 大きな機関向け
- 172.16.0.0~172.31.255.255 / 12
- 192.168.0.0~192.168.255.255 /16 – 個人向け
プライベートアドレスを利用する組織では、インターネットに接続するルータでは NAT(もしくはNAPT) という機能を内蔵し、プライベートアドレスとグローバルアドレスの変換を行う。
IPv6アドレス
IPv4の32bit の IP アドレスでは、40億台のコンピュータを区別することしかできない。そこで、最近では 128bit の IPv6 アドレスが用いられる。IPv6 では、2004:6800:4004:0826:0000:0000:0000:0000:2003 (www.google.co.jp) といった16進数4桁(16bit)を8個を”:”区切りで書き連ねる書き方をする。ただし16進4桁の先行する0や、全部”0000″ は省略して、”2404:6800:4004:826::2003″ と書く。IPv6 は最近では普及がかなり進んでいるが、途中のルータなどがすべて IPv6 に対応する必要があり IPv4 しか使えない組織も多い。
DNS と nslookup
IPアドレスみたいな数字の羅列は覚えることが難しい。このためコンピュータの名前からIPアドレスを調べるサービスがあり、Domain Name Service(DNS) と呼ばれる。詳しい仕組みは ドメイン名の説明の際に行うが、IP アドレスの調べ方を説明する。
ドメイン名から、IP アドレスを調べるには、nslookup (もしくは dig) を使用する。
$ nslookup www.fukui-nct.ac.jp : Non-authoritative answer: Name: www.fukui-nct.ac.jp Address: 104.215.53.205 $ nslookup -query=A www.fukui-nct.ac.jp # IPv4 アドレスの取得 (同上) $ nslookup -query=AAAA www.google.co.jp # IPv6 アドレスの取得 : Non-authoritative answer: Name: www.google.co.jp Address: 2404:6800:4004:826::2003
理解確認
- Cクラスのサブネットに設置できるコンピュータの台数は何台?
- “172.”で始まるプライベートアドレスでは最大何台?
- 192.168.11.2/24 のコンピュータから、192.168.1.50にデータを送る場合、どのような処理が行われるか、IPアドレス、サブネットマスク、ゲートウェイ、ネットワーク番号を使って説明せよ。
- 同じサブネット内で相手のIPアドレスが与えられた時、どのようにパケットが送られるか、MACアドレスとARPを交えて説明せよ。
Microsoft AutoUpdate Trouble
MacOS で、Office 系を立ち上げると、以下の警告ポップアップがしつこく表示されるようになった。ウィンドウ閉じても数秒後に沸いて出てくるし、OK 押しても同じ。
表示されたメッセージでググると、こちらのページが見つかる。/Library/Application Support/Microsoft の中を探して Microsoft AutoUpdate のフォルダを消せと書いてある。はぁ…
$ cd /Library/Application\ Support/Microsoft/ $ find -name "*AutoUpdate*" -print $ cd MAU2.0 $ sudo rm -rf Microsoft\ AutoUpdate.app
んで、うざい画面は出なくなったけど、当然ながら AutoUpdate が動かなくなったので、Office 365 の再インストール。Office系はすでにインストールをしてあるし、新たに AutoUpdate で問題があったので AutoUpdate をインストールするよ…と表示されて、無事復旧。
事の始めは、Microsoft Teams Classic を使ってたら、”新しい Teams” という表示があってインストールしたのが原因かも。ということで、新しい Teams は入れないのが正解かな。
クラウドサーバ等の Ubuntu 22 への更新
Windows PC の wsl2 の設定を間違えて、/etc/wsl.conf が触れなくなり、特に slogin とか latex 環境とかが動けばいいや…の使い方なので、Ubuntu をアンインストールして、新しい Ubuntu をインストールする。ここで、Ubuntu 20(focal) から Ubuntu 22(jammy)への更新。自宅 Windows なども同様にアップグレードを行った。
んで、改めて作業をしていると、自分が管理しているクラウドサーバでも、何台か Ubuntu(focal) が残っている。aptitude safe-upgrade をしていても、linux-image-5.4 あたりのままだし、ここもアップグレード。
といっても、”do-release-upgrade” を実行するだけ。かなり時間かかるけど。
mariadbトラブル appamor
mariadb が止まってしまう
パッケージの更新をしていたら、mariadb が起動しなくなる。systemctl start mariadb を実行すると、コマンドラインに帰ってこない。Ctrl-Z で background にすると WordPress も動いているし問題ないのかと思えば、30分ほどするとエラーを吐いてとまる。journalctl -xe で吐いているエラーを確認すると以下のようなメッセージが残っていた。
AVC apparmor="DENIED" operation="connect" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/mysqld" name="run/nscd/socket" pid=67400 comm="mysqld" requested_mask="wr" denied_mask="wr" fsuid=118
メッセージを元にググると、こちらの記事が該当した。
AppArmor(Application Armor)は、各プログラムにセキュリティプロファイルを結びつけ、プログラムのできることに制限をかけるプログラム…らしい。(wikipediaより)
AppArmor の不具合を解消
パッケージを MySQL から MariaDB に移行する際に、AppArmor でトラブルが残ったみたい。こちらの記事を参考に、以下のコマンドで、ゴミを消したらうまく起動するようになった。
$ sudo aa-remove-unknown Removing '/usr/sbin/mysqld' mysql関連のゴミを消してくれたみたい。 $ sudo systemctl start mariadb 無事に起動
mariadb の utf8mb4 への移行完了
自宅サーバで、mysqlからmariadbへの移行、内部文字コードが Latin1 になっていたものを utf8mb4 への変更がようやく上手くいったと思う。そこで、学科のWebサーバも同様に移行作業を行う。ただ、文字コードの移行などの際にデータベースの物理ファイルを壊してしまったようで、どこまで上手く治ったのかが不安。
mysql5.7でFROZNモード
先日、mysql-server-5.6 からのアップグレードに失敗し、mariadb, mysql 8 などを入れたり消したりのトラブルを発生させちゃったけど、今日 “aptitude safe-upgrade” を実行したら、アップグレード時にデータベースの互換性で問題ありと判定され、FROZEN モードになってしまい、データベースとつながらなくなった。おかげで WordPress が動かなくなる。
明日からの試験で、Webでの講義資料公開ができなくなると、学生さんからも不満が出そう。
早々に修正と思うけど、FROZEN ファイルを読むと、mysql-server-5.7 が入っているけど、mysql-server-5.6 からのアップグレードに問題があるから、一度 5.6 にダウングレードしてから、5.7 にアップグレードしろ…との説明。
でも、5.6 はインストール対象から外されている。ひとまず、その後に dpkg-reconfigure mysql-server-5.7 を実行せよと書いてあるので、dpkg-reconfigure を実行。データベースの更新やらチェックが行われて、若干エラーが出たけどうまく修復できたみたい。rm /etc/mysql/FROZEN して systemctl start mysql を実行。無事 WordPress が動き出す。