Archive for the ‘Windows’ Category

PC ローカルネットワークの構築

火曜日, 1月 19th, 2021

1 ローカルネットワークの構築

自宅でWebネットワークを作ることにしました。Webアプリの開発とテストのためです。
本来はサーバーを使用した方がいいのですが、サーバーがない自宅でどこまでできるか、興味もありました。
まずは、ローカルネットワークの構築ですが、なかなか思うようにいきません。
PCは3台、Windows10、Windows8.1、Windows7とバラバラです。Windows10、Windows8.1はwifi、Windows7はLANを使用。
それぞれのworkgrpupを付け直して、統一しました。ネットワーク上のコンピュータ一覧が簡単に見えるかと思いましたが、そうはいきません。サーバーと違って、いくつかの手順をふむ必要があります。

●コンピュータ一覧の表示
Windows10、Windows8.1
ネットワークをダブルクリック。
Windows7
共有センターのネットワーク名をクリックする。

●ネットワーク探索を有効にする。
ネットワークと共有センター>共有の詳細設定
プライベート
ネットワーク探索を有効にするにチェック。
パブリックはチェックをはずすこと。
ipアドレス変更等の場合に無効になるようだ。

●ファイアウォール プライベート、パブリック の違い
プライベートネットワークは、家庭内や社内など文字通りプライベートな空間に設置されているPCに適用される設定です。
一方、パブリックは、公衆無線LANやホテルのネットワークなど、第三者が参加しているネットワークに接続する時の設定です。
パブリックネットワークでは、ファイアウォールの設定が厳しくなっており、ファイル共有やリモートデスクトップなどの接続が禁止されています。

ここまで設定しましたが、Windows10では「パブリック」のままで、「プライベート」に変えることができません。
OSバージョンの違いもあって、不明点や問題点が続出です。

●ネットワークの種類の切り替え方 Windows10
「設定」の[ネットワークとインターネット]の[イーサネット]または[Wi-Fi]で現在の接続先をクリックする。
現在の種類の確認と設定の変更の両方ができるようになるはずです。
「ネットワークの切り替え」が「ネットワーク」ではなく「設定」にあるというのが、よくわからないところです。
参考
Windows10 のネットワーク設定を「プライベートネットワーク」に変更する

これで、基本的にはネットワーク上のコンピュータ一覧が見えるようになります。
それぞれ共有フォルダを作成して、表示されたPCをクリックすると、「アクセスが拒否されました」というエラーが出て、PCを開くことができません。
「ファイル名を指定して**」で、\\PC**と入力しましたが同じです。「コマンド」でpingを打ってみましたが、こちらは通ります。
PCに接続できるが、ログインができないようです。サーバーを違ってgestのような汎用のユーザーがPCにはないからかもしれません。
そこでWindows資格情報を登録してみました。これが正解でした。

●Windows資格情報の登録
コントロールパネル>資格情報マネージャー
Windows資格情報
pc**
ユーザー名
パスワード

これで、目的のPCが開くようになります。ローカルネットワークは完成です。
ログインユーザーはそれぞれのPCで作成しておきます。
ログインユーザー作成は、ここでは省略しますが、Windows8.1では大変面倒ですので注意が必要です。
基本的にPCではファイル共有はしないのが原則なのかもしれません。

ホームインターネットの構築 へ続く。

ノートでWebアプリ – ホームインターネットの構築

火曜日, 1月 19th, 2021

ノートでWebアプリ

・Lavie Windows8.1でIIS
IISのインストールは、コントロールパネル>Windows機能の有効化でおこなう。.net3.5と.net4.0にチェックがついていたので、インターネットインフォメーションサービスにチェックをつけ、Web管理ツールとWorldWideWebサービスにチェックを入れる。デフォルトのままで、FTPがはずれているが、そのままOKを押すと、インストールが始まる。
少し時間がかかるが、完了するとIISが使用可能になる。IISマネージャがアプリケーションに追加されているので、それを起動する。

・aspxがいきなりエラー
各種の設定をして、LocalHostでアクセスすると、しばらく時間がたってから、「HTTP エラー 404.3 – Not Found 拡張構成により、要求しているページは使用できません。…」というエラーが出た。
特に設定には問題がなさそうなので、***.htmlのファイルを作り、それを直接指定してみる。今度は問題なくすぐに開いた。.netが機能していないのだ。しかし、アプリケーションプールの設定では.net3と.net4が表示されて選択できている。

.net3.5、.net4.5はインストール済みだが…。

よく分からないのでgoogleでエラーを検索してみる。いくつかの掲示板が「.netがインストールされていない…」と回答している。その中の一つにインターネットインフォメーションサービスのインストールのツリーの内容が英語で表示されていた。どうも、WorldWideWebサービスの下に.netのチェックがあるようだ。

開発ではなく運用なんだけど、と思いながら、チェックを入れる。これで、ようやくIISでasp.netを使用できるようになるようだ。IISの標準ではaspやasp.netは使用できないということらしい。それじゃ、IISマネージャのアプリケーションプールに出てきた.netは何だったのか。

・分かりにくいWindows語
相変わらず釈然としないwindowsのセットアップだ。バージョンが変わると、とたんに手順が変わる、普通の商売ではとても考えられないサービスの悪さだ。
また、最近はこの手の検索をすると、microsoftのサイトばかりが出てくる。ほとんどが英文直訳のページだ。そこには、日本語しかできない自分達にとっては、よく分からない日本語のような説明文が載っているだけで、ほとんど理解できない。windows専用の国語辞典が必要かもしれない。

・ノートでWebアプリ
IISが動けば、asp.netで開発したアプリがノートでも利用できることになる。元々サーバー用のWebアプリだが、ノートでディスクトップアプリとしても動作することになる。
C++等の開発ツールで作成したアプリは、WindowsやMacなどのOSの違いで動作しないが、このWebアプリはブラウザで動くため、その機能の制限を受けるだけで、どのOSからも利用することができる。それには、IISノートのHTTPポートを開けてやるのと、共有フォルダを提供してやることが必要だ。(下記を参照)
また、Windowsのディスクトップアプリに限れば、ドラッグ&ドロップのようなファイル処理も可能になる。ローカルPC上のIISで動くWebアプリは、サーバーにもなるし、クライアントにもなる、新しいアプリといえる。

PC ホームインターネットを作る

参照 PC ローカルネットワークの構築

・ファイアウォールを開く
作成したWebは自分のPCからは問題なく接続できますが、そのままではネットワーク(ローカルネット)で接続されている他のPCからは接続できません。ファイアウォールのhttp(80)ポートを開く必要があります。Windows Serverの場合は、IISをインストール
すると自動的にhttp(80)ポートが開かれますが、PCの場合はそうならないようです。
ファイアウォール>詳細設定>受信の規則
World Wide Web サービス (HTTP トラフィック)
有効にする
これでhttpが通るようになります。

さらに、アクセスをローカルネットワークのPCだけに制限するのには、
スコープ
リモートIPアドレス
任意のIPアドレス>これらのIPアドレス
192.168.11.0/24
等の設定をする。
これでローカルネットワーク内のPCに限り、このWebサーバーが使用できるようになります。


ファイアウォール

受信の規則に新規追加する

・固定IPアドレス
また、このPCをローカルネットのWebサーバーとして使用する場合は、IPアドレスを固定する必要もあります。
家庭のホームネットワークでは、ネットワークのWiFiの状態、詳細に取得したIPアドレスが表示されています。buffaloのWiFiネットワークの場合、デフォルトゲートウェイが192.168.11.1になっているので、それを参考にして、自動で割り振られないように192.168.11.100以降を使用しています。
社内ネットワークの場合は、DHCPの管理者に相談してIPアドレスを決めてください。

固定IPアドレス

・hostsファイル
以上でリモートのPCからこのWebサーバーにアクセスできるようになります。ただし、IPアドレスでのアクセスに限られます。(http://(IPアドレス)/**)
IISにはバインドによって、一つのIPアドレスで複数のサイトを作成できます。通常のインターネットではDNSサーバーがこの名前解決をしています。社内ネットワークでもDNSサーバーを構築することはできますが、専門知識が必要で敷居が高くなります。
少人数のネットワークやグループでこの名前解決をするのには、hostsファイルを使用する方法がいいと思います。

hostsの場所
C:\Windows\System32\drivers\etc\hosts

hostsファイルの例

------------------------------------------------------------
# Copyright (c) 1993-2009 Microsoft Corp.
#
#
# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

192.168.11.101   pc01               # hosts test
192.168.11.101   www                # hosts test
192.168.11.102   pc02               # hosts test
192.168.11.102   www02              # hosts test
------------------------------------------------------------

こう書いてやると、http://www/***で192.168.11.101の任意のWebサイトにアクセスすることができます。
なお、hostsファイルにはグローバルのサイトも記述できます。
DNSサーバーとは違い、このWebサイトを使用する限定のメンバーだけに、このhostsファイルを配布する方法も考えられます。

関連ページ
PC ローカルネットワークの構築