FortiClient VPNを7系にバージョンアップして-20105エラーが発生

6.4系列のFortiClientを使っていましたが、メーカーのサポート終了が近づいているので7系にバージョンアップしました。設定を行ってエラー無く反映しましたが、SSL-VPN接続すると-20105のエラーで進まない状況となりました。

本記事の結論

FortiClientでVPN設定する場合は接続名を31バイト以下とすること。日本語などのマルチバイト文字はUTF-8で管理していると想定するので、3バイトとしてカウントすること。

問題について

経緯

FortiClient 6系を使ってリモートからVPNで接続して、お客様がご利用のネットワークを運用を支援する仕事をしています。FortiClient 6系のサポート終了も近いので、FortiClientを7系にバージョンアップして同じ設定内容を登録しました。

問題の詳細

同じ内容で、エラーもなく登録できましたが、-20105のエラーが出て接続できません。以前のバージョンに戻してVPNを接続すると問題無く接続できます。使っているVPNはSSL-VPNです。

解決策の試行錯誤

類似事象の検索

国内でFortiClient エラー -20105を調べました。

英語サイトのコミュニティ

英語サイトでも20105のエラーコードで調べてみました。記載のあったFortiGate側のログや設定を確認しましたが、有力な情報は見つかりませんでした。

最終解決

継続して調査していたところ、本当に偶然に解決方法が見つかりました。記載内容の趣旨は若干異なりましたが、同じエラーコードでした。可能性を感じて読み進め、試してみたら解決しました! 

FortiClient VPNのVPN接続が90%もしくは91%で失敗する(外部リンクになります)

気になるのは、FortiClient 7.2.3でも「接続名」が長過ぎてエラーが出ないです。私の確認方法が問題なのか、設定が異なるのかわかりません。でも長らく発生していた問題が解決したので感謝です。

問題の再現と解決の確認

まずはSSL-VPNが接続できることを確認しました。IPアドレスや名前は検証のために構成したため実在しないものです。

FortiClientでエラー無くSSL-VPNが接続

次に接続名を11文字にしてみます。

FortiClientで接続名だけ11文字にした場合にエラーが発生

エラーが出ました。接続名を10文字に戻すと接続できます。設定画面でマルチバイトの文字長の判定ができていないようです。

IPsec-VPNでの接続

IPsec-VPNでも接続名は31文字までに制限されているようにエラーが出ます。マルチバイト文字が含まれると接続名の長さ判定が効かないようで、保存できてしまいます。ただし、エラーが出ず接続できました。

IPsec-VPNならばFortiClientで長い接続名でも接続できる

事象はわかりませんが、FortiNetとして接続名は31バイト以下を条件としているため、31文字以下となるよう設定しないと他で不具合に合う可能性が高いです。

Cisco Catalystスイッチへの初期LAN接続に時間がかかる問題
ネットワーク機器のイメージ
PexelsでのPixabayによる写真

最近久しぶりにネットワークトラブルに遭遇したので、対応策をまとめておきます。先日、マルチベンダーで構成しているお客様のネットワークに新しいIP電話機器を接続したところ、エラーで接続できないと申告がありました。パソコンは接続できるのですが、新しい機器だけ接続時にエラーとなり接続ができない状況です。

IP電話機器は固定IPアドレスを使用して、ネットワークの接続性を確認します。現地に立ち会った同僚から聞くと30秒ほどでエラーとなり全く接続できなくなるという話です。IP電話機器を直接接続しているネットワーク機器はCisco Catalyst 1000で数ヶ月前に導入した新しい機器です。

本記事の結論

業界標準であるCisco Catalystでは標準でSTPが動作しています。STPが有効であればリンクアップしてから50秒程はネットワークに接続できない時間を待機する必要があります。

  1. STPを無効にする。
  2. 接続するネットワーク機器はSTPが動作している場合を想定して、50秒以上タイムアウトを延ばす。
  3. 固定IPアドレスではなく、DHCPを有効にする。

原因切り分け

事象詳細

フロアスイッチとして利用しているCisco Catalyst 1000のポートにIP電話機を接続しました。リンクアップした模様ですが、30秒以下でネットワーク接続エラーとして利用できない状況となりました。パソコンを接続してみましたが、ネットワーク接続に問題はありません。

想定原因

ネットワークの設定間違い

VLAN-IDの設定間違い、IPネットワークアドレスの設定間違い、中継トランクの設定間違いが考えられます。IP電話機がエラーで接続できないCisco Catalystのポートに、パソコンを接続した場合はネットワーク接続に問題はありませんでした。

IP電話機側の設定間違い

問題が発生しているCisco Catalystに経由しないようにIP電話機を接続するとネットワークに正常に接続できました。この時点でIP電話機のネットワーク設定に間違いがありません。

起動時の問題

問題が発生した後にCisco Catalystのログを調査しましたが、何も残っていないので原因特定が難しい状況でした。起動してからの詳細をヒアリング指定くと、IP電話機が起動してから30秒以下でネットワーク接続エラーで再試行しない状況がわかりました。

原因の考察

「ネットワーク接続を諦める時間が短くないかな?」というのが最初に私は感じました。IP電話機は固定IPアドレスで設定しているので、リンクアップしてすぐにネットワーク接続を試行できる状況のため、Cisco Catalystの標準設定が影響している可能性を考えました。

結論にも記載していますが、この障害となった直接の要因はCisco Catalystの標準設定はSTPです。STPは有効な場合は、50秒ほどリンクアップしてもデータを転送できない状態があります。DHCPでIPアドレスを割り当てる場合には、STPの50秒よりも長い60秒のタイムアウトがDHCPクライアントにはあるため、DHCPを使っていればSTPが有効であっても問題は起きなかったと考えられます。

検証と確認事項

検証構成

Cisco CatalystのSTP有効時の影響を検証するためのネットワーク

問題が発生したネットワークとほぼ同じ構成とします。コアスイッチのL3にゲートウェイアドレスを持たせ、フロアスイッチにL2スイッチを構成しました。コアスイッチではSTPが既に動作しており安定稼働しています。コアスイッチでSTPを無効にすることはできません。

フロアスイッチのL2スイッチでは、今回追加するネットワークを想定してSTP有効時と無効時で、ゲートウェイアドレスへのPING応答が何秒で返ってくるかの時間を確認します。

一つ前提条件として、コアL3スイッチとフロアL2スイッチの接続はSTPの動作確認時間50秒を経過させ、接続できている状態であるものとします。

検証結果

フロアスイッチでSTPを無効にして検証用PCを接続すると、1秒も必要とせずコアL3スイッチに設定したゲートウェイIPアドレスにPINGの応答が返ってきました。

STPを有効にして検証用PCを接続すると、リンクアップしても50秒ほどゲートウェイIPアドレスからのPING応答が返って来ませんでした。

IP電話機が30秒ほどでネットワーク接続にエラーを返して利用できない問題は、フロアL2スイッチでSTPを無効化することにより解決する見込みです。

対処結果と結論

その後、現地Cisco Catalyst 1000でIP電話機を接続するポートのVLANに対してSTPを無効化したところ、問題無くネットワークに接続できました。そこでCisco Catalystを使う場合の注意事項をまとめておきます。

Cisco Catalyst スイッチは、標準でSTPが有効です。このSTP有効の設定は設定ファイルに明示されていないため、注意が必要です。一般的に安価なノンインテリジェントスイッチングハブではSTPは無効が標準だからです。

Cisco Catalystスイッチは、フロアスイッチとして使う場合はSTPを無効化した方が扱いやすいと考えます。ただし、ループ構成によるブロードキャストストームには別の対策が必要となります。

WiFiが繋がらない・・・今日突然の出来事

昨日まで普通に接続できていたWiFiや無線LANが突然繋がらなくなった経験は無いでしょうか? 本記事では、特定の端末がWiFiに接続なった問題の切り分けと対処法を簡単にまとめました。一般的な対処法で解決できない問題をまとめたため、再現性はまだ未知数ですが、テレワークが増えて自宅ネットワークをメンテナンスする際に参考となる情報と思って掲載していますので、ポイントだけ拾っています。

WiFiへ繋がらない状態
PexelsPolina Zimmermanによる写真

WiFiが急に繋がらなくなった・・・

WiFiが特定の端末だけ繋がらない

Windowsパソコン、Mac book端末、Android端末、iPad端末など、色々な端末が自宅LANにWiFi経由で一部の端末だけ接続できない症状が急に発症しました。発症しているのは東芝REGZAと私のAndroidスマートフォンです。

Androidは旧式なので、そこまで気にしていないのですが、東芝REGZAでもWiFiに繋がらないのは困るので、解決方法を探ります。子供がYouTubeをテレビで視聴しているので、「早く直して!」という視線が痛いです・・・。仮にもSEとして仕事しているので、早く解決しないとプロ失格になります。

巷で言われる処方は全て試したがWiFiは繋がらない

ブロードバンドルータ、無線アクセスポイントは再起動したりしました。でも結局特定の2台だけWiFiに繋がらない状況は変わらずです。

状況を分析した結果IPアドレスが取れていないことが判明

検討プロセスは省略しますが、WiFi端末はIPアドレスをDHCPで払い出してもらっています。DHCPにしないとWiFiを変更するたびにIPアドレスまで再設定する必要があるのでとても面倒です。

実はDHCPでIPアドレスを取得する際、DHCPサーバがIPアドレスを割り当てできないとAPIPAと言われる169.254で始まるIPアドレスが割り当てられます。写真に撮り損なったのですが、WiFiに繋がらない端末ではAPIPAのIPアドレスが割り当てられている状態でした。

IPアドレスを固定してみたがWiFiに繋がらない

WiFiで無線アクセスポイントへ接続できていることは確認できたので、IPアドレスを固定してみました。結果は接続できませんでした。

WiFiに繋がらない端末の問題と想定

特定の端末2台がWiFiに繋がらない状況は全く変わらない中で、WiFiに接続できている端末もあることから、原因は端末にあると断定しました。

対処法は2つ

WiFiに繋がらない端末の初期化

この対処法は確かに効果があるのはわかりますが、元に戻す手間が大きいので今回は採用しません。企業において次項の対策が難しい場合はこの対策を採る必要があります。

WiFiのSSIDを変更

私が採用した対策はWiFiのSSIDを変更する方法です。WiFiに繋がらない特定の2台の端末でも、他のWiFiには繋がることは確認できていました。

SSIDを変更するため、現在WiFi接続できている端末も全てSSIDを変更しました。結果として、全ての端末がWiFiに接続できるように改善できました。

特定の端末だけWiFiが繋がらない想定する原因

SEとしての勘ですが、WiFiに繋がらない端末ではSSIDのキャッシュ情報に不備が起きていると考えています。理想はキャッシュ情報を削除したいのですが、テレビの設定にはそのような項目ありませんでした。全設定初期化しかないので、今回は自宅ネットワークでは負担が少ない対処療法のSSIDの変更で解決しています。

無線LANを簡単に拡張する

コロナ禍によって、社会人はテレワークが増えて大学生はオンライン学習、小中高校生はGIGAスクールで、自宅のネットワークに接続する端末が増えました。自宅でも今までは一箇所だけ無線アクセスポイントがあれば足りていました。

無線LANに接続できない状態

無線LANをなぜ今更拡張する必要が出て来た背景

自宅ネットワークへの接続が必要な端末が増えたから

でも最近では、無線LANを拡張する必要が出てきました。子供の学習机で端末を使う必要が出てきたのです。想定外の所で無線LANを使おうとしても使えない状態が出てきました。

拡張したいが無線LANの拡張は難しい

無線LANを拡張するためには、新しく無線アクセスポイントを置くだけでは完了しません。新しく設置する無線アクセスポイントを既存のネットワークに接続する必要があります。無線アクセスポイントを無線LANで中継する方法はあまり有効ではありません。無線中継機は、専用の中継用の帯域を割り当てる必要がありますので、2.4GHzまたは5GHzのどちらかが使えなくなります。中継と同じ周波数を無線端末にも使ってしまうと衝突が発生して伝送速度が落ちてしまいます。

そのため一般的に無線アクセスポイントの中継側は有線LANを使います。有線LANを使うにはケーブルを敷設する必要があります。UTPケーブルであれば100mまでですが、自宅に新たにケーブルを敷設することは面倒です。

そこですでに家庭内に張り巡らされているケーブルは無いでしょうか? 以前に一度注目された、電力線通信(略称は PLC で、正式名称は “Power Line Communication” らしいです)が使えないか検討してみます。コンセントであれば各部屋に一つはありますから、コンセントを伝って通信を送れるのであれば、とても効率的に無線アクセスポイントを設置することができるようになります。

1Gbpsが出せるPLCを発見!

以前は速度が出ないため、敬遠していましたが、コロナ禍による急激なネットワーク拡張が必要になりましたので、拡張しやすいPLCを見つけました。

2台入って金額は9千円を超えないので試してみる価値はあります。コンセント形状も家庭用100Vで使えることを確認して早速購入しました。

購入したPLCの箱の外観

中国製で英語表記なのは仕方ないですね。開けてみましょう。

まずは一番気になるコンセントプラグは裏面にあります。

コンセントプラグがあるPLCの裏面

固有情報は見えないようにしていますが、コンセントプラグは通常の家庭用100Vで使えます。説明書は英語なのですが、コンセントに直挿しに近い方が良いです。

PLCのパフォーマンスに関する注意

自宅では、インターネット接続付近のスイッチングHUBに接続できるコンセントと、無線LANを拡張したい部屋にそれぞれ接続しました。

PLCをコンセントに接続した状態

PLCの右下に3つのランプがあり、上のランプが電源ON状態、中央のランプがPLC対向側とペアが組めて通信可能な状態、下のランプがLAN側のリンクアップを示します。

このようにコンセントを占有されるので、延長ケーブルの無いタップが必要です。

注目されていないPLCだが意外と使える

箱にもありますが、300mまでの距離で使えます。自宅インターネット回線は300Mbpsなのですが、PCとPLCをUTPケーブルで直結したら250Mbpsまではダウンロードで速度が出ました。ただ、遅延が100msecを超えるので、家庭用か企業なら無線LANの試験用と割り切って使う必要がありますね。

有線LAN配線を広げるのは面倒だがPLCならネットワーク拡張は簡単

PLCを使って自宅の無線LANを他の部屋に拡張することができました。電源コンセントなら、どこの部屋にも既設でありますから、とてもお手軽にネットワークを広げることができました。

コンセントならどこの部屋にも必ずありますので、ネットワークの拡張前に企業で使うことも想定して、とても使いやすいですし、自宅でも無線APを移動させられますね。

サービスコンセントが無いことだけが唯一の弱点ですが、ネットワークの速度は1Gbps出るため、実用性は高いと思います。費用対効果も高いと思いますので、お勧めできます。

ネットワークに接続できない場合の解決ポイント

無線LANに接続するWi-Fiが主流になり、特に意識しなくてもネットワークが使える便利な時代になりました。逆によくわからないネットワークに繋がらないという問題も出てきています。全てのネットワークが使えない問題を解決することができる訳ではないですが、ある程度定型的な間違いもあります。ここでは、主にインターネットへ接続できないことを、「ネットワークに接続できない」と言います。

ネットワーク接続ができない状態
mohamed HassanによるPixabayからの画像

ここでは、スマートフォンやタブレット、無線LANを使うパソコンがネットワークに繋がらなくなった場合の解決に向けたヒントを提供します。

ネットワークの状態

ネットワークに接続できている状態

普通はWebサイトが閲覧できたり、LINEなどのアプリケーションが使える状態です。Wi-Fiを使っている端末なら扇型のネットワークアイコンが表示されています。ほかには、YouTubeの動画が閲覧できるでも良いですね。

ネットワークに接続できている状態は、普段の使い方ができている状態と言い換えても良いです。

ネットワークに接続できない状態

ネットワークに接続できない状態は、Webサイトが閲覧できなかったり、LINEなどのアプリケーションが使えない状態です。普段の使い方ができない状態と言い換えても良いです。

ネットワークに接続できないだけではないのですが、障害は普段正常にできていたことができなくなる状態のことを言います。

ネットワークに接続できないという状態は、普段できているネットワークに接続してWebサイト見たりすることができないが、スマホやタブレット、パソコンには問題が無くてネットワークに問題がある可能性が高い状態です。

ネットワークに接続できている状態
KaufdexによるPixabayからの画像

ネットワークに接続できない原因

今までネットワークに接続できていた状態が正常であれば、急にネットワークに接続できなくなったのは何かしら原因があります。まずは一番多い原因を確認して、それでも解決しなければネットワークの問題と想定してネットワークに接続できるよう解決を急ぎます。

その前に、スマホやタブレットを再起動して端末側に問題が無いことは事前に確認しておきましょう。

ネットワークに接続しない設定となっていないかを確認

  1. 機内モードになっていないか?
  2. Wi-Fiの自動接続を無効にしていないか?
  3. Wi-Fiが使うハードウェアを無効にしていないか?

1.の「機内モード」は飛行機の離着陸時に妨害電波となり得る無線を含む全ての無線の送出を無効にする機能です。通常は飛行機のマークです。Wi-FiもBluetoothも無線は全て使用できない状態になります。機内モードが有効で、解除を忘れているとネットワークに接続できない状態が続くことになります。

2.の自動接続を無効にしている場合もあります。「自動的に接続する」などの文言で無線LANやWi-Fiで設定が可能です。この自動的に接続するチェックを外しているとWi-Fiに接続できない状態となることがあります。

3.のWi-Fiが使うハードウェアを無効にするというのは、Wi-Fi自体は有効でも、ハードウェアをWindowsなどのOSで使用しないとしていたり、ドライバが動作しない場合は、Wi-Fiが使うハードウェアがOSから使えないため、ハードウェアが無効な状態となります。

上記の3点を全て確認してもネットワークが接続できない場合は、面倒ですが次項移行の対処を一つずつ進めます。

全てのネットワークから切断する

まずは接続しているネットワークからすべて切り離します。自動接続となっているネットワークは自動接続を解除してすべてのネットワークに接続できない状態を作ります。有線LANの場合はネットワークケーブルを抜いてください。

ネットワークに接続していない初期状態に戻す訳です。ただしWi-Fiの認証設定は残しておいて大丈夫です。参考までにWindows10でWi-Fiを無効にするにはタスクバーの検索でncpa.cpl探して実行してください。またはコマンドプロンプトを起動して、ncpa.cplと入力して実行しても表示されます。

下の図のようにネットワーク接続がいくつか表示されます。Wi-Fiの項目を右クリックして、「無効にする」を選ぶとWi-Fiをまとめて無効にできます。

ネットワークの無効化

よくネットワーク接続を見ると、BluetoothとWi-Fiは別ネットワークに分離しています。イーサネットのように有線であればケーブルを抜くだけなのでわかりやすいですが、無線LANをネットワークから切り離すのは、上記のようにネットワーク接続を表示しないとわかりにくいため、ncpa.cplで表示させる方法をお勧めします。

Bluetoothのネットワーク接続を使っている場合は、上の図のように接続されていない状態になっていることを確認します。Bluetoothのテザリング接続についての詳細はbluetoothテザリングを使いこなすをご覧ください。

ネットワークから完全に分離できると、タスクバーの通知領域に下のようにネットワークマークに一時停止マークが付いたアイコンが表示されます。通常Wi-Fiの場合は扇型のアイコンが表示されている箇所です。

ネットワークへの接続ができていない状態

この状態になれば準備完了です。

1つのネットワークだけに接続する

Wi-Fiでも、有線LANでも、Bluetoothテザリングでも良いので、一つだけネットワークに繋ぎます。この手順でネットワークに接続できるかを確認します。

一つだけネットワークに接続してもインターネットに接続できない場合は次項を一つずつ確認します。

ネットワーク固有で考えられる問題

DHCPを使って自動で接続できるネットワークか?

Wi-Fiを接続するためには、ほとんど自動でネットワークへの接続ができるDHCPを使っています。DHCPはDynamic Host Configuration Protocolの略で、IPアドレスなどのネットワークへ接続する時に必要になる情報を自動で配布する仕組みです。

接続しようとしているネットワークがセキュリティを向上するために、DHCPを意図的に無効にしている場合があります。DHCPが有効でネットワークへの接続に条件が揃っていてもネットワークに接続できない場合は、ネットワーク管理者へ相談して解決してもらいましょう。

ネットワークへ接続するには認証が必要か?

セキュリティレベルが高いネットワークの場合には、ネットワークへ接続するために認証が必要な場合があります。認証の種類には①MACアドレス認証と②IEEE802.1X認証(.1x認証とか略すことも有ります)のように認証が必要な場合があります。

MACアドレス認証は、ネットワークに接続するスマホやタブレットのMACアドレスに対して、ネットワーク管理者の事前に許可が必要な方式です。最近のスマホやタブレットではMACアドレスをランダムに変更する機能がありますので、MACアドレスを固定化してネットワークに接続するMACアドレスを管理者に伝えておく必要があります。

IEEE802.1x認証は、ネットワーク管理者が許可したクライアント証明書をインストールしたスマホやタブレットだけがネットワークに接続できる方式です。

必ず接続できるネットワークを残しておくと安心

どうしてもネットワークに接続できない場合には、慌てずに接続できるネットワークに接続して落ち着きましょう。例えば、スマホのテザリングでも良いと思います。このサイトには、WiFiで接続できなくても、Bluetoothテザリングで接続する方法を紹介しています。詳細はbluetoothテザリングを使いこなすをご覧ください。

bluetoothテザリングでも何でも良いので、ネットワークに接続できると急ぎの仕事も片付けられるので、一安心です。その後、このページに記載したポイントを見てネットワークに接続できない原因を特定し解決してください。ほとんどがこのページで紹介したケースで解決できるはずです。

少ないながらも機器故障の可能性

最後に、ごく稀にハードウェアの故障によってネットワークに接続できないことがあります。あまり多い事例ではありませんが、このページの対処でもネットワーク

リモートアシスタンスを簡単に使おう!

遠隔でもパソコンの画面状態を共有できる便利なリモートアシスタンスですが、Windowsに標準で搭載されているリモートアシスタンスは使いにくいと思います。コロナの影響もあり、なかなかパソコンの前で画面を一緒に見ながら操作ということが難しい状況です。

ここではchromeのリモートサポートがとても簡単で便利にリモートアシスタンス機能が使えますので、紹介したいと思います。

googleリモートアクセスで簡単にリモートアシスタンスを使う
このページの結論

googleリモートアクセスはリモートアシスタンスとして便利に使えます。インストールする必要があるのは以下2つの順に行えば利用できます。

  1. Google Chromeをインストール
  2. Google Remote Desktopをインストール
  3. Google Remote Desktopの初期設定

私の個人的な見解になりますが、Windows標準のリモートアシスタンスより使いやすいです。この機能を使うにはGoogleアカウントでログインする必要があります。

Googleリモートアクセスの何が良いの?

今のところ無償で使える点がメリットです。リモートアクセスはリモートデスクトップとは違います。Windowsの機能で言うとリモートアシスタンスです。リモートデスクトップでは遠隔でログインすることが目的です。画面を共有しません。

対してリモートアシスタンスは、パソコンを使っている人と画面共有ができます。画面共有してパソコンの疑問を解決するための問題を共有するための機能です。

Googleリモートアクセスを使う手順

Google Chromeをインストール

chromeの配布サイトからご自分のデバイスにあったchromeをインストールします。ここはそんなに難しくないと思います。

Google Chromeをインストール済みであればアップデートして最新にしておきます。Windows10のソフトウェアの更新確認(Google Chrome)を参照してください。

Google Remote Desktopをインストール

chromeリモートデスクトップのサイトへGoogle Chromeでアクセスします。

googleリモートアクセスで簡単にリモートアシスタンスを使う

上のような画面が表示されると成功です。ダウンロードアイコンをクリックして、chromeremotedesktopアプリをインストールします。インストール後自分のパソコンを識別するための名前設定が必要です。コンピュータ名を指定すると良いでしょう。

MacではGoogle Remote Desktopに権限付与が必要

Macもインストールして使うことができますが、権限を2つ付与する必要があります。

  1. アクセシビリティ
  2. 画面収録

下のように案内が出るので苦労することも無いと思います。

chromeリモートデスクトップへの権限付与

次に、画面収録の権限の付与も必要です。

画面収録の権限を付与

権限の付与が完了すると使えるようになります。

Google Remote Desktopの初期設定

まずはGoogle Remote Desktopが自動で起動しないようにします。chromeリモートデスクトップのサイトへGoogle Chromeでアクセスします。

Googleリモートアクセスのトップページ

上の図のように、「オンにする」と表示されていれば大丈夫です。意図せずオンラインとなっている場合には、ゴミ箱のマークをクリックしてリモート接続を無効にすると上の図のような状態に変わります。

ここまでできれば、Googleリモートアクセスをリモートアシスタンスとして使う準備が完了です。

Googleリモートアクセスを使ってみよう!

リモート接続する2台のパソコンに。chromeリモートデスクトップのサイトへGoogle Chromeでアクセスします。

リモートサポートを選択

上の図のように、赤枠内の「リモートサポート」をクリックします。

Googleリモートサポートを開く

上の図のように、表示されれば準備は完了しています。ここからはリモートアシスタンスを提供するために、支援する側と支援される側で操作が別れます。初めに支援を受ける側が準備します。

リモートサポートを受ける側の準備

リモートサポートを受ける側の手順を説明します。サポートを受ける側は今のパソコンの画面表示をサポートを提供する側と共有できます。

リモートサポートを受けるためにコードを生成

上の図のように、リモートサポートのページで、赤枠内の「コードを生成」をクリックします。

リモートサポートのためにコードを生成した画面

上の図のようにサポートを受ける範囲以外が暗くなり、サポートを受ける領域が目立つように表示されました。赤枠内にリモートサポートする側が受ける側のパソコンに接続するための12桁の数字が表示されます。ここではセキュリティ上の配慮で塗りつぶしています。

この12桁の数字をメモしてリモートサポートを提供してくれる人に伝えてください。有効な時間は5分です。

リモートサポートを提供する側の準備

ここからはリモートサポートを提供する側の操作となります。

リモートサポートを提供するためにアクセスコードを入力する

リモートサポートを受ける側の操作で表示された12桁の数字を上の図の①の赤枠内に入力します。半角数字しか入力を受け付けないので注意してください。

入力が終わったら、②がクリックできるようになります。接続ボタンをクリックします。

リモートサポートを受ける側に接続確認

リモートサポートを提供する側が正しい12桁のコードを入力して接続してくると、最終確認のためのメッセージが表示されます。

リモートアクセスを受ける側に表示されるダイアログ

上の図のようなダイアログが表示されます。グレーで塗りつぶしたところはサポートを提供する人のGoogleアカウントに関連してしたメールアドレスが表示されます。

間違いなければ、「共有」をクリックするとリモートサポートができるように画面共有が始まるます。

リモートサポートを終了するには

リモートサポートによる画面共有を開始すると表示されるダイアログを探します。

Googleリモートサポートの画面共有を終了する

上の図のように、右側にある「共有を停止」ボタンをクリックしてリモートサポートによる画面共有を停止します。

なお、Macで仮想デスクトップを使っている場合には、リモートサポートを開始した仮想デスクトップの画面に固定されていますので注意が必要です。Windowsの場合は仮想デスクトップを移動してもダイアログが付いてきます。

まとめ

リモートアシスタンスの代わり簡単に使えないかと検証してみたGoogleリモートサポートですが、画面を共有する必要最小限の機能に特化していました。Chromeだけインストールしてあれば、ほぼ使えてしまう機能なので、データの受け渡しが簡単にできないのはセキュリティに配慮していると思います。

WIndowsのリモートアシスタンスが使いにくかったので、探していたのですが、Chromeに具備されていたのは気付きませんでした。

この記事を読んでいる方にも参考になると幸いです。

“Webサイトが遅い”を解決する!

Webサイトを閲覧していて、「遅いなー」って感じたことないでしょうか? リニューアルしたり、設定を変更したり、プラグイン入れたり、何かしら変更した場合や、前触れもなくいきなり遅くなることもあります。

Webサイトが遅くて待たされている状態

Webサイトが10秒以上も表示されず、ChromeなどのWebブラウザが真っ白なんてこともあるでしょう。自分が関与していない箇所でお客から「何とかしろ!」なんて攻められるのも嫌なので、早々に「私の管轄部分は正常です」と言える事実を突きつけたいです。

このような時に実は、ChromeやFirefox、(最近ではChromeベースのMicrosoft Edge)にWebサイトの表示が遅い状況を分析できるツールが備わっています。以前SEの仕事でお客様から「Webサイトが遅い!」と言われて調べた際にとても役に立ってくれました。今回はこのツールを紹介したいと思います。

このページの結論

ChromeやFirefox、最近のChromeベースのMicrosoft EdgeにはWebサイト表示のどこでどれだけの時間がかかっているか分析して表示する機能があります。

  1. Google Chromeの「ディベロッパーツール」の「ネットワーク」
  2. Firefoxなら、「ウェブ開発」の「ネットワーク」
  3. ChromeベースのMicrosoft Edgeなら、「開発ツール」の「ネットワーク」

“Webが遅い”原因は何があるのか?

Webが遅いという原因はいくつかポイントがあります。今回紹介する手法は、WebサイトがChromeなどのWebブラウザに表示されるまで画面が真っ白になる状態の時間が10秒以上かかるような場合の原因分析に使えます。 

ネットワークが遅い場合

ネットワークが遅い場合は、Webサイトの表示だけが遅いのではなく、他のすべてが遅くなります。具体的には、Googleなどの検索サイトへのアクセスや、LAN内にあるファイルサーバなど、どこに接続するにも影響が出ます

ネットワーク全体が遅い場合はLANを管理しているネットワーク管理者に相談してください。この場合は本記事のツールは役に立ちません。

1回目だけWebサイトの表示が遅い場合

パソコンを起動した時や、長時間アクセスしていないWebサイトにアクセスした際に遅く、2回目以降は早く表示されるWebサイトの場合は、DNSやWebサイトアクセスに使うキャッシュがないためと考えられます。

1回目だけWebサイトの表示が遅い場合も、本記事のツールは約二立ちません。

Webサイトの表示に常に時間がかかる場合

Webサイトを表示し始めててから表示が完了するまえに時間がかかる場合、何かWebサイトに問題があると考えられます。Webサイトはサーバのハードウェア、OS、ミドルウェア、コンテンツなど複雑に構成されています。

Webサイトが遅い原因を簡単に見つけることもできる場合がありますが、逆に原因がすぐにわからないこともあります。このような場合には本記事のツールがどこで時間がかかっているのかがわかるため、解決の役に立ちます。

ツールの起動の仕方

Chromeの場合の起動方法

Chromeを起動して、右上の設定メニュを開きます。

Webサイトが遅いを分析するツールを起動

上のずのように「その他のツール」のサブメニューを開き、「デベロッパーツール」をクリックして開きます。

Webサイトの遅いを分析するためのディベロッパーツール

上の図のように「Network」タブをクリックします。ショートカットではCtrl+Shift+iキーで開きます。

これで準備が完了です。

Firefoxの場合の起動方法

Firefoxを起動して、右上のメニューをクリックして開きます。

Webサイトが遅いを分析するツールをFirefoxで起動

上の図のように「ウェブ開発」をクリックしてサブメニューを開きます。

Web愛とが遅いを分析するためのFirefoxのネットワークツール

上の図のように、ネットワークをクリックします。ショートカットではCtrl+Shift+iキーで開きます。

Webサイトが遅いを分析するFirefoxのネットワークツール

上の図のように、Firefoxの下半分くらいが開発ツールで埋まります。「ネットワーク」タブをクリックして表示しておきます。以上でFirefoxの準備は完了です。

Microsoft Edgeの場合の起動方法

初めにMicrosoft Edgeを起動します。

Webサイトが遅いを分析するMiscosoft Edgeの開発者ツールを起動

上の図のように、右上の「設定など」をクリックするかAlt+Fキーでメニューを開きます。「その他のツール」のサブメニューから「開発者ツール」をクリックします。

Webサイトが遅いを分析するMicrosoft Edgeのネットワークツール

上の図のように「ネットワーク」をクリックします。ショートカットではCtrl+Shift+iキーで開きます。

以上で準備は完了えす。

Webサイトにアクセスして分析する

開発者ツールでネットワークを表示した状態で、表示が遅いWebサイトにアクセスしてみましょう。

Webサイトにアクセスしてみる

上の図はこのWebサイトのトップページhttps://singomemo.com/にChromeでアクセスした時の状態です。

右側にタイムチャートができています。このWebサイトはそれほど遅くないので、綺麗に時系列ができています。

表示が遅いWebサイトで同じことを実施すると、特定の場所で時間がかかっていることがわかります。その場所がWebサイトの表示に時間がかかる原因です。自分の管轄であれば原因調査を開始しましょう。自分の管轄でなければこのデータをもって問題解決に取り掛からせましょう。

取得したデータの活用

今表示した結果はデータとしてエクスポートできます。保守ベンダーや開発ベンダーがすぐに連絡取れない場合は、データをエクスポートしてベンダーにメール送りましょう。このデータをインポートすることで同じタイムチャートを表示できます。

エクスポートする方法

Microsoft EdgeとCromeはほぼ同じです。Firefoxだけ違います。

ChromeとMicrosoft Edgeの場合

開発者ツールを開きます。ショートカットキーCtrl+Shift+iで開きます。右上の下に向いた矢印です。

Webサイトが遅いを解決するための分析データをChromeとEdgeでエクスポートする

上の図の右上にあります。下向き矢印です。

Firefoxの場合

開発者ツールを開きます。ショートカットキーCtrl+Shift+iで開きます。右上の下向きの矢印です。

Webサイトが遅いを解決するための分析データをFirefoxでエクスポート

上の図のように真ん中右にあります。歯車マークをクリックするとメニューが表示されます。「HAR形式ですべて保存」をクリックするとファイル選択ダイアログが表示されますので分析データを保存します。

インポートして表示する方法

Microsoft EdgeとChromeはほぼ同じです。Firefoxだけ違います。

ChromeとMicrosoft Edgeの場合

開発者ツールを開きます。ショートカットキーCtrl+Shift+iで開きます。右上の下向きの矢印です。

Webサイトが遅いを解決するための分析データをChromeとEdgeでインポートする

上の図の右上にあります。上向き矢印です。少し時間がかかりますが、表示されます。ただし、Firefoxの分析データだけは上手く読み込めないようです。

Firefoxの場合

Webサイトが遅いを解決するための分析データをFirefoxでインポート

上の図のように真ん中右にあります。歯車マークをクリックするとメニューが表示されます。「HARファイルのインポート」をクリックするとファイル選択ダイアログが表示されますので分析データを選択します。表示までに少し時間がかかります。

まとめ

3つの主要ブラウザで、Webサイトが遅い原因を分析するためのツールとデータの形式が合っているのも助かります。お客から分析データをHARファイル形式で提供してもらうにしてもどれかは使っていると思いますので。

これで複雑なWebシステムのトラブルを少しでも早く、容易に切り分けができると良いと思います。

グローバルIPアドレスを調べる

パソコンを使ってWebサイトを運営していると、Webサイトへのアクセス解析をする人が多数だと思います。でも特定のIPアドレスからの接続が多くて調べてみると自分のIPアドレスでがっかりした経験はありませんか?

ここでは自分が使っているIPアドレスを調べる方法を説明します。

グローバルIPアドレスを使って接続するインターネットのイメージ
mohamed HassanによるPixabayからの画像
このページの結論
  1. あたなが使っているIPアドレスは54.163.200.109です。
  2. Webサイト上では環境変数 REMOTE_ADDR を読み取ることで、Webサイトに接続しているIPアドレスがわかります。

自分のIPアドレスを調べる方法

なぜ自分が使っているグローバルIPアドレスがわからないかというと、最近のネットワークはLANの中ではプライベートIPアドレスを使う形態しかありません。そのため、Webサイトにアクセスした時のグローバルIPアドレスは変わってしまいます。

グローバルIPアドレスを直接スマホやパソコンに使わせない理由は2つあります。一つはグローバルIPアドレスが足りないからです。もう一つ、セキュリティ上の理由があってLANにあるパソコンをインターネットから直接見せないようにするためにあえてプライベートIPアドレスを使っていることもあります。

特にIPv6であればグローバルIPアドレスが不足することは当分の間は無いです。現実的にはグローバルIPアドレスが不足しているIPv4を使うことがまだ多いです。そのためIT業界では、まだIPv4が現役でIPv6はおまけのような存在です。

具体的に自分が使っているグローバルIPアドレスが何かを調べる方法を3つ説明します。

ネットワークの管理者に聞く

ネットワークが複雑であれば、WebサイトごとにグローバルIPアドレスを変えている場合もあります。例えばマルチホームで接続している場合や、複数のプロキシサーバあり、用途に応じて振り分けている場合など、複雑なネットワークポリシーがあると複数のグローバルIPアドレスを使い分けていることがあります。

このような場合は、ネットワーク管理者が居るはずですので、ネットワーク管理者に確認した方が良いです。

Webサイトへアクセスして調べる

それほど大きなネットワークではない場合、グローバルIPアドレスが一つの場合があります。この場合には、大きなネットワークの時のように、WebサイトごとにグローバルIPアドレスが変わることは少ないでしょう。

Webサイトの接続して接続元(つまり自分になります)のIPアドレスを表示させることで自分が使っているグローバルIPアドレスを知ることができます。

Webサイトでは、アクセスログを見ると接続元のIPアドレスは載ってきます。もう少し簡単な方法では、PHP・Ruby・JavaScriptなどでWebコンテンツに表示してしまうのも一つの手段です。環境変数 REMOTE_ADDR を取り出すとIPアドレスが入っています

このWebサイトでもIPアドレスを表示していますが、PHPのgetenv関数を使っています。

ネットワーク機器を調べる

インターネットへの接続が1台だけなら、通常その機器を調べればグローバルIPアドレスはわかります。

ただし、インターネットへの接続にプロキシサーバなどを使っているとインターネットと接続しているIPアドレスが実際のWebサイトとの接続に使うIPアドレスと同じにならない場合もあるので、使っているパソコンやスマホの設定を確認することが必要です。

このサイトでも表示します

あなたが使っているIPアドレスは 54.163.200.109 です。IPアドレス以外にも有用な情報はありますでのいくつか掲載します。

項目名 対応する環境変数 取得した値
IPアドレス REMOTE_ADDR 54.163.200.109
ブラウザ HTTP_USER_AGENT claudebot
どこから来たか HTTP_REFERER

他にも取得できる値はありますが、Webサイト管理者に有用なのは上記3つくらいですね。JavaScriptだと画面サイズも取れるようです。

どこから来たかについては、直接URLを入力したり、ブックマークから呼び出したり、新しいタブや新しいウィンドウで開いた場合には記載されないので注意が必要です。

WSLを使ってUNIXコマンドをWindowsで使う!

以前UnixコマンドをWindowsで使いたいというタイトルで、UnixコマンドをWindowsにインストールすることなく使える方法を提示しました。WSLを使うとインストールする必要はありますが、Unixコマンドを使うことができます。今回はWSLを使ってWindows上でUnixコマンドを使える環境を説明します。

繰り返しになりますが、Windows上でUnixコマンドを使いたい時は、巨大なファイルの検索とか、切り出しとか、WindowsのテキストエディタやExcelなどのアプリケーションで開けない場合や、Unixコマンドを使い慣れた方には一つの解決策になります。

WSLで使うUbuntuのデスクトップイメージ
このページの結論

WSLは、LinuxがWindowsを操作できるインターフェースを提供します。WSLのポイントは以下です。

  1. Microsoft 標準提供です
  2. Windowsのフォルダやファイルを操作可能です
  3. UnixコマンドだけなのでWindwosのリソースを無駄に消費しない

WSLを使うメリットとデメリット

WSLを使うメリット

WSLはLinux向けにWindowsを操作できるインターフェースをします。この機能を使うと、WSLに対応したLinuxからWindowsを操作できます。

今具体的には、LinuxコマンドでWindowsのファイルを操作えきることくらいです。PowerShellのような形でUbuntuのLinuxコマンドが使えます。

Linuxコマンドに慣れた人にとっては,、サードパーティのフリーソフトを探す必要がないことです。

WSLを使うデメリット

WSLを使うデメリットは、UNIXコマンドをWindowsで使いたい!で紹介したUnxUtilsがインストール不要であるのに対して、WSLはインストールが必要であることとと、コマンドプロンプトから直接使うことができないことです。

Windowsのフォルダにアクセスするには、WSLを起動した後にLinuxコマンドでディレクトリを少し移動する必要があります

WSLの機能を有効化

WSLの機能を有効にするにはWindowsの再起動が必要ですので、再起動ができない時は避けましょう。Windowsの機能の有効化と無効化を開きます。まずは管理者権限のあるアカウントでWIndowsにログインします。

Windows10のスタートメニュー

上の図のように、①スタートメニューをクリックして、②設定をクリックします。

Windowsの設定画面

上の図のように、WIndowsの設定ウィンドウが開きます。赤枠内の検索ボックスに「機能の有効化」と入れると、すぐ下に「Windowsの機能の有効化または無効化」が表示されますので、それをクリックして設定するウィンドウを表示します。

WSLを有効にするためWindowsの機能から探す

上の図のように、「Windowsの機能の有効化または無効化」ウィンドウが表示されます。右のスクロールを動かし下から1/3くらいのところに上の図の赤枠のようにWindows Subsystem for Linuxがあります。ここにチェックを入れます。

WSLを有効にする

上の図のように、チェックを入れて、右下のOKボタンをクリックします。

WSLを有効にしている状態

上の図のように進めば後は完了を待つだけです。WSLの有効化が終わるとWindowsの再起動を求められますので、再起動します。

Windowsの再起動が完了するとWSLの機能は有効になっています。

WSLに対応したUbuntuをインストール

WSLが有効になった後は、利用するユーザーでUbuntuをMicrosoft Storeからインストールします。

WSL対応UbuntuをMicrosoft Storeで探す

上の図のように利用するユーザーでタスクバーのMicrosoft Storeアイコンをクリックします。

WSL対応UbuntuをMicrosoft Storeから探すため検索ボックスを見つける

上の図のように、Microsoft Storeのウィンドウが表示されたら、右上の赤枠にある検索をクリックします。

WSL対応Ubuntuを探すために検索窓に入力

上の図のように、赤枠内の検索窓に「ubuntu」と入力して検索します。

WSL対応の最新版Ubuntuを選択

上の図のように、Ubuntuは3種類表示されます。Linuxコマンドを使うだけなら最新版でも問題なく使えますので、上の図の赤枠の20.04を選択します。

WSL対応Ubuntuの20.04をイントール

上の図のように、WSLに対応したUbuntu 20.04が表示されます。右上の赤枠「インストール」をクリックしてインストールを開始します。Microsoftへのログインが表示されても、ログインしなくてもインストールできます。

WSL対応Ubuntu 20.04をインストールしている状態

上の図のようにインストールをクリックした箇所の左側にバーが出てインストールしている状態を表示します。

WSL対応Ubuntuuのインストールが完了

上の図のように、右上が「起動」になればインストールは完了です。

WSLを使ってみる

WSLを使ってみます。初回起動は少し時間がかかります。

Ubuntu専用のターミナルを立ち上げる

WSL対応Ubuntuをスタートメニューから探す

上の図のように、①スタートメニューとなりの検索アイコンをクリックして「ubuntu」と入力し、②上に表示される「Ubuntu 20.04 LTS」をクリックします。

WSL対応Ubuntuを初回起動時の画面

上の図のように、ユーザー名の入力が必要な状況になれば初期設定は完了です。ユーザー名とパスワードを入力してプロンプトを表示させます。

あとはUbuntuのコマンドラインです。ただし、ディレクトリ構成が特殊で、Windowsのファイルは/mnt/以下にドライブ名とともにマウントされています。cdコマンドで移動してWindowsのファイルにアクセスします。例えばCドライブは/mnt/cディレクトリに、Dドライブは/mnt/dにマウントされます。

コマンドプロンプト上でWSLを起動する

コマンドプロンプトを起動して、ubuntu2004と入力するとWSL対応Ubuntuが起動します。起動したあとは同じです。ディレクトリも変わりますので、Cドライブにアクセスしたいなら/mnt/cディレクトリに移動します。

このあたりはPowerShellと同じですね。ただ、初期のディレクトリが違います。これは.bashrcとかで記述するとうまく元居たフォルダに移動できるかもしれません。と思っていたのですが…。

さらに調べてみると、コマンドプロンプト上でwslと入力すると今のディレクトリでUbuntuのLinuxコマンドが使える状態になりました

WSLコマンドが使いやすい

コンピュータ名やユーザー名を隠したら、上の図のようによくわからないイメージになりましたが、伝えたいことは「コマンドプロンプトでwslと入力すると使いやすいです」ということです。

まとめ

WSLは今のところ、LinuxコマンドをWindowsで使えるところまでしか使いこなせていない私ですが、これだけでもUnixコマンドが使えるのはとても助かります。

これまではUnixのコマンドを使ってデータ処理したい場合は、別途Unixを別マシンで立ち上げる必要がありました。そういう煩わしい作業が要らないので、今後の発展に期待したいです。

UNIXコマンドをWindowsで使いたい!

普段Windowsを使っていると、時々「ここでgrepがほしいな」とか「lessがあるといいな」とか、大きなファイルを編集する必要がある時に「ここでawkやsedがあれば助かるのに」とか思うことがあると思います。

Unixコマンドを使えるCentOS8の画面

このページでは、UnixコマンドをWIndows上で使えるソフトウェアを紹介してWindowsを便利に使えるようにしたいと思います。

このページの結論

UnxUtilsがインストールが不要で展開するだけで使える。環境変数LESSCHARSETをdosに設定すると日本語も表示できる。

主に使いたいコマンドは以下です。awkはgawkとして入っています。

  1. less
  2. grep
  3. egrep
  4. sed
  5. awk

UNIXコマンドをWindowsにセットアップ

UnxUtilsをダウンロード

UNIXコマンドをWindowsに提供してくれるUnxUtilsはダウンロードサイトから取得できます。

UNIXコマンドをWindowsで使えるUnxUtilsをダウンロードできるサイト

UnxUtilsをWindowsに展開

UnxUtils.zipをダウンロードサイトから取得できるので、展開します。パソコンの所有しているのであれば、C:\UnxUtilsフォルダに展開します。パソコンの管理者権限が無い場合には書き込めるフォルダに書き出します。

UNIXコマンドをWindowsで使うためにUnxUtilsを展開した状態

UnxUtilsをWindowsで使えるようにパス変数を設定

UnxUtilsを展開しただけでは、フルパスを入力しないとコマンドを実行できないので不便です。環境変数のPATHにUNIXコマンドが入っているフォルダを登録し、コマンド名だけで実行できるように環境を改善します。

OpenSSLコマンドにパスを通すためPCのプロパティを表示

上の図のように、①Windowsのスタートメニューにある検索マークをクリックしてpcと入力します。②検索したアプリとしてpcが表示されますので、右クリックしてメニューを表示させます。③プロパティをクリックします。

コンピュータの基本的な情報の表示

上の図のような、コンピュータの基本的な情報が表示されます。左上赤枠内のシステムの詳細設定をクリックします。

システムのプロパティ

上の図のように、システムのプロパティが表示されます。下の赤枠内の「環境変数」ボタンをクリックします。

環境変数の一覧画面

上の図のように、環境変数のダイアログが表示されます。①のPATH変数を選択して、②編集ボタンをクリックします。

PATH環境変数の編集画面

上の図のように環境変数名の編集ダイアログが表示されます。赤枠のように未登録最初の空行をクリックして、展開したフォルダのusr\local\wbin\を登録します。例えばUnxUtils.zipを展開したフォルダがC:\UnxUtilsであれば、C:\UnxUtils\user\local\wbinを登録します。

ここまで設定すれば新しくコマンドプロンプトはPowerShellのウィンドウからgrepやless、awkやsedを動かすことができます。あと一つlessの日本語の表示を設定が残っているのでこれを設定して完了となります。

lessで日本語が表示できるように環境変数を設定

標準の設定では、UnxUtilsのlessでは日本語の表示が化けてしまいます。これを回避する設定を行います。設定する詳細は省きますが、PATH変数を編集する直前の画面、で追加ボタンをクリックします。

UNIXコマンドのlessが正しく日本語を表示するために環境変数を追加する画面

上の図のように環境変数を設定する画面で、赤枠の新規ボタンをクリックします。

「新しいユーザー変数」のダイアログが表示されますので、変数名にLESSCHARSET、変数値にdosを入力します。

UNIXコマンドのlessがWIndows上の日本語表記を正しくするために環境遠陬を登録

上の図のように登録できたらOKボタンで環境変数を追加します。

UNIXコマンドをWindowsで使ってみる

UNIXコマンドlessの使用感

WindowsでUNIXコマンドのlessをipconfigに合わせて使ってみました。

UNIXコマンドのlessをWindowsで使ってみる

最後のENDがmoreを使った時と違います。矢印キーの上下で表示範囲を変更することも可能です。moreでは表示された内容を戻って再確認することができなかったので、とても使いやすくて満足です。

UNIXコマンドgrepやawkなど

コマンドプロンプトはWindowですが、grepやawk(実際にはgawk)なども使いやすく、Windowsであることを忘れてしまいます。

まとめ

サイズが大きいテキストファイルやCSVファイルを処理するにはUNIXコマンドのgrepやawkがとても使いやすいので、Windowsでも使いたく調べてました。とても満足で使いやすいので、興味があれば使ってみてください。