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

コンピュータ」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

自宅ルータ、管理画面HTTPとVPNだけ不調

今日は、職場の宿直。 でも自宅サーバで、ルータが変。

ルータの死活検出で、ping と管理画面のHTTP通信を使っているけど、 ping では生きているけど、HTTPが通らない。 そのくせ、ルータ機能は動いている。んで、VPN接続は動かない。

こういう時は、どんどん悪化する可能性もあるし、 LINE で奥さんに、電源リセットを頼んで無事復帰。

ルータの故障の前兆かもしれないし、ひとまずblogにメモ。

ネットワークトラブル

自警消防隊のネタで早起きしているけど、 自宅がインターネットに接続されていない。

[2016/07/08]追記
先日のネットワーク接続トラブルは、光のルータ電源リセットで復帰したけど、 我が家だけの問題かな…と思っていた。 だけど、ルータのネットワークトラヒック観察の出力を見ていると、 特に使っていない状態でもトラヒックがあったりで何か変….と思っていたけど、 ルータリセット後は、そのトラヒックが激減。 この雰囲気からすると、症状の発症した時間が00:00だったのもあるし、 ケーブルテレビ側で、ファームウェアリセットを遠隔実行したんだろうな。

リモート接続の環境のパスワードリセット

リモート接続に使っているサービスが、数日前から使えなく なっていて、なんかやらかしてしまったか…と思っていたら、 サービスのセキュリティ強化でパスワードリセットがかけられていた。

自分のパスワードはそれなりに、長くややこしいものを使っているが、 「特殊文字を含むように…」だってさ。 それなりにややこしいパスワードを使っているユーザも 強制リセットするってことは、パスワード漏えいとか 大量辞書攻撃をくらったのかと、心配になる。

他のシステムとは異なるパスワードを使っているので、 さほど実害は無いと思うけど、パスワードリセットするほどの 危機を感じるネタがあるのなら、公開してほしいな。

スマホ向けサイトのスコア付け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

CASIO WATCH+アプリ更新

腕時計をスマホの通知連携できるSTB-1000 を使っているけど、アプリの更新で再接続がうまくいかなくなっていた。携帯から離れて接続が切れると、CASIO WATCH+を起動して、再接続操作が必要だから、最近は接続が切れたまま。通知に気づかないことが無いように買ったのに…。

でも、今日CASIO WATCH+のアプリの更新がかかったら、再接続がうまくいくようになった。これで通知に気づかないのも減るかな。

1605232202_750x852.jpg

接続できなくなる?

iPhoneと離れ、改めて近づいた後の再接続が安定したと思っていたら、 今度は接続できなくなる。 STB-1000の中央ボタンで再接続をさせようとするが、iPhone側は接続したと認識しているのに、 STB-1000側が接続が完了したと認識しない状態となる。 電池が弱っているかと思い、ボタン電池を入れ替えるが、再接続せず。 アプリのヘルプを見ると、ダメならiPhoneの電源再起動と書いてあったので、 試したら無事接続できた。うーむ….。

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>

Windows10のVPN接続

Surface 端末で、自宅の Buffalo WZR-1166DHP2 にVPN接続 をしようと設定したけど、 どうも繋がらない。

調べてみると、VPNのセキュリティの設定で、 「データーの暗号化(D)」を「暗号化が必要(サーバーが拒否する場合は切断します)」 に変更する必要があるみたい。

Raspberry-Pi のファームウェアアップデート

Google+の記事を眺めていたら、Raspberry-Pi の ファームウェアアップデートの記事。

 $ sudo rpi-update

更新前と更新後の uname -a を記載しておこう。

1605192312_703x127.png

G-240W-B の Munin プラグイン

自宅の光通信化により、新しいルータが入ったが、パケット流量測定の ための Munin プラグインを作成してみた。

ルータのデータ取得のため、ルータの「LAN状態」のページのHTMLを観察しながら、 Cookieによるセッションを扱いながらパケット流量のデータを取るPerlスクリプトを記述。 Perl でのセッションをまたがったデータ取得プログラムのいい練習になったかな。

ルータからは、Packets* と Bytes* が取得できるけど、 Bytes だと、Muninの測定周期5分で、簡単に 2^32 を超えちゃうようで、 使い物にならないみたい。BPS が直感的だから、Bytes…に変更したけど、 すぐに元に戻す。

#!/usr/bin/perl
#%# family=auto
#%# capabilities=autoconf
use LWP::UserAgent ;
use HTTP::Cookies ;
# ルータ情報
my $router = "http://192.168.1.254" ;
my $auth = [ 'name' => "userAdmin" ,
             'pswd' => "xxxxxxxxxxxx"
           ] ;
# Munin のグラフ情報の設定用処理
if ( defined($ARGV[0]) and $ARGV[0] eq "config" ) {
   # グラフの基本情報
   print "graph_title FTTH GPON network statics\n" ;
   print "graph_category network\n" ;
   print "graph_vlabel packet/sec (-)send / (+)recv\n" ;
   print "graph_args --base 1024\n" ;
   print "graph_printf %4.1lf\n" ;
   # LAN1..LAN4
   for( my $i = 1 ; $i <= 4 ; $i++ ) {
      foreach my $sr ( "Sent" , "Received" ) {
         print "LAN$i$sr.label LAN$i pkt\n" ;
         print "LAN$i$sr.type COUNTER\n" ;
         if ( $sr eq "Sent" ) {
            print "LAN$i$sr.graph no\n" ;
         } else {
            print "LAN$i$sr.draw LINE2\n" ;
            print "LAN$i$sr.negative LAN${i}Sent\n" ;
         }
         print "LAN$i$sr.max 1000000\n" ;
      }
   }
   exit 0 ;
}
# ルータに login
my $ua = LWP::UserAgent->new ;
my $cookie = new HTTP::Cookies() ;
$ua->cookie_jar( $cookie ) ;
my $res = $ua->post( "$router/login.cgi" , $auth ) ;
if ( $res->is_redirect ) {
   # LAN情報を取得
   $res = $ua->get( "$router/lan_status.cgi?lan" ) ;
   my $flag = 0 ;
   my $lan_id = 0 ;
   foreach my $line( split( /\n/ , $res->content ) ) {
      if ( $line =~ /^\s+var\s+lan_ether=/ ) {
         # "var lan_ether="を探す
         $flag = 1 ;
      } elsif ( $flag && $line =~ /^(|,)(\d+):\{/ ) {
         # LAN番号を取得
         $lan_id = $2 ;
      } elsif ( $flag && $line =~ /^Packets(Sent|Received):(\d+),$/ ) {
         # PacketsSent / PacketsReceived
         print "LAN$lan_id$1.value $2\n" ;
      } elsif ( $flag && $line =~ /^;$/ ) {
         last ;
      }
   }
}

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報