2018年4月20日 (金)

El Capitan (10.11.6) にセキュリティアップデート 2018-002をインストールすると画面共有が出来なくなる

El Capitan (10.11.6) にセキュリティアップデート 2018-002をインストールすると、画面共有が動作しなくなり他のホストから画面共有.app (VNC)で接続出来なくなる場合がある。

Mac mini (Late 2014)でこのトラブルが発生した。

現在、Mac miniはサーバーとして使用しておりディスプレイは接続していないため、画面共有が使えないと設定変更等の操作が何も出来ない状況になってしまう。

運が良ければ以下の方法で復旧可能。ただし、SSHで接続出来ることが条件で事前にSSHの設定が必要となる。

1. SSHで対象のマシンに接続。
2. software update -ia を実行。

$ softwareupdate -ia
Software Update Tool
Copyright 2002-2015 Apple Inc.

Finding available software

Downloading Remote Desktop クライアントアップデート
Downloaded Remote Desktop クライアントアップデート
Installing Remote Desktop クライアントアップデート
Done with Remote Desktop クライアントアップデート
Done.


今回はこれで回復出来た。インストールされた Remote Desktop クライアントは3.9.3。このバージョンは2017年にリリースされたものと同じバージョンで不具合が発生したMacにもインストール済みだったのだが、今回のセキュリティアップデートで無効化されてしまったのかもしれない。

SSHで接続出来ない場合はディスプレイを接続してからターミナルを起動して、上記のコマンドを実行出来るし、Mac App Storeから再インストールも可能だろう。

| | コメント (0) | トラックバック (0)

2018年4月 3日 (火)

DNSサーバーを1.1.1.1に変更

インターネットセキュリティ関連のCloudflareが新しいDNSサービスを開始した。

詳細は https://1.1.1.1/ja-jp/ に記載してあるが、DNSでのアクセス履歴を保存しないというのが特徴の一つになっている。
昨年アメリカではユーザーのWEB履歴をユーザーの同意無しで販売が可能となったが、どうやって履歴を集めるのかというとDNSで集めるのが一番手っ取り早い方法だろう。
GoogleがパブリックDNSを8.8.8.8と8.8.4.4で運用しているのもアクセス履歴を収集することが一番の目的であり、利便性をユーザーに提供するというのは建前でしかないのは周知のとおり。
Cloud flareのサービスでは、このDNSの履歴を保存しないので、アクティビティが追跡されにくくなる。
もちろん、アクセス履歴を取っているのはDNSサーバー以外にもあるのだから効果は限られてくるが、それでも何もしないよりはマシだ。

もう一つの特徴はその速度である。GoogleのパブリックDNSが有名なのはその速さにあるのだが、今回立ち上げたサービスはそれらよりも28%速いという。

サイトにはOSごとのセットアップ方法も記述されている。
具体的なIPアドレスは以下のとおり。

IPv4
1.1.1.1
1.0.0.1

IPv6
2606:4700:4700::1111
2606:4700:4700::1001

| | コメント (0) | トラックバック (0)

2017年9月13日 (水)

Fingbox

FingboxFingboxを導入してみた。
従来からiOS/Android用にリリースされていたFingアプリの機能拡張ハードウェアで、Fingアプリで登録したネットワークおよびデバイスを監視・通知してくれる。

サイトに記載されている特徴は以下のとおり。
・ユーザーと端末を登録することで、LANに接続しているユーザーを識別
・LANに新規端末が接続された場合や、アラートを設定した端末がLANからの離脱、再接続をメールで通知
・特定端末のインターネットへの接続を一時停止
・インターネット速度の測定
・WiFiスピードの測定(iPhone等の端末とFingbox間の速度測定)
・端末の使用帯域測定(ただし、対象端末のダウンロードが中断される場合がある)
・自宅付近のデバイスをチェックリストに入れて監視
・LAN上のイベント監視

例えば、アラート設定したiPhoneが自宅のWiFiネットワークへの接続状況や、複数のWiFi機器の接続状況をロギングおよび通知してくれるので、接続が不安定なWiFiの設置場所の変更などに役立つし、万が一知らない端末がネットワークに接続された際には、対象デバイスをブロックすることも出来る。
従来のFingアプリでも同じようなことは出来たが、Fingboxを設置すればアプリを起動することなく24時間自動で監視してくれるようになるし、外出先からの設定も可能となる。

設置は簡単で電源ケーブルとLANケーブルを接続するだけ。電源スイッチもなく、電源に接続すれば勝手に起動してくれる。あとはFingアプリからFingboxを登録すれば完了。本体の設定はFingアプリでLEDの明るさが変更出来る程度しかない。
本体にはUSB-Aポートが1基あるが使用方法はアナウンスされておらず、今後のバージョンアップ次第で何らか使えるようになるかもしれない。
ハードウェアの仕様はARMv7に1GB RAM、OSはUbuntuベース。LANケーブルとACアダプタ(US、UK、EU、AU用が同梱されており、日本ではUSが使用可能)。
Firmwareも自動的に処理される。現時点でのバージョンは1.6.1

FingboxのIPアドレスはDHCPで割り当てるのだが、FingboxからのリクエストがDHCPv6で行われるため48bitの通常のMACアドレスではなく144bitのDUIDが使用されている。一般的なIPv4のDHCPサーバーでは、このDUIDの先頭48bitを使ってスタティックに割当が出来る。ただし、DUIDはパッケージに記載されていないので、DHCPのログを取得して調べる必要がある。

国内では未発売だが、Indiegogoで入手できる(購入時は$79だったが現在は$99)。

| | コメント (0) | トラックバック (0)

2017年5月 7日 (日)

回線速度の時間推移を測定してグラフ化する

一般的に回線速度の計測サイトはWebインタフェースか独自アプリケーションを利用し、測定する度に操作が必要なことが多い。その時点での回線速度を測定するだけならば何も問題は無いのだが、例えば1日の回線速度の推移を自動で取得しようとすると、なかなか難しい。

Githubで公開されているspeedtest-cliをインストールすることで、speediest.netが提供している速度測定サービスをターミナルから利用できるので、あとは繰り返し実行すれば回線速度の推移を取得することが出来る。

一番簡単なインストール方法はeasy_install を使用することで、ターミナルを起動して

easy_install speediest-cli
を実行すれば良い。
ただし、今回は後々のメンテナンスを考慮して、パッケージマネージャーのHomebrewを使用することにした。
最初にターミナルを起動、
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
を実行してHomebrewをインストール。
次に同じくターミナルから
brew install speedtest_cli
を実行。
インストール後に、
speedtest-cli --version
を実行し、バージョンナンバーが表示されればOK。

speedtest.netで測定する際に、Webやアプリケーションでは一番近いサーバーを選択してくれるが、コマンドラインからの実行ではサーバーを選択しなければならない。

speedtest-cli --list
を実行するとサーバーリストが表示されるが、世界中のサーバーが表示されてしまうので
speedtest-cli --list | grep 'Japan'
で日本のサーバーのみを出力、その中から一番近いサーバーを選択する。
今回はリストの中から一番近い12162) Indegene (Tokyo, Japan) サーバーを設定することにした。
speedtest-cli --server 12162
シェルの中から実行することと、集計のために余計な情報は必要ないので、
--simpleオプションを設定して、
speediest-cli --server 12162 --simple
を実行すれば
Ping: 7.647 ms
Download: 413.27 Mbit/s
Upload: 200.56 Mbit/s
の3つの情報が出力される。

次に、このコマンドを一定間隔で実行するシェルを作成する。
実行結果はグラフ化しやすいように、測定した時刻を加えてCSV形式でテキストに出力。

#! /bin/sh
while true; do
DATA=`speedtest-cli --server 12162 --simple | tr '\n' ','` #コマンド実行結果の改行を,に置換
TIME=`date '+%Y/%m/%d %T'` #実行時刻を取得
echo $TIME','$DATA >> result.csv #結果をresult.csvファイルに出力
sleep 600
done
このまま実行して、終了時にはcontrol+cで終了しても良いのだが、時間になったら終了する処理を追加。ついでにヘッダ行の出力も追加しておく。
実行間隔はサーバーへの負荷等を考慮して、10分(600秒)ごととする。
#! /bin/sh
ENDTIME="2017/05/04 20:00:00" #終了させたい日時
INTERVAL="600" #実行間隔(秒)、一回の測定時間以上を設定すること
FILENAME="result"`date '+%Y%m%d%H%M%S'`".csv" #ファイル名に開始時刻を追加
echo "DateTime,Ping,Download,Upload" >> $FILENAME #ヘッダ行を出力
while true; do
TIME=`date '+%Y/%m/%d %T'`
DATA=`speedtest-cli --server 12162 --simple | tr '\n' ','`
echo $TIME','$DATA >> $FILENAME
if [ `date -jf "%Y/%m/%d %H:%M:%S" "$ENDTIME" '+%s'` -lt `date '+%s'` ]; then
break #指定日時を経過したら繰り返しを終了
fi
sleep `expr $INTERVAL - $(expr $(date '+%s') - $(date -jf "%Y/%m/%d %H:%M:%S" "$TIME" '+%s'))` #実行間隔から前回実行に掛かった時間を減算して待機
done
拡張子を.shにしたテキストファイルとして保存し、
chmod +x シェル名.sh
で実行権限を設定して準備完了。

ターミナルから/bin/bash シェル名.sh を実行して後は放置。

測定後にExcelで集計処理を行って、最大値・最小値と平均の推移を見やすくするために株価チャートで作成。
株価チャートは1軸でしか作成出来ないため、一方のグラフの背景を透明にして重ね合わせしたものをテンプレートとして、都度データ範囲を変更することにする。

Graph


グラフのとおり、同じ時間帯でもサーバーの状況や経路の影響で最大値と最小値の差が200Mb/s以上になる場合もある。曜日や祝日でも異なる数値になるし、測定しているパソコンの利用状況や宅内LANの影響もあるだろう。あくまで傾向を確認する程度の信頼性しかないことは留意しておく必要がある。

今回のグラフは5月5日(金)21:00〜5月6日(土)22:00のもの。

| | コメント (0) | トラックバック (0)

2017年3月 5日 (日)

NVR500 で IPv6 IPoE 接続

IPv6の接続方法にはPPPoE方式とIPoE方式があるがNTT東日本のフレッツ 光ネクスト IPv6 IPoE対応プロバイダで使用しているプロバイダがPoEをサポートしていることが確認出来たので、PoE接続(ネイティブ方式)で接続することにした。ちなみに、PPPoE対応プロバイダはこちら

前提条件でフレッツ光のv6オプションが必要だが、光回線の開通時に設定されていることが多い。設定状況はNTT東日本のサービス情報サイト(IPv4の[サービス申込受付]から確認・申込することが出来る(ただしルーターによってはIPv4のサイトへの接続設定が必要な場合がある)。

次にプロバイダでもIPv6接続を行うための設定が必要な場合があるので、プロバイダのHPから確認し、必要ならば手続きを行う。

NTT東日本とプロバイダの設定が出来たら、ルーターの設定を行う。
使用しているルーターはヤマハのNVR500。従来のPPPoE接続(プロバイダ接続)はそのままで、Telnetまたはかんたん設定ページ(WEB)の [トップ] > [詳細設定と情報] > [コマンドの実行]から
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server

ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan2 dhcp service client ir=on
provider lan2 name ipv6 PRV/0/8/0/0/1/1:IPv6_IPoE

dns server dhcp lan2
dns service fallback on
を入力・保存すれば完了。特に、プロバイダ接続の設定を変更する必要はない。
NTT東日本のサービス情報サイト https://flets-east.jp/ にもこのまま接続出来る。

あとは必要に応じてIPv6用のセキュリティフィルタを設定する。
今回はヤマハのサイトを参考に、おまじないのNetBIOS系除外を設定をした。今後は様子を見ながら変更することにする。

#
# LAN configuration
#
ipv6 lan2 secure filter in 101010 101011 101012 101013 101014 101015 101021 101022 101023  101098
ipv6 lan2 secure filter out 101099 dynamic 101080 101081 101082 101083 101084 101085 101086 101087
#
# IPv6 filter configuration
#
ipv6 filter 101010 reject * * udp,tcp 135 *
ipv6 filter 101011 reject * * udp,tcp * 135
ipv6 filter 101012 reject * * udp,tcp netbios_ns-netbios_ssn *
ipv6 filter 101013 reject * * udp,tcp * netbios_ns-netbios_ssn
ipv6 filter 101014 reject * * udp,tcp 445 *
ipv6 filter 101015 reject * * udp,tcp * 445
ipv6 filter 101021 pass * * icmp6 * *
ipv6 filter 101022 pass * * tcp * ident
ipv6 filter 101023 pass * * udp * 546
ipv6 filter 101098 reject * * * * *
ipv6 filter 101099 pass * * * * *
#
# IPv6 dynamic filter configuration
#
ipv6 filter dynamic 101080 * * ftp
ipv6 filter dynamic 101081 * * domain
ipv6 filter dynamic 101082 * * www
ipv6 filter dynamic 101083 * * smtp
ipv6 filter dynamic 101084 * * pop3
ipv6 filter dynamic 101085 * * submission
ipv6 filter dynamic 101086 * * tcp
ipv6 filter dynamic 101087 * * udp

IPv6で接続すると、IIJKDDIのページにIPv6で接続しているというアイコンが表示される。

Iij

Kddi

IPv6の接続性を確認するあなたの IPv6 をテストしましょう。にアクセスすると接続状況が評価される。

Ipv6test

Gmailのアクティビティを確認しても、IPv6でアクセスしていることが確認出来ている。

Activitylog

最後に、IPv4とIPv6の両方をサポートしているwww.google.comへpingを発行した結果。
host www.google.com
www.google.com has address 216.58.197.196
www.google.com has IPv6 address 2404:6800:4004:80d::2004
ping -c 6 216.58.197.196
PING 216.58.197.196 (216.58.197.196): 56 data bytes
64 bytes from 216.58.197.196: icmp_seq=0 ttl=55 time=4.853 ms
64 bytes from 216.58.197.196: icmp_seq=1 ttl=55 time=4.270 ms
64 bytes from 216.58.197.196: icmp_seq=2 ttl=55 time=4.767 ms
64 bytes from 216.58.197.196: icmp_seq=3 ttl=55 time=4.407 ms
64 bytes from 216.58.197.196: icmp_seq=4 ttl=55 time=4.513 ms
64 bytes from 216.58.197.196: icmp_seq=5 ttl=55 time=4.959 ms
ping6 -c 6 2404:6800:4004:80d::2004
PING6(56=40+8+8 bytes) --> 2404:6800:4004:80d::2004
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=0 hlim=52 time=3.011 ms
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=1 hlim=52 time=3.022 ms
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=2 hlim=52 time=2.885 ms
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=3 hlim=52 time=2.992 ms
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=4 hlim=52 time=2.927 ms
16 bytes from 2404:6800:4004:80d::2004, icmp_seq=5 hlim=52 time=3.168 ms

| | コメント (0) | トラックバック (0)

«ワットチェッカーBTWATTCHで計測が開始されない場合