ホーム » コンピュータ » Linux » Debian (ページ 15)

Debian」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

SoftEther VPNを導入

iOS10,macOS Sierraを導入すると、PPTP-VPNが使えなくなるようで、 Buffalo のVPN機能が使えなくなる。 ということで、Mac環境に macOS Sierra の導入ができなかった。

そこで、strongswan VPN サーバを導入しようと、色々試していたけど、失敗。 であればということで、SoftEther VPN(オープンソース版)を入れてみた。 色々試行錯誤のなか、ようやく動くようになった。

さあ、今から macOS Sierraをインストールするぞ。
職場のメインマシンには、ScanSnap のスキャナがあるけど、 macOS Sierraでトラブル報告があるので、 まずは、MacBook Air で試してみよう。

systemd.networkの設定

職場から自宅サーバを触っていて、reboot が必要そうなので、 再起動をかけたら、サーバが復帰せずびびった。 Debian が systemd に移行したけど、相変わらず /etc/init.d を使って作業をしていたけど、 ネットワークの設定の方法が変わったのね。 /etc/network/interfaces のファイルだけでメンテナンスしてたけど、 /etc/systemd/network/*.network で設定するのね。

これらの設定を移行してなかったので、ネットワークが設定されず、 DHCPが動かない(自宅内のネットワーク機器全滅)。 同じく Web , mail , ….総崩れ。(x_x;;

systemdのネットワーク設定

(( /etc/systemd/network/eth0.network ))
[Match]
Name=eth0
[Network]
Address=192.168.XX.XX/24
Gateway=192.168.XX.YY

設定の有効化

# systemctl enable systemd-networkd

systemsのresolve設定

systemdの設定ファイルを修正

(( /etc/systemd/resolved.conf ))
[Resolve]
DNS=192.168.XX.YY
Domains=example.jp

設定を有効にする。

# mkdir /run/systemd/resolv
# cp /etc/resolv.conf /run/systemd/resolv/resolv.conf
# ln -sf /run/systemd/resolv/resolv.conf /etc/resolv.conf
# systemctl enable  systemd-resolved.service
# systemctl restart systemd-resolved.service

homebridgeで温湿度も取れる

homebridgeが面白い。plugin 揃ってるので、 部屋の温度湿度をとれるようにしてみた。 データは、サーバに接続している温湿度センサーの usbrh 。

1609190859_180x320.PNG

usbrh のデータを、プラグイン homebridge-httptemperaturehumidity で 読み取れるようにしてみた。

<?php
header( "Content-Type: application/json; charset=utf-8" ) ;
$data = shell_exec( "/usr/local/bin/usbrh" ) ;
if ( preg_match( "/^([\d\.]+)\s([\d\.]+)$/" , $data , $match ) ) {
print "{\n\"temperature\": ".$match[1].",\n\"humidity\": ".$match[2]."\n}\n" ;
}
?>

homebridgeで家電制御

iOS 10 で HomeKit のアイコン表示されたし、Siriから家庭内の家電制御ができないかと試してみた。 HomeKit 互換でフリーの実装の homebridge があるみたいなので、 インストールし、設定を行った。

homebridge-cmd を使うと、電源のON/OFFの制御なら、コマンドラインで呼び出せる処理を 起動できる。

{
"bridge": {
"name":         "perrine",           # ホスト名?
"username":     "CC:22:3D:E3:CE:30", # 特になんでもいい。
"port":         51826,
"pin":          "031-45-154"
},
"description":      "HomeControl by Tira-2",
"accessories": [
{
"accessory": "CMD",
"name":     "テレビ",
"on_cmd":   "/usr/bin/sg dialout -c \"/usr/local/bin/Tira-2.py --remote=regza --transmit=power\"",
"off_cmd":  "/usr/bin/sg dialout -c \"/usr/local/bin/Tira-2.py --remote=regza --transmit=power\""
},
{
"accessory": "CMD",
"name":     "チューナー",
"on_cmd":   "/usr/bin/sg dialout -c \"/usr/local/bin/Tira-2.py --remote=catvstb --transmit=power\"",
"off_cmd":  "/usr/bin/sg dialout -c \"/usr/local/bin/Tira-2.py --remote=catvstb --transmit=power\""
}
]
}

参考記事だと、制御には insteon+ を使うとの記事が多かったけど、 homebridge を起動して制御させようとするが、機器を認識してくれない。

username とかを色々と試してみたけどダメだったけど、insteon+ を使わずに、 基本の HomeKit アプリを起動したら、あっさり認識。

1609181126_180x320.PNG
1609181126-1_180x320.PNG

homebridgeのメモ

iOS 10 に切り替えると、"HomeKit" のアイコンが増える。 家庭内のライトやテレビといった機器のON/OFF制御などが できる機能。

で、調べてみたけど、海外ではそれなりの機器が出ている ようだけど、AmazonやAppleで調べてみても、 電球型のHomeKit対応ライトと言った程度で、便利さを 感じるようなものが出ていない。

我が家では、Tira2 という赤外線リモコンで、家電制御など を使っているので、Siri に「テレビをつけて」をやってみたいと 考えてしまう。

調べてみると、"homebridge"という互換ソフトが出ているみたい。 node.js をベースにしたソフトらしい。

ということで、ひとまず node.js とかを入れてみた。

((node.jsのインストール))
$ sudo aptitude install nodejs npm
$ sudo ln -sf /usr/bin/nodejs /usr/bin/node
((homebridgeのインストール))
$ sudo npm install -g homebridge
((コマンドラインベースの命令を呼び出すモジュール))
$ sudo npm install -g homebridge-cmd
or
$ sudo npm install -g homebridge-cmdswitch2

でも、node.js のことをさっぱり解っていないので、 あとの作業用に、ココまでをメモ。

https://datahotel.io/archives/725

スマホ向けサイトのスコア付け71点(^^;

スマホ向けのサイトになっているかをテストするサービス。

https://testmysite.thinkwithgoogle.com/

1606050609_894x501.PNG

debianでletsencrypt.shを使ってみた

無料で、SSL鍵を利用できる let's encrypt というソフトが Debian でも使えるようなので、 試してみました。まずは、必要なソフトのインストール。

# aptitude install letsencrypt.sh letsencrypt.sh-apache2

基本は /etc/letsencrypt.sh/config.sh を修正してもいいが、 /etc/letsencrypt.sh/conf.d の中に *.sh の拡張子で設定を保存すると 書いてあるので、 連絡用のメールアドレスなどの登録情報は、この中に保存。

(( /etc/letsencrypt.sh/conf.d/contact_mail.sh ))
CONTACT_EMAIL=連絡用メールアドレス

letsencrypt.sh のデータは、/var/lib/letsencrypt.sh/ に保存され、 取得するドメインは、以下のファイルに記載しておく。

(( /var/lib/letsencrypt.sh/domains.txt ))
ドメイン
# mkdir /var/lib/letsencrypt.sh/certs
# /usr/bin/letsencrypt.sh -c
(出力)
# INFO: Using main config file /etc/letsencrypt.sh/config.sh
# INFO: Using additional config file
/etc/letsencrypt.sh/conf.d/contact_mail.sh
+ Generating account key...
+ Registering account key with letsencrypt...
Processing ドメイン
+ Signing domains...
+ Creating new directory /var/lib/letsencrypt.sh/certs/ドメイン ...
+ Generating private key...
+ Generating signing request...
:

できあがった、SSL の情報を Apache に設定する。

(( /etc/apache2/sites-available/default-ssl.conf ))
SSLCertificateFile /var/lib/letsencrypt.sh/certs/ドメイン/cert.pem
SSLCertificateKeyFile /var/lib/letsencrypt.sh/certs/ドメイン/privkey.pem
SSLCertificateChainFile /var/lib/letsencrypt.sh/certs/ドメイン/chain.pem
# /etc/init.d/apache2 restart
1606021701_622x264.png

あとは定期的に更新

SSL鍵は、流石に無償だし、有効期限が短い。 定期的に更新が必要。今回は一ヶ月毎に更新。

(( /etc/cron.d/update-letsencrypt ))
#m h D	M W user command
0  3 1 * * root test -x /usr/bin/letsencrypt.sh && /usr/bin/letsencrypt.sh -c

movabletype-opensourceのCGI制限

自宅のBLOGは、movabletype-opensourceを使っているけど、 一応、サポート切れとなっているため、脆弱性攻撃を受ける可能性もある。 ただ、攻撃といっても、CGI の呼び出し経由だし、コメントやトラックバックも SPAMが多くて使っていないので、記事編集は自宅内のみと割り切って、 アクセス制限を加えてみる。

Alias /mt-static /usr/share/movabletype/static
<Directory /usr/lib/cgi-bin/movabletype>
# 初期設定の時だけ
<Files mt-wizard.cgi>
<IfVersion >= 2.3>
Require all denied
</IfVersion>
<IfVersion < 2.3>
Deny from all
</IfVersion>
</Files>
# コメントトラックバック
<FilesMatch "mt-(comments|tb)\.cgi$">
Require ip 127.0.0.1 192.168.0.0/16
</FilesMatch>
# データ連携
<FilesMatch "mt-(data-api|feed|xmlrpc|atom)\.cgi$">
Require ip 127.0.0.1 192.168.0.0/16
</FilesMatch>
# 検索機能は制限せず
#<FilesMatch "mt-(ftsearch|search)\.cgi$">
# ### Require ip 127.0.0.1 192.168.0.0/16
#</FilesMatch>
# その他
<FilesMatch "mt-(check|testbg|upgrade)\.cgi$">
Require ip 127.0.0.1 192.168.0.0/16
</FilesMatch>
# 基本機能
<FilesMatch "mt\.cgi$">
Require ip 127.0.0.1 192.168.0.0/16
</FilesMatch>
</Directory>

HTTP/2の有効化

ネットの記事で、Chrome の SPDY サポート打ち切りなどが 記載されていて、HTTP/2 への移行が進んでいるらしい。

ということで、自宅サーバがどうだっけ?ということで調べると、 HTTP/2 は a2enmod されていないみたい。

 (( HTTP/2のモジュールの有効化 ))
$ sudo a2enmod http2
$ sudo systemctl restart apache2.service

トップページの reload をかけてみたけど、速くなった気がする。 自宅トップページは、リンク集的によく使うサービスのアイコンを並べてあるけど、 こういう小さいデータは効果がでるはず。
# 気のせいかもしれんけどぉ〜

ifupdown2 のトラブル

ソフトの更新とかかけていて、久々に reboot をかけたら、 パソコンなどが、ネットワークにつながらずトラブル。

確認すると、dhcpd サーバが動いていない。設定ファイルなどを みるけど、特に問題もない。 おかしいおかしいと改めて 確認していると、上流ルータへの ping が通らないことも判明。

理由が分からず、色々動かしていると、eth0 が起動していない(link upしていない)。 ifup eth0 を手作業で実行して、設定をさらに調べていると、 ping 127.0.0.1 さえも通らず、localhost さえ link up していない。

こうなると、/etc/init.d/networking がおかしい…と思うけど、 このご時世は、systemd になっている。なんだかよくわかんないけど、 systemctl -a とかを実行したら、 networking が inactive dead って 表示されている。 そういえば、ひと月ほど前、 ifupdown2 なんていう パッケージに更新した記憶があるし、 どうもこれが原因。

# aptitude install ifupdown

を実行して、再起動したら、すべてがようやく元通り。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報