7月24日編
dnsmasqのインストール
wifi接続のAndroidからもローカルサーバを名前で見に行けるように。aptして、/etc/dnsmasq.confをコピー。
ところがエラーが出る。
kazz@lance ~# systemctl status dnsmasq.service |cat ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2020-07-24 08:57:01 JST; 10min ago Process: 100337 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS) Process: 100348 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=2) 7月 24 08:57:01 lance systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... 7月 24 08:57:01 lance dnsmasq[100337]: dnsmasq: syntax check OK. 7月 24 08:57:01 lance dnsmasq[100348]: dnsmasq: failed to create listening socket for port 53: アドレスは既に使用中です 7月 24 08:57:01 lance dnsmasq[100348]: failed to create listening socket for port 53: アドレスは既に使用中です 7月 24 08:57:01 lance dnsmasq[100348]: FAILED to start up 7月 24 08:57:01 lance systemd[1]: dnsmasq.service: Control process exited, code=exited, status=2/INVALIDARGUMENT 7月 24 08:57:01 lance systemd[1]: dnsmasq.service: Failed with result 'exit-code'. 7月 24 08:57:01 lance systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server. kazz@lance ~# sudo systemctl disable systemd-resolved Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service. Removed /etc/systemd/system/dbus-org.freedesktop.resolve1.service.
53番ポートが使用されているとな。検索。
hikalium.hatenablog.jp
systemd-resolvedというデーモンが動いているのか。停止&削除。
service statusの出力が改行されないのでメッセージが見られず、途方に暮れたが、catにパイプしたら表示された。
ところが、なんかおかしい。DNSが機能していないもよう。いろいろ検索して試してみたけど、どうしてもうまくいかず、いったんdnsmasqをアンインストール。
resolvedにローカルサーバを追記できたりはせんのかな。さっと探したところではわからんかった。
あちこちで「NetworkManagerを再起動したら/etc/resolv.conf(シンボリックリンク)が自動生成される」と書いてあるけど、netplan generateじゃないと生成されなかった。
postfixのtlsの設定
gmailからメールを受けられていない状態が解消できていない。いわく「454 4.7.0 TLS not available due to local problem」。ということで、TLS関連ということはわかった。main.cfには
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
とあるので該当ファイルを新旧比較してみる。certsの方は違っているのでバックアップを取って旧ファイルをコピー。privateの方はタイムスタンプ、サイズ、所有者とも同じなのでそのまま。postfixをリスタートしたら受信できるようになった。
7月25日編
dnsmasq再挑戦
どうやってもうまくいかなかったが、よう考えたらおうちサーバはローカルネットワークのドメインをhostsから読んでいるのでdnsmasqを使う必要はない。/etc/NetworkManager/NetworkManager.conf には「dns=dnsmasq」を記入しない(コメントアウト)ようにして、 /etc/systemd/resolved.conf は23番ポートを明け渡すように「DNSStubListener=no」を記入し、リスタート。おうちサーバ内で名前を引けていたし、クライアントPCから @192.168.1.22 を付けてdigしてもローカル、グローバルとも引けていた。
一件落着。
7月26日編
apt-cacher-ngのインストール
クライアントPCからaptできない。
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。 1,477 kB のアーカイブを取得する必要があります。 この操作後に追加で 7,005 kB のディスク容量が消費されます。 続行しますか? [Y/n] y エラー:1 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 libx86emu2 amd64 2.4-1 192.168.1.22:3142 (192.168.1.22) へ接続できませんでした。 - connect (111: 接続を拒否されました) エラー:2 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 libhd21 amd64 21.68-1 192.168.1.22:3142 へ接続できません: エラー:3 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 hwinfo amd64 21.68-1
ローカルネットワーク内のサーバを見に行こうとしている。DNSがおかしいのか?でもchromeは普通に使えてるぞ。
kazz@oscar ~# ping jp.archive.ubuntu.com PING ubuntutym3.u-toyama.ac.jp (160.26.2.187) 56(84) バイトのデータ 64 バイト応答 送信元 ubuntutym3.u-toyama.ac.jp (160.26.2.187): icmp_seq=1 ttl=56 時間=15.7ミリ秒 64 バイト応答 送信元 ubuntutym3.u-toyama.ac.jp (160.26.2.187): icmp_seq=2 ttl=56 時間=16.7ミリ秒 64 バイト応答 送信元 ubuntutym3.u-toyama.ac.jp (160.26.2.187): icmp_seq=3 ttl=56 時間=16.0ミリ秒 64 バイト応答 送信元 ubuntutym3.u-toyama.ac.jp (160.26.2.187): icmp_seq=4 ttl=56 時間=15.9ミリ秒 --- ubuntutym3.u-toyama.ac.jp ping 統計 --- 送信パケット数 4, 受信パケット数 4, パケット損失 0%, 時間 3004ミリ秒 rtt 最小/平均/最大/mdev = 15.702/16.067/16.650/0.352ミリ秒 kazz@oscar ~# nslookup jp.archive.ubuntu.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: jp.archive.ubuntu.com canonical name = ubuntutym.u-toyama.ac.jp. ubuntutym.u-toyama.ac.jp canonical name = ubuntutym3.u-toyama.ac.jp. Name: ubuntutym3.u-toyama.ac.jp Address: 160.26.2.187 kazz@oscar ~# dig jp.archive.ubuntu.com ; <<>> DiG 9.16.1-Ubuntu <<>> jp.archive.ubuntu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60897 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;jp.archive.ubuntu.com. IN A ;; ANSWER SECTION: jp.archive.ubuntu.com. 34 IN CNAME ubuntutym.u-toyama.ac.jp. ubuntutym.u-toyama.ac.jp. 21034 IN CNAME ubuntutym3.u-toyama.ac.jp. ubuntutym3.u-toyama.ac.jp. 21034 IN A 160.26.2.187 ;; Query time: 14 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: 日 7月 26 09:05:32 JST 2020 ;; MSG SIZE rcvd: 129 kazz@oscar ~#
DNS的には問題なく、ドメイン名を引けている。apt内部の問題っぽい。「apt dns」で検索してもそれらしき事例は見当たらない。
あれこれ設定を変えたりしても変化なし。proxy的な話かなと思って「apt proxy」で検索してリザルトを見てやっとで思い出した。3台のPCでaptするのでプロキシサーバを立てたんだった。apt-cacher-ngをインストール。お家サーバ自体もaptが自身のプロキシサーバを利用するように設定。
cron-aptをインストール
aptして、 /etc/cron-apt/config をコピーして、cronをリスタート。
apt-cacher-ngの設定
おうちサーバも自身のapt-cacher-ngを見に行くようにしたらsyncthingのリポジトリを見に行く時にエラーが出ている。/etc/apt-cacher-ng/acng.conf を覗いてみて、Dntcacheあたりに設定したらいいのかと思って
DontCache: *.syncthing.com
としてみたけど、変化なし。
検索したら1年前の自分のエントリー発見。すっかり忘れていた。
doroyamada.hatenablog.jp
httpsをまるごとパスすればいいのか。ここはあえてその時のソリューションではなく、Dontcasheでやってみた。
DontCache: https://.*
とりあえずエラーは出なくなった。
PassThroughPattern: https://.*
でもいけるかも。