ネットワークのループの症状

  1. ルータやハブの電源を切って再起動後はいいが、2,3分でだめになる
  2. ルータやハブの電源を切って再起動後のpingの反応が遅い
  3. 他の部屋(ネットワーク)は何の問題も無い

不明なLANケーブルがあるといけませんね。床から上がってきたLANケーブルが2つあり、これを机の上のハブに2本とも差したためにループになった。延長とか机の上のハブの場合は、1本以外のLANケーブルはパソコンにつなぐ。だから、パソコンにつながってないLANケーブルがハブに2本以上差していたらだめな可能性がある。ケーブルは両端を確認するのが面倒ですよね。この点ではWifiの方がいい。

ループになってそうなら、1本1本怪しいLANケーブルを抜いていく。

抜いた時点での回復は早い。だから、コマンドプロンプトで「ping ルータなどのIPアドレス /t」をその部屋のパソコンで実行しておくとすぐにわかります。/tのスイッチで延々とpingします。

コマンドのヘルプは「コマンド+スペース(空白)+/?」で表示します。

自分がいる部屋のIPアドレスの一覧

ローカルエリアネットワーク(LAN)の話です。

部屋は物理的な意味で言っているのですが、ネットワークも一般的には部屋ごと1階、2階とかに分けています。管理上、都合がいいですから。

このネットワークを管理する単位は、ブロードキャスト/放送できる範囲です。IPアドレスの一覧とは、ブロードキャスト/放送の範囲の一覧でもあります。ネットワークが違うとブロードキャスト/放送が届きません。だって、ある部屋のPCが世界にブロードキャスト/放送できたらLANはパンクしますよね。

コマンドプロンプトでipconfigを実行して、以下のようになったらIPv4アドレスとサブネット マスクを探します。この2つでブロードキャストの範囲がわかります。サブネットマスクが255.255.255.0なので「.」を区切りとして、先頭から255が3つ続きます。ですから192.168.0がブロードキャストの範囲です。ですから、192.168.0.1から192.168.0.254までは同じ部屋/ブロードキャストの範囲です。

プリンタのIPアドレスがわからないという時、パソコンは利用者に聞いて回ればわかりますがプリンタのIPアドレスはテプラか何かが貼ってあるといいのですが(プリンタにIPアドレスのシールは必要ですよね)。同じ部屋(同じネットワーク部)だとプリンタに付属のソフトで設定できるんですけど、あえて使わせないということもあるかもしれません。

また、ネットワークの設定で「IPアドレスを自動的に取得する(O)」がある、これはルータからIPアドレスもらうのだが、特定のPCには特定のIPアドレスを設定したい場合はMACアドレス/ネットワークカードの物理アドレスがいる。ルータでDHCPの設定にMACアドレスを電子データで取得できるってのもいいかな?。PCのMACアドレスの下3桁程度を確認して設定ができる。

ところで、

Linuxならping で「ブロードキャストアドレス/大抵は最後が.255」にpingの応答が確認できる。自分のパソコンからブロードキャストできる範囲の全体にpingができるのです。

1行のコマンドでできるんです。

例えば、このコンピュータのIPアドレスが192.168.11.10、ネットマスク255.255.255.0(192.168.11.0/4とも書ける。普通.で区切る)とするとマスクしてない最後「.0」の部分以外の192.168.11が一致がする範囲がブロードキャストできる範囲。「.0」を「.255」にして

ping 192.168.11.255

これで全部のIPアドレスがわかるんですね。255は全部のアドレス。192.168.11が先頭にあって、1~254のすべてが255(192.168.11.255)という意味。0はネットワークの意味(192.168.11.0)。ですから192.168.11.0と192.168.11.255はPCのネットワークに割り当てることはできません。

話は、それました。

実は、Windowsでも255ができるます。「要求がタイムアウトしました。」となっていてもOK。

ポイントはarpコマンドも使うこと。

ping 192.168.11.255としてからarpを使うと自分と同じネットワークにいるIPアドレスの一覧を得ることができる。セキュリティ上pingの応答をしない端末に対してもarpコマンドなら存在を確認できる。

これができて何がうれしいのかというと。

いちいちping 192.168.11.2の2を順に大きくして

ping 92.168.11.3
ping 92.168.11.4
ping 92.168.11.5
・・・
ping 92.168.11.254

と入力しなくていい。そして、pingの返答の間に待たなくていい。致命的なのがpingにわざと応答しない設定にしている端末(ノード/node)。その端末に対してはお手上げですね。解決策がArpコマンドです。pingに応答しない設定でもIPアドレスがわかってしまう。

一覧が取れると、プリンターのIPアドレスや他のパソコンのIPアドレスがわかる。もし新たにIPアドレスの設定をする時に、あるIPアドレスを割り振っていいかどうかわからないのでIPアドレスの一覧があるとうれしいですね。

さて、

自分のIPアドレスはipconfigでわかります。

IPアドレスは192.168.11.10

サブネットマスクが255.255.255.0

なので192.168.11がネットワーク部、10がホスト部ということ

192.168.11.0をネットワークアドレスといい、192.168.11.255が192.168.11.のネットワークのブロードキャストアドレスです。

ブロードキャストとは放送でpingなら一斉に自分のネットワークにいるパソコンやスマホにpingのパケットを送る。同時に送る。返答するかどうかは相手しだい。

でもMACアドレス/物理アドレスは手に入る。arpコマンドで一覧が見れる。

家のパソコンを会社からVNCでリモート操作

会社のフィルターでネットがつかえん」の追加の設定です。

フリーのVNCは、リモートディスクトップっていうんかな。遠くのパソコンのディスクトップ画面を画面として操作できます。

Team Viewerも使えるが、フリーのVNCも使えます。ただ、VNCは通信経路が丸見え?だったと。

でも

sshでトンネリング(暗号化した通信のパイプ/トンネルのような感じ)しているので大丈夫。ということでVNCを使います。

家のノートパソコンにVNCを検索して、ノートパソコンにダウンロード、インストールします。

サービスとして動かしてから。家のノートパソコンの画面右下

設定画面をだす

パスワードの設定です。なんでもいいです。トンネルの中ですから簡単なパスワードにしよう。1文字でも大丈夫。何かエラーぽいのがでるけど。

パスワードの設定

動作確認は家のノートパソコンでlocalhostか127.0.0.1で確認できる。

会社のPuttyのTunnelsの設定の投稿に追加します。

追加したら、いったんsshの接続を切る(Puttyを閉じる)。再度、Puttyを起動、sshで接続してから、VNCViewerを起動し、127.0.0.1:11111かlocalhost:11111で家のノートパソコンに接続する。

あ、会社のパソコンにVNCViewerがいる。

パスワードは、UltraVNC Server Property Pageで設定したパスワードです。

taskkillコマンド 特定のアプリを強制終了

sshで接続中にサーバー側でsshdサーバーを終了することはできないが、接続しているPuTTyを終了すると、途中まで止まっていたsshdサーバーは終了手続きを続けて、終了できる。

さて、

会社と家のノートパソコンが443のポートで長時間接続中というのはいけません。時たま、PuTTyの終了を忘れていても接続を切る。

その方法は、sshdサーバーはそのまま、Puttyを終了させます。

Windows10のtaskkillコマンドは、/imを付けて実行するとプロセスのソフト名、実行ファイル名を指定できる。

sshで接続しているクライアントソフトPuTTyのプロセスを終了させるコマンド。/fは強制という意味。

taskkill /im putty.exe /f

これをメニューの「Windows管理ツール」の「タスク スケジューラ」に登録しておきます。日に何度かtaskkillを実行させる。

会社のフィルタでネットが使えん

という方に、家のパソコンに会社からsshで接続して自由を獲得する。

こちらを参考にしました。ssh接続の「ダイナミックフォワード」という機能を使う。

sshっていうのはコマンドで別のコンピュータとコマンドのやり取りができる。しかも、暗号化してます。接続相手はsshサーバーです。相手は家にあるノートパソコンです。接続しようとしている(クライアント)は会社のパソコンです。会社からはPuTTyを使う。

会社のPuTTy⇔家のパソコンのsshサーバー

この間に関所があります。会社のプロキシーサーバーと家の(ブロードバンド)ルータです。

会社のPuTTy⇔会社のプロキシーサーバー⇔家のルータ⇔家のパソコンのsshサーバー

Putty、家のルータの説明を主にします。

我社はプロキシの設定もあるのでPuTTyを使いました。会社にプロキシーサーバーがあるかどうかは、会社のパソコンのIEの設定でわかります。プロキシーが無ければ、Puttyを使わなくてもsshコマンド(有効にすればWindows10でも使える)でもOKです。

PuTTyの設定はややこしいです。でも設定がややこしいだけで使うのは簡単。

Tunnelsの設定

家のノートパソコン経由でインターネットに接続する設定。ダイナミックフォワード

ということで、会社のパソコンのIE(Microsoft Edgeは不明)のプロキシーの設定をSoketsにして、使用するプロキシーのアドレスを127.0.0.1かlocalhost、ポート番号は10000にすると会社にいながら家のノートパソコンを経由してインターネットに接続できる。

ブラウザでFireFoxは、単独でSocksの設定ができる。単に調べ物だけならFireFoxを使って他は社内のサーバーを使う。

話はそれました。PuTTyの設定の続き。

Sessionの設定。443はhttpsプロトコルが使うポート。このポートだと会社のフィルターも止めないでしょう。「家のグローバルIPアドレス」は、こちらでわかります。「こちら」は家でやってメモります。

このSession/セッション/接続は、会社のルータを監視すると見えます。https443番は一般的で怪しまれることはありませんが、これが何時間も接続していると怪しまれます。適当に切断することをオススメします。

Proxyの設定。HTTPをチェック

会社のプロキシサーバー名/IPアドレスは、IEの設定を参考にする

「Open」ボタンを押すとログインでパスワードを要求される。Windowsのログインと同じパスワードです。

以下がログイン完了。会社のパソコンからこのノートパソコンを通してインターネットに接続できる。次図のコマンドプロンプトは、家のノートパソコンのコマンドプロンプトです。

家のパソコンはWindows10でWindowsのsshdサーバーを使います。この設定はWindowsにsshdサーバーを追加して、ただ動かすだけ。ここで設定方法と使い方を簡単に説明してます。

ややこしいのは、家のルータ(バッファローAir-Station WHR-1166DHP2)の設定でしょうね。意味を説明するがややこしい。設定は簡単。考え方がややこしい。

アパート、マンションの方は無理です。また、一戸建ての方でも例えばSoftbankのレンタルルータなどでもきっと「ポート変換」ぐらいはあるはずです。

我が家は一戸建て、バッファローのルータを光回線の終端装置(ONU)に付けてるので自由です。

家のノートパソコンのIPアドレスは、〜.11.10です。これを固定しておかないといけない。ので手動割当です。

世界からパケットがお家のルータに来るのですが、ポート番号443の港をたたくパケットはノートパソコン〜.11.10のポート22にそのままえ渡す設定です。

なんで443なんか?PuTTyの「Sessionの設定」を見て下さい。

以上、ややこしい設定2つです。

家のグローバルIPアドレスはこちらでわかる。家でします。ついでに、会社の方も知っているといいことがあります。Windows10のファイアウォールの設定で特定のIPしか接続できないようにするのです。sshdサーバーに対してスコープをかけるとIPのパケットを見て送信元が会社のグローバルかどうかをチェックします。次図。

これで、家のいつのポート(港)が空いていると世界から侵入を試みるでしょうが、受け取る自宅のノートパソコンのsshdサーバーが応答するかどうかは、送信元のIPアドレスで判断してくれます。IPパケットのヘッダを見た時点で会社のグローバルIPアドレスでないとパケットが捨てられます。データな中身以前に送信元のIPアドレスで無視します。

だから、ユーザー名とパスワードすら試すことはできません。