01.18.08:21
[PR]
01.03.23:19
ESX on Workstation で64bit の仮想マシンを作成する
ココが参考。
Installing ESXi 5.x in VMware Workstation
http://kb.vmware.com/kb/2034803
.vmxファイルに vhv.enable = "TRUE" を記述すれば良い。
でも、Workstation 7, Core 2 Quad の環境で試してみたけどできなかった。。。
「If you are using an i3 or later processor (that is, you do not have a Core 2 Duo),」 って書いてあるからCPUがダメなのかな。。。
<追記>
VMware Workstation 7.0 リリース ノート
http://www.vmware.com/jp/support/support-resources/pubs/ws_pubs/releasenotes_ws7
---
ESX ゲスト内にネストされた仮想マシンとしてインストールおよび実行できるのは、32 ビット ゲストだけです。これらの仮想マシンは、バイナリ変換を使用するようにのみ構成できます。
---
VMware Workstation 8.0 リリース ノート
http://www.vmware.com/jp/support/support-resources/pubs/ws_pubs/releasenotes_ws80.html
---
プロセッサ設定インターフェイスで 仮想 VT-X/EPT または AMD-V/RVI を有効にできるようになりました。この機能を使用すると、ゲストを実行するアプリケーションがこれらの仮想化テクノロジーを利用できます。また、Workstation 内で実行されている vSphere の内部で 64 ビット ゲスト オペレーティング システムを実行することもできます。
---
Workstation 8.0 からESX on Workstation のゲストOSも64bit を使えるようになったってことですか。。。
Installing ESXi 5.x in VMware Workstation
http://kb.vmware.com/kb/2034803
.vmxファイルに vhv.enable = "TRUE" を記述すれば良い。
でも、Workstation 7, Core 2 Quad の環境で試してみたけどできなかった。。。
「If you are using an i3 or later processor (that is, you do not have a Core 2 Duo),」 って書いてあるからCPUがダメなのかな。。。
<追記>
VMware Workstation 7.0 リリース ノート
http://www.vmware.com/jp/support/support-resources/pubs/ws_pubs/releasenotes_ws7
---
ESX ゲスト内にネストされた仮想マシンとしてインストールおよび実行できるのは、32 ビット ゲストだけです。これらの仮想マシンは、バイナリ変換を使用するようにのみ構成できます。
---
VMware Workstation 8.0 リリース ノート
http://www.vmware.com/jp/support/support-resources/pubs/ws_pubs/releasenotes_ws80.html
---
プロセッサ設定インターフェイスで 仮想 VT-X/EPT または AMD-V/RVI を有効にできるようになりました。この機能を使用すると、ゲストを実行するアプリケーションがこれらの仮想化テクノロジーを利用できます。また、Workstation 内で実行されている vSphere の内部で 64 ビット ゲスト オペレーティング システムを実行することもできます。
---
Workstation 8.0 からESX on Workstation のゲストOSも64bit を使えるようになったってことですか。。。
PR
06.25.01:00
Windows Server 2008 の NFS で匿名ユーザーのアクセスを許可する
以前の記事で Windows Server 2008(R2なし)のNFSはユーザー名マッピングをしないとアクセスできないと書いたのですが、どうやらそうでもなさそうでした。
・匿名ユーザーを許可。全てのマシン読み書きOK
・everyoneフルコントロール許可
・Linux側のアクセス権は 777
--------------------------------------------------
# ls -al / | grep CentOS
drwxrwxrwx 2 4294967294 4294967294 64 6月 25 00:31 CentOS
--------------------------------------------------
・ファイルを作成しよとしても権限がなくて作成できない
--------------------------------------------------
# touch /CentOS/aaa
touch: cannot touch `/CentOS/aaa': 許可がありません
--------------------------------------------------
ここまでは、前回確認した内容ですが、もうひとつポリシーの設定があったようです。
以下のポリシーを有効にします。
[ローカルポリシー] - [セキュリティオプション] - [ネットワーク アクセス: Everyone のアクセス許可を匿名ユーザーに適用する]
ポリシーを有効にした後、gpupdate /force で反映させて、NFSサーバーサービスを再起動します。
再起動は nfsadmin コマンドから。
--------------------------------------------------
C:\>nfsadmin server stop && nfsadmin server start
サービスが正常に停止しました。
サービスは正常に開始されました。
--------------------------------------------------
・ファイルを作成できることを確認します。
--------------------------------------------------
# touch /CentOS/aaa
# ls -al /CentOS/
-rw-r--r-- 1 4294967294 4294967294 0 6月 25 00:52 aaa
--------------------------------------------------
作成したファイルはWindows から見ると、こんな感じのアクセス権になっていました。
--------------------------------------------------
C:\CentOS>icacls aaa
aaa NT AUTHORITY\ANONYMOUS LOGON:(R,W,D,WDAC,WO,DC)
NULL SID:(R)
Everyone:(R)
--------------------------------------------------
【参考】
Anonymous NFS share not working
・匿名ユーザーを許可。全てのマシン読み書きOK
・everyoneフルコントロール許可
・Linux側のアクセス権は 777
--------------------------------------------------
# ls -al / | grep CentOS
drwxrwxrwx 2 4294967294 4294967294 64 6月 25 00:31 CentOS
--------------------------------------------------
・ファイルを作成しよとしても権限がなくて作成できない
--------------------------------------------------
# touch /CentOS/aaa
touch: cannot touch `/CentOS/aaa': 許可がありません
--------------------------------------------------
ここまでは、前回確認した内容ですが、もうひとつポリシーの設定があったようです。
以下のポリシーを有効にします。
[ローカルポリシー] - [セキュリティオプション] - [ネットワーク アクセス: Everyone のアクセス許可を匿名ユーザーに適用する]
ポリシーを有効にした後、gpupdate /force で反映させて、NFSサーバーサービスを再起動します。
再起動は nfsadmin コマンドから。
--------------------------------------------------
C:\>nfsadmin server stop && nfsadmin server start
サービスが正常に停止しました。
サービスは正常に開始されました。
--------------------------------------------------
・ファイルを作成できることを確認します。
--------------------------------------------------
# touch /CentOS/aaa
# ls -al /CentOS/
-rw-r--r-- 1 4294967294 4294967294 0 6月 25 00:52 aaa
--------------------------------------------------
作成したファイルはWindows から見ると、こんな感じのアクセス権になっていました。
--------------------------------------------------
C:\CentOS>icacls aaa
aaa NT AUTHORITY\ANONYMOUS LOGON:(R,W,D,WDAC,WO,DC)
NULL SID:(R)
Everyone:(R)
--------------------------------------------------
【参考】
Anonymous NFS share not working
06.22.01:49
マップされていないユーザーのUNIXアクセスを許可する
Windows Server 2008 の NFS はユーザー名マッピングをしないとアクセスできないけど、Windows Server 2008 R2 からはユーザー名マッピングをしなくてもアクセスできるようになりました。
※2012/06/25追記:R2なしの2008でもユーザー名マッピングしなくてもアクセスできるようでした。
Windows Server 2008 のNFS共有タブの設定
Windows Server 2008 R2のNFS共有タブの設定
「マップされていないユーザーのUNIXアクセスを許可する」というチェックボックスがありますね。ここにチェックを入れるのがポイント。
マウントします。
---------------------------
[root@CentTest ~]# mount -t nfs 192.168.1.108:/W2K8 /W2K8
[root@CentTest ~]# mount -t nfs 192.168.1.208:/W2K8R2 /W2K8R2
---------------------------
権限を確認します。
---------------------------
[root@CentTest ~]# ls -al /
drwx------ 2 4294967294 4294967294 64 6月 22 00:59 W2K8
drwx------ 2 4294967294 4294967294 64 6月 22 01:06 W2K8R2
---------------------------
root でファイルを作成します。
Windows Server 2008 はファイルが作成できませんが、R2は作成できます。
---------------------------
[root@CentTest ~]# touch /W2K8/root01
touch: cannot touch `/W2K8/root01': 許可がありません
[root@CentTest ~]# touch /W2K8R2/root01
[root@CentTest ~]#
---------------------------
一般ユーザーでファイルを作成します。
どちらも権限がないのでファイルが作成できません。
---------------------------
[sample@CentTest ~]$ touch /W2K8/user01
touch: cannot touch `/W2K8/user01': 許可がありません
[sample@CentTest ~]$ touch /W2K8R2/user01
touch: cannot touch `/W2K8R2/user01': 許可がありません
---------------------------
rootで権限を変更します。
Windows Server 2008 の方はやはり変更できません。
---------------------------
[root@CentTest ~]# chmod 777 /W2K8
chmod: changing permissions of `/W2K8': 許可されていない操作です
[root@CentTest ~]# chmod 777 /W2K8R2
[root@CentTest ~]#
[root@CentTest ~]# ls -al /
drwx------ 2 4294967294 4294967294 64 6月 22 00:59 W2K8
drwxrwxrwx 2 4294967294 4294967294 64 6月 22 01:06 W2K8R2
---------------------------
再度一般ユーザーでファイルを作成します。
R2 は権限が与えられた(その他のユーザーに rwx)のでファイルの作成ができます。
---------------------------
[sample@CentTest ~]$ touch /W2K8/user01
touch: cannot touch `/W2K8/user01': 許可がありません
[sample@CentTest ~]$ touch /W2K8R2/user01
[sample@CentTest ~]$
[sample@CentTest ~]$ ls -al /W2K8R2/
-rw-rw-r-- 1 sample sample 0 6月 22 01:36 user01
---------------------------
Windows Server 2008 のNFS共有フォルダで、Windows 上の everyone ユーザーにフルコントロールを与えてみると、777 の権限になります。
---------------------------
[root@CentTest ~]# ls -al /
drwxrwxrwx 2 4294967294 4294967294 64 6月 22 00:59 W2K8
---------------------------
それでも root, 一般ユーザーともにファイルの作成はできません。
---------------------------
[root@CentTest ~]# touch /W2K8/root
touch: cannot touch `/W2K8/root': 許可がありません
[sample@CentTest ~]$ touch /W2K8/user03
touch: cannot touch `/W2K8/user03': 許可がありません
---------------------------
以上、Windows Server 2008 の NFS はユーザー名マッピングをしないとアクセスできないけど、R2 からはアクセスできるよという話でした。
【参考】
NFS 用サービスの概要
NFS クライアントによるリソースへのルート アクセスと匿名アクセスを許可する
※2012/06/25追記:R2なしの2008でもユーザー名マッピングしなくてもアクセスできるようでした。
Windows Server 2008 のNFS共有タブの設定
Windows Server 2008 R2のNFS共有タブの設定
「マップされていないユーザーのUNIXアクセスを許可する」というチェックボックスがありますね。ここにチェックを入れるのがポイント。
マウントします。
---------------------------
[root@CentTest ~]# mount -t nfs 192.168.1.108:/W2K8 /W2K8
[root@CentTest ~]# mount -t nfs 192.168.1.208:/W2K8R2 /W2K8R2
---------------------------
権限を確認します。
---------------------------
[root@CentTest ~]# ls -al /
drwx------ 2 4294967294 4294967294 64 6月 22 00:59 W2K8
drwx------ 2 4294967294 4294967294 64 6月 22 01:06 W2K8R2
---------------------------
root でファイルを作成します。
Windows Server 2008 はファイルが作成できませんが、R2は作成できます。
---------------------------
[root@CentTest ~]# touch /W2K8/root01
touch: cannot touch `/W2K8/root01': 許可がありません
[root@CentTest ~]# touch /W2K8R2/root01
[root@CentTest ~]#
---------------------------
一般ユーザーでファイルを作成します。
どちらも権限がないのでファイルが作成できません。
---------------------------
[sample@CentTest ~]$ touch /W2K8/user01
touch: cannot touch `/W2K8/user01': 許可がありません
[sample@CentTest ~]$ touch /W2K8R2/user01
touch: cannot touch `/W2K8R2/user01': 許可がありません
---------------------------
rootで権限を変更します。
Windows Server 2008 の方はやはり変更できません。
---------------------------
[root@CentTest ~]# chmod 777 /W2K8
chmod: changing permissions of `/W2K8': 許可されていない操作です
[root@CentTest ~]# chmod 777 /W2K8R2
[root@CentTest ~]#
[root@CentTest ~]# ls -al /
drwx------ 2 4294967294 4294967294 64 6月 22 00:59 W2K8
drwxrwxrwx 2 4294967294 4294967294 64 6月 22 01:06 W2K8R2
---------------------------
再度一般ユーザーでファイルを作成します。
R2 は権限が与えられた(その他のユーザーに rwx)のでファイルの作成ができます。
---------------------------
[sample@CentTest ~]$ touch /W2K8/user01
touch: cannot touch `/W2K8/user01': 許可がありません
[sample@CentTest ~]$ touch /W2K8R2/user01
[sample@CentTest ~]$
[sample@CentTest ~]$ ls -al /W2K8R2/
-rw-rw-r-- 1 sample sample 0 6月 22 01:36 user01
---------------------------
Windows Server 2008 のNFS共有フォルダで、Windows 上の everyone ユーザーにフルコントロールを与えてみると、777 の権限になります。
---------------------------
[root@CentTest ~]# ls -al /
drwxrwxrwx 2 4294967294 4294967294 64 6月 22 00:59 W2K8
---------------------------
それでも root, 一般ユーザーともにファイルの作成はできません。
---------------------------
[root@CentTest ~]# touch /W2K8/root
touch: cannot touch `/W2K8/root': 許可がありません
[sample@CentTest ~]$ touch /W2K8/user03
touch: cannot touch `/W2K8/user03': 許可がありません
---------------------------
以上、Windows Server 2008 の NFS はユーザー名マッピングをしないとアクセスできないけど、R2 からはアクセスできるよという話でした。
【参考】
NFS 用サービスの概要
NFS クライアントによるリソースへのルート アクセスと匿名アクセスを許可する
06.14.00:42
ドメイン環境でローカルユーザーを使うときのrsh
Windows Server 2008(Vista)以降のOSで、ドメイン環境のマシンがローカルユーザーを使ってrshを実行するときの注意点。
※2012/06/23追記:rcp でも同じですよ。
普通にrshコマンドを実行するとこんな感じのエラーで失敗します。
% rsh -l administrator 192.168.1.115 df
rcmd: unknown user: rshlocal
これを解消するには、-Dオプションを使います。
% rsh -D -l administrator 192.168.1.115 df
Filesystem 512-blocks Used Available Capacity Type Mounted on
//HarddiskVolume2 83677176 49910288 33766888 60% ntfs /dev/fs/C
この -D オプションは、rshコマンドを実行するユーザー名のプレフィックスにマシン名を付加するオプションです。rshコマンドは実行時にユーザーの妥当性の確認が行われて、ドメイン環境のローカルユーザーでは、-Dオプションを付与しないといけないみたいです。
で、そこで注意が必要になってくるのが、rshサーバー側の ".rhosts" ファイルの記述方法です。
さっきも書いたように -D オプションはrshコマンドを実行するユーザー名のプレフィックスにマシン名を付加するオプションです。なので、rshサーバー側の .rhosts ファイルにも、<rshクライアントのマシン名>+<ユーザー名>の形式で記載する必要があります。
% cat .rhosts
192.168.1.5 W2K8R2-SUA+rshlocal ← こんな感じ。マシン名とユーザー名は「+」でつなぎます。
パケットキャプチャからも<マシン名>+<ユーザー名>が渡されていることが確認できます。
○参考○
Subsystem for UNIX-based Application (SUA) を利用した、rsh コマンドの実行について
※2012/06/23追記:rcp でも同じですよ。
普通にrshコマンドを実行するとこんな感じのエラーで失敗します。
% rsh -l administrator 192.168.1.115 df
rcmd: unknown user: rshlocal
これを解消するには、-Dオプションを使います。
% rsh -D -l administrator 192.168.1.115 df
Filesystem 512-blocks Used Available Capacity Type Mounted on
//HarddiskVolume2 83677176 49910288 33766888 60% ntfs /dev/fs/C
この -D オプションは、rshコマンドを実行するユーザー名のプレフィックスにマシン名を付加するオプションです。rshコマンドは実行時にユーザーの妥当性の確認が行われて、ドメイン環境のローカルユーザーでは、-Dオプションを付与しないといけないみたいです。
で、そこで注意が必要になってくるのが、rshサーバー側の ".rhosts" ファイルの記述方法です。
さっきも書いたように -D オプションはrshコマンドを実行するユーザー名のプレフィックスにマシン名を付加するオプションです。なので、rshサーバー側の .rhosts ファイルにも、<rshクライアントのマシン名>+<ユーザー名>の形式で記載する必要があります。
% cat .rhosts
192.168.1.5 W2K8R2-SUA+rshlocal ← こんな感じ。マシン名とユーザー名は「+」でつなぎます。
パケットキャプチャからも<マシン名>+<ユーザー名>が渡されていることが確認できます。
○参考○
Subsystem for UNIX-based Application (SUA) を利用した、rsh コマンドの実行について
05.21.13:35
DHCPパケットを見てみた(その2)
DHCPパケットを見てみたその1
【環境】
DHCPサーバー:Windows Server 2008 R2(192.168.1.117)
DHCPクライアント:Windows 7
DHCPクライアントで ipconfig /renew したときのパケットを見てみた。
============================================
192.168.1.200 192.168.1.117 DHCP Request
192.168.1.117 192.168.1.200 DHCP ACK
============================================
ipconfig /renew のときは discover と offer がないんですね。
さらに、ユニキャストでやりとりしてます。
パケットの中身を少々見てみる。
■Request
============================================
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x966aa376
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 192.168.1.200 (192.168.1.200)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: 00:0c:29:58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (t=61,l=7) Client identifier
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=81,l=27) Client Fully Qualified Domain Name
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
End Option
============================================
IPを持っていないときはRequested IP Address でIPを要求していたけど、ここではRequested IP Addressはないですね。
代わりにClient IP address: で自分のIPは 192.168.1.200 って告げてます。
■Ack
============================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x966aa376
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: 00:0c:29:58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Option: (t=58,l=4) Renewal Time Value = 1 minute
Option: (t=59,l=4) Rebinding Time Value = 1 minute, 45 seconds
Option: (t=51,l=4) IP Address Lease Time = 2 minutes
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=81,l=3) Client Fully Qualified Domain Name
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
End Option
Padding
============================================
DHCPサーバーが Ack で OK!貸してやる!と。
<クライアントに配布済みのIPを除外してみる>
では、既にクライアントに配布済みのIPをリース可能なIPから除外したときはどんな動きになるのか。
まずはパケットの流れを見る
============================================
192.168.1.201 192.168.1.117 DHCP Request
192.168.1.117 255.255.255.255 DHCP NAK
0.0.0.0 255.255.255.255 DHCP Discover
192.168.1.117 255.255.255.255 DHCP Offer
0.0.0.0 255.255.255.255 DHCP Request
192.168.1.117 255.255.255.255 DHCP ACK
============================================
クライアントからの Request にサーバーが NACK を返してそのIPアドレスは貸せないよと。その後はDiscover から一連の流れをやり直しになる。
NACKパケットの中身を見てみる。
■NACK
============================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x0aadfa3f
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP NAK
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
End Option
Padding
============================================
このパケットがブロードキャストになるのは何でだろうね。
【環境】
DHCPサーバー:Windows Server 2008 R2(192.168.1.117)
DHCPクライアント:Windows 7
DHCPクライアントで ipconfig /renew したときのパケットを見てみた。
============================================
192.168.1.200 192.168.1.117 DHCP Request
192.168.1.117 192.168.1.200 DHCP ACK
============================================
ipconfig /renew のときは discover と offer がないんですね。
さらに、ユニキャストでやりとりしてます。
パケットの中身を少々見てみる。
■Request
============================================
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x966aa376
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 192.168.1.200 (192.168.1.200)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: 00:0c:29:58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (t=61,l=7) Client identifier
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=81,l=27) Client Fully Qualified Domain Name
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
End Option
============================================
IPを持っていないときはRequested IP Address でIPを要求していたけど、ここではRequested IP Addressはないですね。
代わりにClient IP address: で自分のIPは 192.168.1.200 って告げてます。
■Ack
============================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x966aa376
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: 00:0c:29:58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Option: (t=58,l=4) Renewal Time Value = 1 minute
Option: (t=59,l=4) Rebinding Time Value = 1 minute, 45 seconds
Option: (t=51,l=4) IP Address Lease Time = 2 minutes
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=81,l=3) Client Fully Qualified Domain Name
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
End Option
Padding
============================================
DHCPサーバーが Ack で OK!貸してやる!と。
<クライアントに配布済みのIPを除外してみる>
では、既にクライアントに配布済みのIPをリース可能なIPから除外したときはどんな動きになるのか。
まずはパケットの流れを見る
============================================
192.168.1.201 192.168.1.117 DHCP Request
192.168.1.117 255.255.255.255 DHCP NAK
0.0.0.0 255.255.255.255 DHCP Discover
192.168.1.117 255.255.255.255 DHCP Offer
0.0.0.0 255.255.255.255 DHCP Request
192.168.1.117 255.255.255.255 DHCP ACK
============================================
クライアントからの Request にサーバーが NACK を返してそのIPアドレスは貸せないよと。その後はDiscover から一連の流れをやり直しになる。
NACKパケットの中身を見てみる。
■NACK
============================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x0aadfa3f
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP NAK
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
End Option
Padding
============================================
このパケットがブロードキャストになるのは何でだろうね。
05.20.23:33
DHCPパケットを見てみた
DHCPサーバー:Windows Server 2008 R2(192.168.1.117)
DHCPクライアント:Windows 7
まずは基本的な Discover, Offer, Request, Ack から。
=====================================
0.0.0.0 255.255.255.255 DHCP Discover
192.168.1.117 255.255.255.255 DHCP Offer
0.0.0.0 255.255.255.255 DHCP Request
192.168.1.117 255.255.255.255 DHCP ACK
=====================================
Offer 以降はユニキャストでよさそうな気もするけど、ブロードキャストでやり取りするのね。
パケットの中身の少々見てみる。
■Discover
=====================================
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Discover
Option: (t=61,l=7) Client identifier
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
=====================================
当然ですけど、Client IP Address とかはまだ空っぽ。
自分のホスト名を通知したりするんですね。
■Offer
=====================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 192.168.1.117 (192.168.1.117)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Offer
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=58,l=4) Renewal Time Value = 4 days
Option: (t=59,l=4) Rebinding Time Value = 7 days
Option: (t=51,l=4) IP Address Lease Time = 8 days
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
=====================================
Your (client) IP addressの192.168.1.200 を貸してやるけどどうだいー?
とDHCPサーバーが応答。リース期限とかの情報も含まれてますね。
■Request
=====================================
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (t=61,l=7) Client identifier
Option: (t=50,l=4) Requested IP Address = 192.168.1.200
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=81,l=27) Client Fully Qualified Domain Name
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
=====================================
クライアントがそれ(Requested IP Address = 192.168.1.200)くださいーとRequest
■Ack
=====================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Option: (t=58,l=4) Renewal Time Value = 4 days
Option: (t=59,l=4) Rebinding Time Value = 7 days
Option: (t=51,l=4) IP Address Lease Time = 8 days
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=81,l=3) Client Fully Qualified Domain Name
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
=====================================
最後にサーバーがOK!とAck
DHCPクライアント:Windows 7
まずは基本的な Discover, Offer, Request, Ack から。
=====================================
0.0.0.0 255.255.255.255 DHCP Discover
192.168.1.117 255.255.255.255 DHCP Offer
0.0.0.0 255.255.255.255 DHCP Request
192.168.1.117 255.255.255.255 DHCP ACK
=====================================
Offer 以降はユニキャストでよさそうな気もするけど、ブロードキャストでやり取りするのね。
パケットの中身の少々見てみる。
■Discover
=====================================
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Discover
Option: (t=61,l=7) Client identifier
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
=====================================
当然ですけど、Client IP Address とかはまだ空っぽ。
自分のホスト名を通知したりするんですね。
■Offer
=====================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 192.168.1.117 (192.168.1.117)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Offer
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=58,l=4) Renewal Time Value = 4 days
Option: (t=59,l=4) Rebinding Time Value = 7 days
Option: (t=51,l=4) IP Address Lease Time = 8 days
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
=====================================
Your (client) IP addressの192.168.1.200 を貸してやるけどどうだいー?
とDHCPサーバーが応答。リース期限とかの情報も含まれてますね。
■Request
=====================================
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (t=61,l=7) Client identifier
Option: (t=50,l=4) Requested IP Address = 192.168.1.200
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=12,l=12) Host Name = "Win7-test01"
Option: (t=81,l=27) Client Fully Qualified Domain Name
Option: (t=60,l=8) Vendor class identifier = "MSFT 5.0"
Option: (t=55,l=12) Parameter Request List
=====================================
クライアントがそれ(Requested IP Address = 192.168.1.200)くださいーとRequest
■Ack
=====================================
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x2c255782
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.1.200 (192.168.1.200)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Vmware_58:86:07 (00:0c:29:58:86:07)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Option: (t=58,l=4) Renewal Time Value = 4 days
Option: (t=59,l=4) Rebinding Time Value = 7 days
Option: (t=51,l=4) IP Address Lease Time = 8 days
Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.117
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=81,l=3) Client Fully Qualified Domain Name
Option: (t=15,l=12) Domain Name = "syoyu.local"
Option: (t=6,l=4) Domain Name Server = 192.168.1.115
=====================================
最後にサーバーがOK!とAck
05.10.01:27
kerberos認証の情報を集めて行くところ
Kerberos の概要とチケット取得の様子を目で確認した結果
http://keicode.com/windows/kerberos-basic.php
→ 基本的な内容の理解がしやすいのでまずはここを読む
ケルベロス認証
http://itpro.nikkeibp.co.jp/article/COLUMN/20060518/238303/
→ ここも同じでわかりやすい
[NT]Windows 2000 での Kerberos 認証の概要
http://support.microsoft.com/kb/217098/ja
→ MSの情報にこだわるならここ
How the Kerberos Version 5 Authentication Protocol Works
http://technet.microsoft.com/ja-jp/library/cc772815%28v=ws.10%29.aspx
→ より詳細な内容はここ。英語で内容難しいけど、基本的なことが頭に入っていれば頑張ればなんとか読める
Description of Common Kerberos-Related Errors in Windows 2000
http://support.microsoft.com/kb/230476/en-us
→ kerberos関連のエラーの説明
補講第6回Kerberos(3) チケット
http://www5e.biglobe.ne.jp/~aji/3min/ex/sup06.html
→ お馴染み3分間ネットワーキングさん。ネットワーク観点でのkerberosの解説
http://keicode.com/windows/kerberos-basic.php
→ 基本的な内容の理解がしやすいのでまずはここを読む
ケルベロス認証
http://itpro.nikkeibp.co.jp/article/COLUMN/20060518/238303/
→ ここも同じでわかりやすい
[NT]Windows 2000 での Kerberos 認証の概要
http://support.microsoft.com/kb/217098/ja
→ MSの情報にこだわるならここ
How the Kerberos Version 5 Authentication Protocol Works
http://technet.microsoft.com/ja-jp/library/cc772815%28v=ws.10%29.aspx
→ より詳細な内容はここ。英語で内容難しいけど、基本的なことが頭に入っていれば頑張ればなんとか読める
Description of Common Kerberos-Related Errors in Windows 2000
http://support.microsoft.com/kb/230476/en-us
→ kerberos関連のエラーの説明
補講第6回Kerberos(3) チケット
http://www5e.biglobe.ne.jp/~aji/3min/ex/sup06.html
→ お馴染み3分間ネットワーキングさん。ネットワーク観点でのkerberosの解説
05.02.00:28
問題ステップ記録ツール(psr.exe)
Windows 7(2008R2)から使えるようになったpsr.exeが使えそうな子だったのでメモ。
これを起動しながら作業すると、クリック(右クリック含む)したタイミングで、自動でスクリーンショットを取ってくれるので、作業ログを残す手間が省けます。
<使い方>
1. ファイル名を指定して実行から psr.exe を実行(管理者として実行の方がよい)
2. 問題ステップ記録ツールの「起動開始」をクリック
3. ログに残したい作業を実施
4. 作業完了後、問題ステップ記録ツールの「記録の停止」をクリックし、名前を付けて保存。
zip形式で保存されて、解凍するとmht形式のファイルが作成されています。
ブラウザで見ると作業ログがしっかりと記録されています。どこをクリックしたかっていう説明も記載されているので、作業内容がとてもわかりやすい。
作業ログ記録時に「コメントの追加」ボタンを押すと、コメントで補足説明もできますよ。
サポート技術情報 (2010年 4月): 問題ステップ記録ツール 編
これを起動しながら作業すると、クリック(右クリック含む)したタイミングで、自動でスクリーンショットを取ってくれるので、作業ログを残す手間が省けます。
<使い方>
1. ファイル名を指定して実行から psr.exe を実行(管理者として実行の方がよい)
2. 問題ステップ記録ツールの「起動開始」をクリック
3. ログに残したい作業を実施
4. 作業完了後、問題ステップ記録ツールの「記録の停止」をクリックし、名前を付けて保存。
zip形式で保存されて、解凍するとmht形式のファイルが作成されています。
ブラウザで見ると作業ログがしっかりと記録されています。どこをクリックしたかっていう説明も記載されているので、作業内容がとてもわかりやすい。
作業ログ記録時に「コメントの追加」ボタンを押すと、コメントで補足説明もできますよ。
サポート技術情報 (2010年 4月): 問題ステップ記録ツール 編
http://blogs.technet.com/b/jpntsblog/archive/2010/05/06/2010-4.aspx
03.11.01:08
コマンドプロンプトから SUA のコマンドを実行する方法
「スタート」の「UNIXベースアプリケーション用サブシステム」のプロパティから
C Shell のプロパティを見ると、posix.exe から /u と /c オプションを付けて
/bin/csh が起動されていることがわかります。
なので、同じように他のコマンドも posix.exe /u /c <実行コマンド> と
コマンドプロンプトから入力すれば問題なく実行できます。
ps コマンドとかこんな感じ。
=====================================================
C:\>posix.exe /u /c /bin/ps -ef
UID PID PPID STIME TTY TIME CMD
<nistrator 257 1 00:44:15 - 0:00.00 /usr/sbin/init
:
:
=====================================================
デーモンの 起動/停止 とかもできますよ。
=====================================================
C:\>posix.exe /u /c /etc/init.d/syslog stop
syslogd stopped
C:\>posix.exe /u /c /bin/ps -ef | grep syslog
C:\>posix.exe /u /c /etc/init.d/syslog start
syslogd started
C:\>posix.exe /u /c /bin/ps -ef | grep syslog
<nistrator 455 1 01:08:04 - 0:00.00 /usr/sbin/syslogd
=====================================================
C Shell のプロパティを見ると、posix.exe から /u と /c オプションを付けて
/bin/csh が起動されていることがわかります。
なので、同じように他のコマンドも posix.exe /u /c <実行コマンド> と
コマンドプロンプトから入力すれば問題なく実行できます。
ps コマンドとかこんな感じ。
=====================================================
C:\>posix.exe /u /c /bin/ps -ef
UID PID PPID STIME TTY TIME CMD
<nistrator 257 1 00:44:15 - 0:00.00 /usr/sbin/init
:
:
=====================================================
デーモンの 起動/停止 とかもできますよ。
=====================================================
C:\>posix.exe /u /c /etc/init.d/syslog stop
syslogd stopped
C:\>posix.exe /u /c /bin/ps -ef | grep syslog
C:\>posix.exe /u /c /etc/init.d/syslog start
syslogd started
C:\>posix.exe /u /c /bin/ps -ef | grep syslog
<nistrator 455 1 01:08:04 - 0:00.00 /usr/sbin/syslogd
=====================================================
03.06.01:24
SUA を使用した rsh サーバーの設定
ここを参考に。
Subsystem for UNIX-based Application (SUA) を利用した、rsh サーバーの設定について
http://technet.microsoft.com/ja-jp/windowsserver/ff706484
rshサーバー:Windows Server 2008 R2(ドメイン環境)
rshクライアント: CentOS 5.6 <rshサーバー手順>
1. SUAのインストール
http://thankyou.syoyu.net/Entry/4/
2. /etc/inetd.conf ファイルを編集。
以下の行のコメントアウトを外す。
shell stream tcp nowait NULL /usr/sbin/in.rshd in.rshd -a
shell stream tcp6 nowait NULL /usr/sbin/in.rshd in.rshd -a
3. inetd を再起動
% etc/init.d/inet stop
% etc/init.d/inet start
4. inetd が起動していることを確認
% ps -ef | grep inet
5. $HOME/.rhosts を編集
書式)
<rshクライアント> <rshクライアントのユーザー>
例)
192.168.1.5 root
6. ホームディレクトリの設定
ドメインコントローラのActive Directory ユーザーとコンピューターから、
認証対象ユーザーの「プロパティ」 - 「プロファイル」タブのローカルパスを設定
環境変数 %USERPROFILE% のパスを入力する。
7. rhosts ファイルのアクセス権を変更
% chmod 600 "$HOME"/.rhosts
8. ファイアーウォールの設定
TCP514 を許可するか、テスト環境なら取りあえずファイアーウォールを無効にする
9. rshクライアントからコマンドが実行できることを確認
# /usr/bin/rsh -l <ユーザー名> 192.168.1.5 df
Filesystem 512-blocks Used Available Capacity Type Mounted on
~略~
コマンドが実行できればOK
<3/7 追記>
Windows - Windows 間で rsh 接続するときは、クライアントとサーバーが別ドメインだったり、ドメインとワークグループだったりするとどうもうまくいかないので、そういった場合の情報は絶賛募集中です。
Subsystem for UNIX-based Application (SUA) を利用した、rsh サーバーの設定について
http://technet.microsoft.com/ja-jp/windowsserver/ff706484
rshサーバー:Windows Server 2008 R2(ドメイン環境)
rshクライアント: CentOS 5.6 <rshサーバー手順>
1. SUAのインストール
http://thankyou.syoyu.net/Entry/4/
2. /etc/inetd.conf ファイルを編集。
以下の行のコメントアウトを外す。
shell stream tcp nowait NULL /usr/sbin/in.rshd in.rshd -a
shell stream tcp6 nowait NULL /usr/sbin/in.rshd in.rshd -a
3. inetd を再起動
% etc/init.d/inet stop
% etc/init.d/inet start
4. inetd が起動していることを確認
% ps -ef | grep inet
5. $HOME/.rhosts を編集
書式)
<rshクライアント> <rshクライアントのユーザー>
例)
192.168.1.5 root
6. ホームディレクトリの設定
ドメインコントローラのActive Directory ユーザーとコンピューターから、
認証対象ユーザーの「プロパティ」 - 「プロファイル」タブのローカルパスを設定
環境変数 %USERPROFILE% のパスを入力する。
7. rhosts ファイルのアクセス権を変更
% chmod 600 "$HOME"/.rhosts
8. ファイアーウォールの設定
TCP514 を許可するか、テスト環境なら取りあえずファイアーウォールを無効にする
9. rshクライアントからコマンドが実行できることを確認
# /usr/bin/rsh -l <ユーザー名> 192.168.1.5 df
Filesystem 512-blocks Used Available Capacity Type Mounted on
~略~
コマンドが実行できればOK
<3/7 追記>
Windows - Windows 間で rsh 接続するときは、クライアントとサーバーが別ドメインだったり、ドメインとワークグループだったりするとどうもうまくいかないので、そういった場合の情報は絶賛募集中です。
NEXT
>>>