SSブログ

mDNSが便利だった話(TimeMachineバックアップ) [PC関係]

さて、本日はネットワークネタである。

TP-Link AX50のリンクアグリゲーション機能はブリッジで稼働しているので使用できていない。AX50の導入過程で、Linuxサーバーのsambaが「おかしな挙動」をするようになってしまっていたことに気付いた。

普通にWindows PCやMacBookからsmbで接続すると、繋がるときと繋がらないときがあり、なんかおかしいなぁ、と思ってはいたのではあるが、その原因が分かったので紹介しておくのである。

原因はというと、CentOSにインストールしたsambaが2種類の設定で重複起動していただけという単純なもの。
ドメインコントローラー機能を盛り込んだ、後からインストールしたsambaが/usr/local/sambaの方に入っている。それとは別にyumでサクッとインストールした普通のsambaが/usrの方にも入っている。

ドメインコントローラー機能付きの/usr/local/sambaはもう使ってはいないのだが、なぜかデーモンが起動状態になり、おかしな挙動となっていた模様。
/usr/local/sambaの方は、winbindが有効になっていて、DNSが動いている。このDNSに今や使っていないネットワークのIPアドレスが登録されており、サーバー名でIPを名前解決すると間違えたアドレスが戻ってきて、接続できないエラーになる。

/usrの方のsambaに接続されると、NetBIOSかなんかで名前解決され、ちゃんと接続可になる。
これが「繋がるときと繋がらないときがある」の原因と判断。

/usr/local/sambaの方をsystemctlで停止したら、winbindも停止して、確実に接続できるようになった。やれやれ。

TimeMachineバックアップするためにmDNS導入



で、sambaが安定したので、MacBookのストレージデータをLinuxサーバーにTimeMachine機能でバックアップしようと考えたわけである。
MacのTimeMachineでsambaサーバーにバックアップするには、Linuxの方でmDNSを稼働させないとダメらしい。CentOSには標準で入っているのかな?avahiデーモンを起動したらmDNSが有効になった。avahiは別途インストールしたんだっけか?まぁ、細かいことはいいや。mDNSが使えるようになった。

mDNSは、DNSとは異なり、マルチキャストを使ったもの。マルチキャストなので、ネットワークセグメントの外では使えない。従って、ドメイン名は「.local」で固定になる。

試しにMacBookのターミナルからpingを打ってみるとちゃんと機能していることがわかった。
一応、断っておくが、「PC名」のところは、実際の名前にしないとダメですよ。

ping PC名.local


ちゃんと名前がIPアドレスに変換されている。

sshでもログインできるかやってみた。

ssh PC名.local


できたが、IPv6アドレスに変換された模様。まぁどっちでもいいか。

WindowsPCからもやってみる。

WindowsのpingはIPv6がデフォルトなのか、IPv6アドレスに変換された。

C:\Users\asai>ping MacBook名.local

Pinging MacBook名.local [fe80::463:XXXXX:XXXXXXX] with 32 bytes of data:
Reply from fe80::463:XXXX:XXXX:XXXXXXX: time=102ms
Reply from fe80::463:XXXX:XXXX:XXXXXXX: time=16ms


IPv4でpingするには-4オプションを付ければOK

ping -4 MacBook名.local


IPv4のアドレスにも変換できている。いいじゃん。


さて、MacBookはWi-Fi接続である。Wi-Fiの場合DHCPで自動IPアドレス付与の方がなにかと便利、というか単にめんどうだから固定にしてないだけ。AX50の導入でルーター再起動したのでDHCPサーバーがリセットされ、今まで割り当てられていたIPから別のIPに変わってしまった。

MacBookでnodejsでの開発を行っているので、Windows PCからEdgeなどのブラウザでMacBookのnodejsサーバにWebアクセスすることが多い。MacBookのIPアドレスはDHCPで自動取得。IPアドレスを調べてからURLを叩く方法でWebアクセスしている。

http://MacBookのIP:3000


そんなに変わらないからこれでOKか。とも思っていたのではあるが、今回変わってしまった。ちょっと面倒ではあったが、DHCPサーバのクライアント設定で、MACアドレスとIPアドレスの組を登録したので、元のIPには戻すことができた。

しかし、mDNSが使えるのであれば、URLで名前指定できるじゃん。DHCPサーバが飛んでアドレスが変わっても名前でアクセスできればOKじゃない。

http://MacBookの名前:3000


これでもmDNSが有効ならちゃんとWebアクセスできる。いいじゃん。
早くいってよぉ。


TimeMachineバックアップする



smb.confでタイムマシン用の共有フォルダを作成して、sambaを再起動する。
元ネタは以下のサイト

CentOS7のsambaサーバーにTime Machineでバックアップをとる

/etc/samba/smb.conf

    vfs objects = catia fruit streams_xattr
    fruit:metadata = netatalk
    fruit:encoding = native

[TimeMachine]
    comment = Backup for Mac
    path = /home/timemachine
    writable = yes
    browsable = yes
    guest ok = yes
    fruit:time machine = yes
    fruit:time machine max size = 200G



TimeMachineのバックアップ先にLinuxのsambaを指定する。
システム環境設定...で画面を開いて、Time Machineのアイコンをクリック。

スクリーンショット 2021-07-29 10.33.25.png

「バックアップディスクを選択...」のボタンをクリックする。
バックアップ先を選択する画面で、Linuxサーバーのsamba共有フォルダを選択。

スクリーンショット 2021-07-29 10.33.38.png

ここに表示されない場合は、mDNSがうまく動いていない可能性大。
今回は成功しているのでサーバーの共有フォルダが見えているので、これを選択。

選択すると、次回のバックアップ:のところがカウントダウンされ始めた。
カウントが0になり、バックアップが始まるかと思いきや、接続に失敗。

おかしい。

ファインダーから普通にサーバー接続してみるもダメ。
えー、ちゃんと接続できていたけどなぁ...おかしいなぁ。

サーバーのログ/var/log/messagesを見るとエラーが出ている。


Jul 29 11:01:41 kernel: traps: smbd[31670] trap divide error ip:7f71e39678c5 sp:7ffe0714ae20 error:0 in fruit.so[7f71e395e000+1b000]
Jul 29 11:01:44 kernel: traps: smbd[31674] trap divide error ip:7f71e39678c5 sp:7ffe0714ae20 error:0 in fruit.so[7f71e395e000+1b000]



どうも0割りみたい。fruit.soで発生している模様。fruitはTimeMachine用のsambaオプションモジュールだなきっと。
困ったときは、ネットで検索である。英語サイトのものしか発見できなかったが、max sizeがどうとか書いてある。試しにmax sizeの設定行をコメントアウト。


    vfs objects = catia fruit streams_xattr
    fruit:metadata = netatalk
    fruit:encoding = native

[TimeMachine]
    comment = Backup for Mac
    path = /home/timemachine
    writable = yes
    browsable = yes
    guest ok = yes
    fruit:time machine = yes
#   fruit:time machine max size = 200G



ビンゴ!
しかし、問題のエラーは出なくなった感じなのだが、別のエラーが発生。

Jul 29 11:03:43 smbd[31737]: [2021/07/29 11:03:43.687568,  0] ../../lib/util/access.c:365(allow_access)
Jul 29 11:03:43 smbd[31737]:  Denied connection from 240b:12:XXXX:XXXX............. (240b:12:XXXX:XXXXX..............)



今度はアクセス制限に引っかかっている感じ。IPアドレスがIPv6で表示されているので、IPv6でアクセスしているものと思われ。
えー、前はIPv4だったと思うけど。

当然ながら、smb.confでIPv4のネットワークには許可を出している。


    interfaces = lo bind0 192.168.0.0/24
    hosts allow = 127. 192.168.0.



ここに、IPv6のネットワークも追加しなければならないのであろう。
IPv6の場合は、全長128ビットでネットワーク部が64ビットなので、最初の4個までを指定すればOKかな。


    interfaces = lo bind0 192.168.0.0/24 240b:12:XXXX:XXXX::/64
    hosts allow = 127. 192.168.0. 240b:12:XXXX:XXXX::/64



interfacesの方は必要かどうかわからないが、一応設定してみた。XXXXの部分は伏せてあるので、実際の環境に合わせて変更して欲しい。そのまま入力してもダメなので注意。
これでsamba再起動、MacBookでは一度ログオフしてやってみると、ファインダーでの接続には成功した模様。

TimeMachineでやってみると...

スクリーンショット 2021-07-29 11.40.54.png

見事バックアップが始まった。
とはいえ、それなりに時間はかかるようで、3時間になっている。
こういう時にWi-Fi 6でリンクアグリかマルチギガだといいんだけどねぇ...





サイト内を検索

nice!(0) 
共通テーマ:パソコン・インターネット


Copyright Atsushi Asai Google+朝井淳
[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/02/18
  • メディア: 単行本(ソフトカバー)

イラストで理解 SQL はじめて入門

イラストで理解 SQL はじめて入門

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/05/16
  • メディア: 単行本(ソフトカバー)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/03
  • メディア: 単行本(ソフトカバー)

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/05/25
  • メディア: 大型本

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。