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

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

システム

最近の投稿

アーカイブ

カテゴリー

webrootの変更

自宅サーバのHTMLデータの置き場所は、/var/www を使ってきたけど、 CMSの入れ替えを検討する中で、 最近のシステムの流儀の /var/www/html に変更したいので、ファイルを移動。 設定ファイルや、 様々なプログラムで、/var/www を参照するように なっていたので、チョロチョロと変更する。

Webデータの管理用 script なども、/var/www-support に入れていた けど、これも /var/www/support に移動。 でもプログラムの修正が 面倒なので、シンボリックリンクを貼っておく。

vpnserver問題解決

SoftEtherのVPNサーバをインストールしたけど、 翌日にはうまく動かなくなり、原因を探っていたのだけど、 原因は、ケーブルテレビの光接続のルータだったみたい。 ALG設定で、IPsec,L2TP,PPTPの設定を外したら、動くようになった。

vpnserverの動作確認

vpnserverが動き出したのはいいけど、ちゃんと動いているのか、VPN接続があるのかを 把握したいので、icingaでモニタリングするようにしてみた。

(( check_vpnserver ))
#!/bin/bash
VPNCMD=/usr/local/vpnserver/vpncmd
PORT=127.0.0.1:xxxx  # VPNサーバに接続するポートを登録
HUB=VPN
NAME=VPN
# 0:OK, 1:Warning, 2:Critical, 3:Unknown
if [ -x $VPNCMD ]; then
# vpncmdで状態を読み込む
ANS=`$VPNCMD $PORT /server /hub:$HUB /cmd:StatusGet`
if [ "$?" -ne 0 ]; then
# VPNサーバが動いていない
echo "$NAME Critical - No server"
exit 2
else
ANS=`echo "$ANS" | /bin/grep "セッション数 (クライアント)" | /usr/bin/cut "-d|" -f 2`
if [ -z "$ANS" ]; then
# 接続無し
echo "$NAME OK - Server waiting connection"
exit 0
elif [ "$ANS" -gt 0 ]; then
# 接続あり
echo "$NAME Warning - $ANS clients"
exit 1
fi
fi
else
# vpncmd がインストールされていない
echo "$NAME Unknown - No vpncmd"
exit 3
fi

SoftEther VPNを導入

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

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

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

icingaのmap出力を派手に

nagiosからicingaに乗り換えた際に、map出力の アイコンが?だらけになっていたので、 設定を加えて、派手にしてみた。

1610042227_634x556.png

ルータのWeb設定だけハングアップ

自宅サーバの警告でてたけど、 ルータのWeb設定のlogin画面が機能していない。 そのくせ、パケットは流れてる。

ルータ故障の前兆かもしれないので、メモ。

うーむ、Webハングアップが多発するな。

2016-10/02,23:13
2016-10/02,17:31
2016-10/02,06:44

症状の出始めからすると、IPv6パススルーに関係するのかな。 ということで、IPv6パススルーを切ってみる。

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

PS4の動作状況をicingaで表示

HomeKit互換のhomebridgeを使っていて、PS4 の動作確認で ps4-waker というソフト が便利なことがわかったので、ちょいと別応用。

サーバ監視ソフトの icinga で使えるように、nagios 用の check_ps4 を作ってみた。 "ps4-waker search" の出力の statusLine が 200(起動中)/620(スタンバイ) で動作確認ができるけど、 running-app-name も出力に入れれば、なんのゲームが動いているかも出力できる。

#!/bin/bash
PS4WAKER="/usr/local/bin/ps4-waker"
if [ -x $PS4WAKER ]; then
ans=`$PS4WAKER search -t 50 2>/dev/null \
| /bin/sed -n "s/^  \(statusLine\|'running-app-name'\): '\(.*\)'.*$/\2/p" \
| /usr/bin/paste - -`
case "$ans" in
200* ) # Powered ON
echo "$ans"
exit 0
;;
620* ) # Standby
echo "$ans"
exit 0
;;
"" ) # No response
echo "0 Powerd off"
exit 2
;;
* ) # Another status
echo "$ans"
exit 2
;;
esac
else
exit 1
fi

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

ps4-wake

homebridge のことをしらべていたら、PS4 をネットワーク経由で スタンバイ状態から ON/OFF できる、node.js を使った ps4-waker という ソフトがあるみたい。

でも、node.js はまだ良くわからない所もあるので、ちょいと探すと、 "ps4-wake" というソフトも見つかる。 C言語ベースで、導入も簡単そう。

 ((インストール))
$ git clone git://github.com/dsokoloski/ps4-wake/
$ cd ps4-wake
$ make
$ sudo cp ps4-wake /usr/local/bin
 ((使い方))
$ ps4-wake -vP -B  # 同一ネットワーク内のPS4を探す
Device found: PS4-YYY [PS4/XXXXXXXXXXXX]: Standby
$ ps4-wake -vW <USER-CREDENTIAL> -H XXX.XXX.XXX.XXX # 指定IP

見つけたPS4の"USER-CREDENTIAL"をつけて、ps4-wake を呼び出せば いいのだが、その書き方が違うのか、PS4が起動しない。

といっても、合宿所の宿直でVPN接続で自宅のPS4を触っているので、 本当に起動しているのかいないのかが不明なので、今日はココまで。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト