Server OS Cafe -9ページ目

Server OS Cafe

Server OSの紹介等

クライアントからエクスプローラのネットワークドライブの接続等で

共有フォルダにアクセスできるようにする為には

Windows Firewallで必要なポートへの接続を許可する必要があります。

Server Managerの[構成] - [セキュリティの強化されたWindowsファイアウォール]の

[受信の規則]には共有に関する規則として以下のものがあります。


ファイルとプリンタの共有

・ファイルのプリンタの共有(NB セッション受信)

 TCP 139・・・ブラウジング、ファイル共有に使用


・ファイルとプリンタの共有(NBデータグラム受信)

UDP 138・・・名前解決、ドメインログオンに使用


・ファイルとプリンタの共有(NB名受信)

UDP 137・・・名前解決、ブラウジングで使用


・ファイルとプリンタの共有(SMB受信)

 TCP 445・・・Direct Hosting of SMBで使用


Windows 2000以降のOSではDirect Hosting of SMBが実装されている為、

TCP 445を開けただけでファイル共有が可能になります。

Windows NT 4.0等のWndows 2000より古いOSからも接続を許可する必要がある場合は

UDP 137、TCP 137、UDP 138、TCP 139を開ける必要があります。

(参照:マイクロソフトサポート技術情報 TCP/IPを介するSMBのダイレクトホスト(KB204279) )


今回はクライアントにWindows XPのみを使用しますのでTCP 445のみを開けることにします。


■ Server Managerで構成する場合

[受信の規則]から「ファイルとプリンタの共有(SMB受信)]を選択し[規則の有効化]を実行します。


■ コマンドラインで構成する場合


netsh advfirewall firewall set rule name="ファイルとプリンタの共有 (SMB 受信)" dir=in new enable=yes


以上でWindows XPのエクスプローラのネットワークドライブの接続で

Windows Server 2008上の共有に接続できるようになりました。


Windows Vista/2008のWindows FirewallではデフォルトでICMP Echoを無効にしています。

その為、pingコマンドやtracerouteコマンド(Windowsではtracert)に対して応答を返しません。

応答を返すようにするにはWindows Firewallの受信規則で

"ファイルとプリンタの共有 (エコー要求 - ICMPv4 受信)"

を有効にします。


■Server Managerを使用する場合

1. Server Managerの[構成] - [セキュリティが強化されたWindowsファイアウォール] - [受信の規則]を

選択します。

2. 受信規則の一覧から"ファイルとプリンタの共有 (エコー要求 - ICMPv4 受信)"を選択し

右クリックして[規則の有効化]を選択します。

ICMP有効


■コマンドで行う場合
  以下のコマンドを実行します。


 netsh advfirewall firewall set rule name="ファイルとプリンタの共有 (エコー要求 - ICMPv4 受信)"

 dir=in new enable=yes


IIS等のServer Managerで追加するサービスは自動的に

Windows Firewallに適切な設定を行ってくれますが

それ以外のアプリは自分で設定を行う必要があります。

今回はSQL Server 2005でリモート接続ができるように設定し

Windows Firewallで必要なポートを開ける設定を行います。


■ SQL Server 2005のリモート接続の有効化

SQL Server 2005ではデフォルトではリモート接続ができないようになっています。

リモート接続を有効にするにはSQL Server 2005の[構成ツール]にある

[SQL Server セキュリティ構成]を起動して以下の操作を行います。

1.[サービスと接続のセキュリティ構成]を選択

2.[SQL Server 2005 Surface Area Configuration]が起動するので

左ペインで[MSSQLSERVER] - [Database Engine] - [リモート接続]を選択し

   [ローカル接続およびリモート接続]を選択


SQL Serverリモート接続有効


これでリモート接続が可能になりますが、SQL Server 2005は以下のポートで接続を待ち受けます。


・ 規定のインスタンスの場合

デフォルトでTCP 1433が使用されます。

このポートは[SQL Server Configuration Manager]で変更することも可能です。


・名前付きインスタンスの場合

TCP 1433ではなくランダムにポートが割り当てられます。

割り当てられたポートは[SQL Server Configuration Manager]で確認します。

またリモート接続時にはまず割り当てられたポートを検索する為にUDP 1434が使用されますので

UDP 1434も開いている必要があります。

※ただしADOもしくはADO.NETの接続文字列で明示的にポート番号を指定する場合は

ポートを検索する処理が不要なのでUDP 1434は開いていなくても接続できます。


今回は既定のインスタンスでデフォルトのTCP 1433を使用しますのでこのポートを空けるように

Windows Firewallの受信規則に規則を追加してみます。


■ Server Managerで設定する場合

1.Server Managerで[構成] - [セキュリティが強化されたWindowsファイアウォール] - [受信の規則]を

選択し右クリックして[新規の規則]を選択します。


受信規則追加1


2.今回はポート番号で指定するので[ポート]を選択します。


受信規則追加2


   3.TCPの1433を指定します。


    受信規則追加3


   4.「接続を許可する」を選択します。


受信規則追加4


5.規則を追加するプロファイルを指定します。


受信規則追加5


6.最後に規則名を指定して完了です。


受信規則追加6


■ コマンドで設定する場合


 netsh advfirewall firewall add rule name="SQL Server リモート接続(TCP1433)" dir=in

 action=allow protocol=tcp localport=1433


規則の追加が成功すると「OK」と出力されます。

慣れてくるとコマンドの方が早くて楽です。

Windows Server 2008ではデフォルトでWindows Firewallが有効になっています。

設定の確認はWindows 2003と同じ[コントロールパネル]-[Windowsファイアウォール]でも見れますが、

こちらではプロファイルや送信規則等のWindows 2008から追加された機能は確認できないので

Server Managerで確認するのが良いでしょう。


FireWall

Windows Vista/2008のWindows Firewallでは次の3つのプロファイルがあります。


・ドメインプロファイル

・プライベートプロファイル

・パブリックプロファイル


プロファイルについては以下のサイトの情報が詳しいのでご参照ください。


@IT:Windowsファイアウォールのプロファイルを知る


現在どのプロファイルが有効かは[監視]で確認できます。


FireWall有効なプロファイル

通信規則は受信側だけでなく送信側の設定もできるようになっています。


FireWall受信の規則  FireWall送信の規則

これを見ると先日Server Managerの「役割の追加」で追加したIIS7.0が使用する

FTP(TCP 21)やHTTP(TCP 80)といったポートは自動的に開けられているようですね。


以上の情報はコマンドラインでも確認できます。

Windows Vista/2008ではnetsh advfirewallコマンドを使用します。


■現在有効なプロファイルの設定確認

netsh advfirewall show currentprofile

■ドメインプロファイルの設定確認

netsh advfirewall show domainprofile

■プライベートプロファイルの設定確認

netsh advfirewall show privateprofile

■パブリックプロファイルの設定確認

netsh advfirewall show publicprofile

■受信規則の確認

netsh advfirewall firewall show rule name=<規則名> dir=in

全ての受信規則を表示する場合はname=allを指定します。


■送信規則の確認

netsh advfirewall firewall show rule name=<規則名> dir=out

全ての送信規則を表示する場合はname=allを指定します。


name=allを指定した場合は出力行数が多いのでテキストファイルにリダイレクトするのが良いでしょう。


netsh advfirewall firewall show rule name=all dir=in > firewallin.txt


とりあえずリレーショナルデータベースからデータを取得し

画面表示するASP.NET WEBアプリケーションを作ってみようと思い

IIS7.0、.NET Framework3.0、SQL Server 2005 Developer Edition、

そして開発ツールとしてVisual Studio 2005 Express Edtition

をインストールしてみました。


・IIS7.0、.NET Framework3.0のインストール

IIS7.0や.NET Framework3.0といったWindows Server 2008のコンポーネントは

Server Managerで「役割の追加」を行うことでインストールします。


1.Server Managerを起動し「役割」から「役割の追加」を選択します。

2.「サーバーの役割の選択」で「WEBサーバー(IIS)」と「アプリケーションサーバー」を選択します。


サーバーの役割の選択


3.WEBサーバーの機能選択画面。

IIS6.0(Windows Server 2003)の時よりも、より細かく選択できるようになっています。


WEBサーバー役割選択

今回はとりあえず「IIS6管理互換」を除いて全て選択しました。
(あとでSQL Server 2005をインストールするときに「IIS6管理互換」が必要だったことが発覚します。)


WEBサーバー役割選択2


4.インストールを実行するとIIS7.0と.NET Framework3.0が追加されます。

追加された機能はServer Managerから確認でき必要に応じて機能の追加・削除を行うことができます。


役割の確認


・SQL Server 2005 Developer Editionのインストール

今回はSQL Server 2005のDeveloper Editionをインストールしました。

Developer Editionは最上位のEnterprise Editionと機能は同じですが

開発目的の使用に限定されていて安価に手に入れることができます。

SQL Server 2005の機能を試すならExpress Editionよりお奨めです。



で、インストールしていたのですがインストール途中で以下の警告が表示されました。


  IIS警告


 このメッセージについて調べたところ以下のサイトに情報がありました。


http://support.microsoft.com/kb/920201/ja

 要約:

Windows Vista/2008にSQL Server2005をインストールする時は

SQL Server2005が依存している以下のIIS7のコンポーネントが必要。


共通のHTTP機能
- 静的なコンテンツ
- 既定のドキュメント
- HTTPリダイレクト
- ディレクトリの参照

アプリケーション開発
- ASP.NET
- ISAPI拡張
- ISAPIフィルタ

セキュリティ
- Windows認証
管理ツール
- IIS6管理互換
- IIS6メタベース互換
- IIS6WMI互換


先程、IIS7.0をインストールする時に「IIS6管理互換」をインストールしなかったのが

いけなかったみたいです。Reporting Serviceを使用しなければいらないような気もするけど

とりあえずServer Managerで「IIS6管理互換」を追加してSQL Server 2005を再インストール。

今度は正常に終了しました。


SQL Server2005インストール

その後、SQL Server 2005 Service Pack2をインストール。

Service Pack2のインストール完了後、自動的に「SQL Server 2005 User Provisioning Tool for Vista」が

 起動するのでこれもインストール。

(Windows Vista/2008ではこれをインストールしないとSQL Server 2005を使用できないようです。)


SQL Server 2005 User Provisioning Tool fro Vista

・Visual Studio 2005 Express Editonのインストール
 今回はVisual C# 2005 Express EditionとVisual Web Developer 2005 Express Editionをインストールしました。


Visual C# 2005 Express Edition Visual Web Developer 2005 Express Edition


 この後Visual Studio 2005 Express EditionのService Pack1と

Visual Studio 2005 Service Pack 1 Update for Windows Vista.をインストール。
 (SQL Server 2005と同様、これをインストールしないとWindows Vista/2008では

Visual Studio2005を使用できません。)


マイクロソフトのWindows Server 2008のサイト で公開されているWindows Server 2008 Beta 3を

ダウンロードしてインストールしてみました。

インストール手順はVistaとほぼ一緒です。

(3を除いて完全に一緒でしょうか)


1.言語選択
インストールする言語:日本語

時刻と通貨の形式:日本語(日本)

キーボードまたは入力方式:Microsoft IME

キーボードの種類:日本語キーボード(106/109キー)

2.ライセンス認証の為のプロダクトキー入力
3.オペレーティングシステム選択
通常のServerかServer Core(GUIレス)かを選択するのだがここは通常のServerを選択。

Server Coreは後ほど検証。
4.ライセンス条項に同意
5.インストールの種類
今回は新規にインストールしているので
アップグレードは選択できないのでカスタムを選択。
6.インストール場所の選択
今回はディスクが1つだけなので新規をクリックしてディスク0に
パーティションを作成。
その後、フォーマットをクリックしてフォーマットを実施。
ただWindows 2003以前のようにファイルシステムをNTFSかFATかを選択することができず
常にNTFSでフォーマットされるみたい。

7.インストール開始


以上でインストール完了です。


Win2k8

Server OSなのでデフォルトでは当然Windowsクラシックスタイルになっています。

Server ManagerでWindows Vistaと同様のWindows Aeroを追加できますが

メモリをだいぶ消費してしまうのでこのままにします。

Windows 2003以前はAdministratorのパスワードやネットワークの設定をインストール中に

行うことができましたが、Windows 2008からはインストール中に行うことはできず

インストール後に設定しなければいけないようです。

ネットワークはデフォルトはIpv4、Ipv6ともに有効でDHCPでIPアドレスを取得するようになっています。

またインストール直後はIISや.NET Framework等のコンポーネントはほとんどインストールされていませんので

必要なものだけ追加していくことになります。


これからWindows 2008の新機能を検証していきたいと思いますが7/19にマイクロソフト本社で開かれた

Windows Server 2008 Beta3 セミナー の中で「Windows 2008での動作検証はできるかぎりBeta3の段階で

行った方が良い。Beta3の段階でフィードバックするとマイクロソフトが対応してくれる可能性があるが、

RCの段階になるとほとんど対応してくれなくなるから」という話がありましたのでWindows 2008を将来使う可能性

のある方(マイクロソフト製品を使用して開発を行っている方ほぼ全員になるでしょうか)はWindows 2008の検証を

今から行った方がいいみたいですよ。