問題解決:unboundのログ出力とDNS無効化の問題

最近、新しくdebian 12サーバー構築。今まで雑多にインストールしていたアプリを整理する。
その中で、unboundをインストールしたが、2つの問題発生。

一つ目は、ログが出力されない問題。
最近のLinuxには、AppArmorというアクセス制限する機構があるらしい。今まで知らんかったよ。
ということで、/etc/apparmor.d/local/usr.sbin.unboundに追記

/var/log/unbound/access.log rw,

さらに下記コマンドを実行してアクセス制限解除

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.unbound

unbound再起動

sudo systemctl restart unbound

 

2つ目が、DNSを無効にできない問題。
resolv.confが自動で書き換えられるため、DNSを無効にしても再起動すると書き換えられてしまう。
ということで/etc/NetworkManager/NetworkManager.conf修正

[main]
dns=none   <---ここを追加

NetworkManager再起動

systemctl restart NetworkManager

unbound再起動

sudo systemctl restart unbound


問題発生すると色々と調べたり、動作確認したりと時間かかりますね。

 

Chrome OS flex インストール

自宅に使用頻度が少なくなり、Windows10の動作ももっさりしたPC(SONY VAIO VJP111B01N)にChrome OS flexをインストールしてみました。軽量のため持ち運びするには便利です。(とはいえあると結構重い...)PCは、調べてみると2014年に発売されており、もう9年も経ちました。

まず、インストールOSは、Chrome OS flexとしたのは、下記の点が便利と考えています。

  • GUIがそれなりにわかりやすい。(日本語でも)
  • ブラウザ(Chrome)のみ使用する予定。アプリもブラウザ版で対応できるといい。
  • デフォルトでそこそこ動く
  • ネットワーク(WiFi)が動く

Chrome OS flexとしたことで、ブックマーク、拡張機能等々情報が引き継がれるという点もいいです。何回かCloudReady(Chrome OS flexになる前の名称)はインストールしているため、使用方法もある程度分かっているという点も大きいです。

必要なものといえば、USBメモリです。

インストール対象となっているPC以外のPCを利用して、USBメモリインストーラを書き込みます。インストール手順は、下記にあります。PCやUSBメモリの能力にもよりますが、結構時間かかるので、気長に待ちましょう。

support.google.com

途中、迷ったのは、"リストからモデルを選択"する際、該当するPCがないという点です。これは、defaultでChrome OS flexを選択すれば問題ありませんでした。

 USBメモリインストーラーを書き込んだからインストールするノートPCへUSBメモリを差し込みます。USBメモリから起動させるには、BIOS画面からUSBメモリから起動するよう変更する必要があります。電源が切れた状態で、F3もしくはF4でBIOS画面が起動しますが、VAIOは丁寧にVAIO レスキューモードという画面が表示され、BIOS設定を起動を選択して起動します。無事USBメモリから起動すれば、Chrome OS flexをインストールできます。完了した後、少し戸惑ったのが、Windows10が消去されたため、VAIOレスキューモードが起動してしまい、Chrome OS flexが起動しなくなったかと思いました。VAIOレスキューモードをよく見ると"ウィンドウズの起動"というボタンがあったので、選択すると無事Chrome OS flexが起動しました。めでたし、めでたし。

スマートウォッチ

GWに帰省したとき、母の日プレゼントとしてスマートウォッチにしました。
耳の悪くなった母は、外出すると、スマホの着信音が聞こえづらくなっているようです。そのため、スマートウォッチの振動で通知してもらい、以前より改善できたらいいと思いました。
なので、それほど高機能である必要もなく、デザイン性のこだわりもないので、Xiaomi Smart band 7をビックカメラの通販で購入しました。午前中の注文で、翌日には配送されます。

www.mi.com

私が、スマホとの接続等々使える状態にして渡す必要があったのですが、色々と問題発生しました。

まず、最近では当たり前ですが、USBの電源アダプター(Type-A)が付属していない。

※最近のスマホのためType-Cならあったが...
とりあえず私の持っていた電源アダプターで充電。

スマートウォッチを起動するとQRコードが表示されるので、スマホからQRコードを読んで、アプリ起動。

※このあたりは、説明がなくても大体わかる。

アプリ起動してからスマートウォッチとスマホをペアリングしたいが、Miアカウント作成で苦労しました。orz

母のgoogleのメールアドレスでアカウント作成してもエラーで作成できず。

同じようにアカウント作成できない人もいたので助かりました。

dororiblog.com

良くも悪くもという感じになってしましました。
アプリ(UI)は、わかりやすいので、いいですよ。
最初の導入に一癖あります。

※やっぱり、Miアカウントを作成しないとペアリングできないのはどうだろうかと思う。もう少し良い方法はなかったのかなぁ?

 

squid install

前回の記事でWiMAXにしたことで、通信量も気になり始めました。なるべく無駄な通信をしないため、自宅にProxyサーバーを運用することにしました。

debianでは、パッケージで用意されているので下記コマンドでインストールします。

apt-get install squid

 squidの設定ですが、詳細な設定ができるため項目が非常に多いです。

私は下記を参考に自宅環境に合わせて設定しました。

linux.kororo.jp

必要な項目を設定したら、squidを再起動します。

続いて、クライアント側の設定になります。
クライアント(Windows10)の「ネットワークとインターネット」の「プロキシ」から「手動プロキシ セットアップ」の「プロキシサーバーを使う」を「オン」にしてアドレスをproxyサーバーのアドレス、ポートを設定したポート番号(squidで設定したhttp_portの番号)を設定します。

ブラウザを再読込してエラーが表示されなければOKです。

さらに、サーバー側のアクセスログ(/var/log/squid/access.log)を下記コマンドで表示させておきましょう。アクセスがあるたびにログが更新される様子がわかります。
※少しタイムラグがあります。

tail -f /var/log/squid/access.log 

 最近は動的なページが多いためかsquidの恩恵を受ける場面が少なく感じます。少しでも無駄な通信が減っていればいいのですが... 今のところ劇的に減少しているという感じでもないです。

 

WiMAXへ変えてみる

最近は、テレワークも多く、自宅のインターネット回線が非常に重要になってきました。うちは、マンションですが、少し古いためVSDLでの接続でした。

VSDLは数年前までは1年に1回程度切断することがありました。切断すると1時間から半日、ひどいときには数日つながらないこともありました。まあこんなものかと思って気長につながるまで待っていました。比較的接続料金も安かったので、その対価と考えていました。
けれども最近テレワークを始め、数ヶ月後には2日連続で切断という日があり、初日は1時間ほどで回復しましたが、二日目は1日たっても回線が回復せず、サポートセンターに連絡しても替わりのモデムを送りますという対応でした。モデムが到着するのも3日後ぐらいになるという話でした。テレワークをしている側としては、三日間接続できない状態が続くのは問題があります。
※二日目の夜には接続が回復しました...
ちなみに二日目回線が回復しなかったときは、スマホテザリングを使って接続しました。しかしデータの使用量もあるので、なるべく外部と接続しないよう使っていましたが、スマホ側のデータ使用量の制限に引っかかるのは時間の問題となってしまいます。

色々と調べてみましたが、VSDLで時々切断されることも多く原因がはっきりしないなぁという印象でした。なので通信速度は遅くなるけど、思い切ってWiMAXへと回線を切り替えることにしました。
※もうすぐしたら?5Gにもなるし?10Gの制限ももう少し緩くなることを期待!

運良く自宅の駅前にUQ mobileの店補があったので二日目の夕方手続きしに行きました。VSDLのときより月の支払いも少し高くなりますが、常時接続できることが大事と考えています。とはいえ三日間10Gの制限もありますが、10Gを超えても18:00以降に速度制限が発生します。テレワークしている間はほとんど影響ありません。制限がかかっていても1Mbpsの速度はあるので、少し遅いですがWebページをみたりすることは可能です。今のところテレワーク中に制限がかかって問題になっていません。というより18:00以降にあまりテレワークをしていないというのが正解のですが....

何ヶ月かたちましたが、テレワークをすると3日間10Gの制限は超えます。夜は回線の速度が遅いですが、なんとかYouTubeが見られる状態です。

Windows10 印刷できない問題

 ここ最近、Windows10にて印刷ができない問題が発生しており、見事に先週はまりました。プリンタはCANON G5030を使用しているのですが、プリンタドライバや写真印刷アプリ(Easy-PhotoPrintEditor)の更新がなされていないけど、印刷できない問題が発生していました。

 検索すると同じような問題が発生していた書き込みがあったので、対象のWindows UpdateKB4557957もしくはKB4560960)を削除して先週は印刷ができるようになりました。その後、勝手に?削除したWindowsUpdateが更新されていた...
 その後、また同じ問題が発生するも、今度はWindows10で印刷できない問題に対処したWindows Updateが上がっていたので、手動でUpdateしました。今回のWindows Updateは、Windows10でも細かなバージョン(20H2/2004/1909/1809...)でそれぞれ異なるため注意が必要です。詳しくはリコーの公式サイトがわかりやすかった。

faq.ricoh.jp

 

djangoのblankとrequired

djangoのformにあるCharFieldで空欄にすると、django側で空欄のチェックを行ってくれます。とても便利な機能で、defaultでonになっています。
でも、空欄のまま、ボタン押下した際、自動で値を補完してほしいと考えていました。
post()の呼び出しをしてほしいと思い、FormViewを継承したのですが、空欄チェックを行うためpost()の呼び出しをする前に空欄チェックを行っていました。そのため空欄チェックを行わないようにしてpost()を呼び出してほしい!
で、調べていると、blankとかnullとかrequiredというオプションがあるということがわかりました。

どうも今現在、django3.0.6を利用している私は、下記のコード(required = False)でブランクチェックを無効にすることができました。
forms.CharField(max_length=10, required = False)

ちなみにblnakを指定した場合は、実行時にエラーが発生してdjango起動できませんでした。どうも引数があるバージョン?で変更しているようです。ご注意ください。私はちょっとはまりました。(;_;)

補足ですが、nullのオプションは、DBへinsert もしくは updateする際にnull指定できるかというオプションです。今回は文字列もしくは数値を指定したかったのでdefaultのまま(null=False)です。