Windows Server 2016 DNSサーバーで特定のIPをブロックする方法

WindowsServer 2016 以降は、DNSサーバーに新機能が追加され、DNSポリシーが設定できるようになりました。このDNSポリシーの機能の1っにQueryResolutionPolicyというものがあります。このポリシーを設定すると、特定のIPに対してクエリーを無視するなどフィルタリングすることができます。設定方法は、下記になります。Firewall ファイアウォール

設定手順

※事前にDNSサーバーの設定は完了しており、サーバーが稼働している環境を想定しています。

①スタートメニューからWindows PowerShell を探し、64bit版のWindows PowerShellを管理者権限で起動します。(管理者権限が必須か分かりませんが、テストは、管理者権限で実施しました)

②下記コマンドを実行し、事前にIPアドレスの定義を登録します。

Add-DnsServerClientSubnet -Name "BlockSubnet01" -IPv4Subnet 172.0.33.0/24

③上記で登録したSubnet定義を参照し、クエリをIGNOREにするポリシーを追加します。定義を参照する場合、EQ, を先頭につけます。EQの後ろは「カンマ」がついています。

Add-DnsServerQueryResolutionPolicy -Name "BlockPolicy01" -Action IGNORE -ClientSubnet "EQ,BlockSubnet01"

④以上で、完了です。172.0.33.0 ~172.0.33.255 までのクエリをブロックします。うまく反映されない場合、DNSサーバーを再起動したら変わるかもしれません。

下記コマンドを入力すると、登録したポリシーを確認できます。

Get-DnsServerClientSubnet

Get-DnsServerQueryResolutionPolicy

削除する場合は、下記コマンドを入力します。

Remove-DnsServerQueryResolutionPolicy -Name "BlockPolicy01"

Remove-DnsServerClientSubnet -Name BlockSubnet01

下記のようにSetコマンドを使うと、登録済のsubnet定義に対して値の更新もできます

Set-DnsServerClientSubnet -Name "BlockSubnet01" -Action REPLACE -IPv4Subnet 172.0.34.0/24

 

参考:DNSポリシーでクエリフィルターを適用する(チュートリアル)

https://learn.microsoft.com/ja-jp/windows-server/networking/dns/deploy/apply-filters-on-dns-queries

参考:DNSポリシーのPowerShell cmdlet リファレンス

https://learn.microsoft.com/en-us/powershell/module/dnsserver/?view=windowsserver2022-ps

参考:DNSポリシーの概要

https://learn.microsoft.com/ja-jp/windows-server/networking/dns/deploy/dns-policies-overview

不正アクセスの確認手段について

リソースモニターを起動し、ネットワークタブを選択すると、ネットワークの通信状況を確認できます。ネットワーク活動の欄にdnsのプロセスであるdns.exeに対して同一サブネットの海外サーバーから異様なアクセスがあった場合、不正アクセスの可能性あります。下記画像は、参考の為、画像編集した架空のものです。

 

nvidia ディスプレイドライバで液晶ディスプレイの色がおかしくなる時の対策

nvidiaGeForce RTX 40系 グラフィックカードを搭載したPCに液晶ディスプレイを接続すると、黒色の発色が悪くなり、コントラストの悪い表示になりました。完全な黒色を表示し、nvidia以外のグラボのPCと比較すると一目両全で、黒色の部分でもバックライトがやや光って表示されているのが分かります。ネットで色々調べると、nvidiaのディスプレイドライバに原因があり、ダイナミックレンジに制限がかかる為と分かりました。対策方法は、下記引用サイトを参照してください。色が変になる 色がおかしい iiyama prolite xb2481 X2377 GeForce RTX 4060 3060

NVIDIAグラボがモニタ側HDMIで接続されると表示色が薄くなる件

orangerobotblog.wordpress.com

また、補足になりますが、hdmi とdisplayport は、どちらも同じ画質と思っていましたが、displayport の方が上位規格となり、画質が良いそうです。どの程度違うのかについては、ググって詳しいサイトを参考にしてみてください。今回の現象に限って言えば、規格の違いは関係なくドライバの設定の問題のようです。但し、HDMIでしか発生しない現象かもしれません。

SOLIDIGM P41 Plus NVMe M.2 SSD をブートドライブとして利用する場合の注意点

NVMe SSD を 2スロット利用できるPCだったので、NVMe SSD 2枚差しに挑戦してみました。(私の使用したPCについては、前回の記事を参照) しかし、実際に導入してみると色々と問題が発生したので、その記録を残しておきます。換装 増設 交換 ゲーミングPC 自作

実際に行った手順

①M.2 スロット1 に512GB NVMe(PCI3.0 x4 )を接続し、これにWindows10 2022H をインストールする。これが作業前のPCの環境となります。(BIOSは、secure Boot 無効、ultra bootを無効)

(本題と関係ありませんが、私のPCは、AsRock B660M というマザーボードなのですが、F2キーを連打していると、BIOS画面を出せます。UEFIのブートDVDとかをブートさせたい場合、BIOSのブート順序を指定する画面の下の方で直接ブートするデバイスを選べる場所があるので、強制ブートもできます)

②上記のPC に対して、M.2 スロット2 に SOLIDIGM P41 Plus 1TB NVMe を装着する。

③Windows10 を起動すると、SOLIDIGM のディスクが認識される。LB COPYWORKS 13 を利用して、メインのNVMeドライブのクローンイメージをslot2のNVMeに作成する。クローンしたドライブの中身が表示されない状態となる。ドライブがアクティブになっていない為と判明。ドライブをアクティブ化する。

④再度、Windows10 を起動すると、windowsブートローダーが動作しだすタイミングで黒い画面になり、OSが起動しなくなる。cドライブが2っ存在し競合する為でないかと思われる。

👆この後、ドライブレターを変更したり、BCDを作り直したり、BIOSの起動ドライブの優先度を変えるなど色々試したが、OSを起動できない状態を改善できなくなりました。元のslot1のNVMeだけを装着して、システムの修復で、システムの復元を実行した場合だけ、なんとか起動できる状態になりました。しかし、その後にslot2にNVMeを装着して、さらにドライブを起動前に非アクティブ化して、もう一度NVMeの切り替えを試みましたが、起動できない状態となりました。どうもslot2のNVMeが何らかの悪さをしてslot1のNVMeまで起動できない状態になるみたいです。憶測ですが、SOLIDIGMのSSDは比較的新しく、公式配布のドライバにもWindows11以降を使うように記載されており、クローンしたイメージ(win10)と NVMe PCI4 の状態が合わない為ではないかと思います。Windows10では、対応できないとの結論になりました。

上記の状況を改善した手順

①Windows11 のインストールディスクでブートし、パーティション選択画面でslot1,slot2 のNVMe のデータを全て削除する。その後、slot1につないだ、1TBのNVMeを選択してwindows11をインストールする。(この手順では、移行前のデータをクローンすることは諦め、クリーンインストールしています。)

上記の操作で、windows11 を NVMe 1TBでブートし、slot2 のNVMe 512GB をデータドライブとして使えるようにできました。NVMeスロットが2個ある状態で、NVMeからNVMeにクローンして、起動ドライブを変更するのは難しいかもしれません。また、SOLIDIGM P41 Plus 以降のNVMe を使う場合、Windows11 での運用をお奨めします。Windows10では、NVMe PCI4.0ドライバのサポート自体が怪しいです。OSが完全に起動してからは認識しますが、システム修復モードでブートした場合は、手動でドライバをインストールしなければいけないという情報あります。

 

パソコン工房 ゲーミングPC LEVEL∞ BTOパソコンの仕様について

パソコン工房BTOパソコンを購入しましたが、1っ落とし穴がありました。BTOパソコンで採用しているパーツは、一般に売られているパーツとは異なるOEMパーツが使われているそうです。詳しいマニュアルを入手できない他、ドライバの提供も受けることができません。WindoowsUpdateで自動でインストールされるドライバを使用するしかないそうです。
今回、私が購入したモデルは、下記リンクのモデルになるのですが、OEM部品の仕様について補足します。

iiyama LEVEL-M76M-134F-TLX [Windows 11 Home] | パソコン工房【公式通販】

 

下記が、調査した結果です。マザーボードとグラフィックスカードが特殊なOEMを使用しており、それ以外は、通常の部品でした。

  メーカー公表 独自調査
モデル名 LEVEL-M76M-134F-TLX [Windows 11 Home]   
OS Windows 11 Home [DSP版]  
形状 ミニタワー / microATX  
CPU型番 インテル® Core™ i5-13400F プロセッサー  
グラフィックス GeForce RTX 4070 12GB GDDR6X ZOTAC GAMING GeForce RTX 4070 Twin Edge相当のOEM SKU:ZT-D40700M-10Bと記載
メモリ規格 DDR4-3200 DIMM (PC4-25600)  
メモリスロット数  2  
1stストレージ 500GB NVMe対応 M.2 SSD Intel  SSDPEKNU512GZ 512GB PCI3.0 x4
光学ドライブ 光学ドライブ非搭載  
チップセット インテル B660 AsRock(MouseComputer)  B660M
オーディオ機能 High Definition Audio subsystem  
有線LAN機能 1000BASE-T  
無線機能 非搭載 ※無線機能は別途カスタマイズにてオプション選択可能  
電源 700W 80PLUS BRONZE認証 ATX電源  
拡張スロット1 PCI Express4.0 [x16] ※グラフィックカード使用済  
拡張スロット2 空き ※グラフィックカード使用済  
拡張スロット3 PCI Express3.0 [x1] ※グラフィックカード使用済  
拡張スロット4 PCI Express3.0 [x1]  
拡張ベイ 3.5/2.5インチ兼用内蔵ベイ×2 、2.5インチ内蔵ベイ×2(本体右面)  
外部端子(前面) ヘッドセット端子×1 ,USB 3.0×2  
外部端子(背面) アナログ6chサウンド(ライン出力×1/ライン入力×1/マイク入力×1) ,USB 3.2-Type-C×1 ,USB 3.0×2 ,USB 2.0×2 ,1000BASE-T LANポート×1 ,マザーボード側ディスプレイ出力(DisplayPort×1/HDMI×1)※グラフィックアクセラレーターの出力端子についてはカスタマイズページ内にてご確認頂けます。  
内部端子 M.2×2(Key ID:M/PCIe Gen4 x4 /Type:2260/2280) ,SATA 6Gbps×4 ,内部USB 3.0(×4ポート分/20Pin×2) ,内部USB 2.0(×4ポート分/10Pin×2)  
TPM TPM2.0(インテル PTT)  

また、マザーボードは、商品情報の仕様ページに写真が掲載されており、下図のマザーボードが使われています。形状から類推すると、AsRock のB660M Phantom Gaming 4をカスタマイズしたモデルと予想できます。Phantom Gamingの取説を見ても分かりますが、下記マザーボード画像の下の方にある金属プレートは、m.2 NVME用の放熱板です。NVMEが2枚取り付けられる仕様のようです。両側のねじをはずすと、NVMEの基板が取り外せます。放熱プレートは、放熱用の粘着剤のようなものでくっついており、プレートを片側だけ少しずつ押し上げると簡単に剥がれます。その他の仕様については、Phantom Gamingの取説から多少分かりそうです。BIOSについては、AsRockのページでもアップデートは提供されてないので、出荷時のものをそのまま使うしかなさそうです。

グラフィックボードは、ZOTAC GAMING GeForce RTX 4070 Twin Edge に非常によく似ていますが、違う型式が記載されていました。対応するドライバも見当たりません。Fire Storm でファン速度等は変えれそうですが、LEDランプの調整は動作しませんでした。今回、ZOTAC GAMING GeForce RTX 4070 Twin Edgeに似たものが装着されていましたが、仕様には未記載の為、必ずこの機種が装着されていると保証はできません。

 

Androidスマートフォンの デバイスを探す で本人確認を表示させない方法

Androidスマートフォンを利用する場合、スマホを紛失時に端末を探すことができる「デバイスを探す」というサービスが使えます(遠隔ロックなどもできます)。ですが、実際に使用すると、探しているデバイスで本人確認のコードを入力してもらわないと探せないという事態になる場合があります。この本人確認が表示される場合の対処方法を解説します。

問題の本人確認の画面は、下記のような画面です。紛失した端末で、下記のコードを入力してもらわないと、探せない状態になります。改善方法は、ここで画面の下に「別の方法を試す」というリンクがありますが、これをクリックすると、別の認証方法が提案されます。パスワードの入力を聞かれたり(これは、パスコードでロック解除している場合かもしれません。パターンの場合、駄目かもしれません),再設定用のメールアドレスや、自宅電話番号などが登録されていると、メールで確認コードを送ったり、音声電話でコードを伝えたりできます。この方法を使うとその場に端末がなくても、非常用のメールアドレスや電話を使える状態であれば本人確認の認証を通過できます。ただし、再設定用のメールや電話でアクセスする経路は、不正ログインを疑われロックされた場合に表示される手段で、すぐに出てくるわけではありません。何回か「別の方法を試す」を繰り返し選択したり、何回かログインの失敗を繰り返したりすると出てきます。

しかし問題点もあり、再設定用のメールアドレスや予再設定用の電話番号が一切登録されていない場合は、紛失端末でコードを入力してもらうことが必須になります。これを避ける場合、事前にGoogleアカウントの管理画面で設定が必要になります。下記のアカウント管理画面のセキュリティで再設定用のメールアドレス、再設定用の電話番号などが登録できます。この電話番号は固定機も使えます。(音声で確認コードが伝えられる為)2段階認証を登録していると、さらに動作が変わるかもしれませんが、そのへんの仕様は、確認していない為、わかりません。

 

 

 

「Outlook を起動できません。このフォルダーのセットを開けません xxx.ost は Outlook データファイル(.ost)ではありません。」 エラーの対処方法

Outlook 2010 で、outlook.com のメールアカウントを登録すると、自動でアカウント設定され、outlookの再起動を指示されますが、下記のようなエラーが表示されて起動できなくなります。

この現象は、Outlook2010で、最新のOutlook.comアカウントに対応できないことが原因と考えられます。追加したアカウント設定を削除して元に戻すとエラーを改善できます。Outlookが起動できない状態ですが、コントロールパネル経由でOutlookのメールアカウント登録を設定できる画面を呼び出すことができます。下記のように設定画面を呼び出して、問題のアカウントを削除すると、エラーが改善できます。

①コントロールパネルでメールを選択する

②電子メールアカウントを選択する

③問題となるメールアカウントを選択し、削除ボタンでアカウントの登録を削除する。以上で起動時のエラーが改善されます。

補足ですが、Outlook.com のアカウントをメールソフトを利用して管理したい場合、永続版のOutlook2021を単体購入すると費用を抑えて使用できると思います。単体購入でも18000円程度かかります。 Microsoft365 Basic プランに加入すると、Outlookデスクトップアプリが使えるとHPに説明ありましたが、新しいOutlookと呼ばれる2023年に発表された無料版outlookのことでした。使ってみると、設定できるアカウントは、gmailoutlook.comのアカウントくらいで、プロバイダのPOPアカウントなどは、現時点では、設定できません。今後アップデートでPOPアカウントにも対応する予定があるとありましたが、いつ頃になるか分かりません。 詳細は、下記リンクを参考にしてください。比較表は、ページの下の方に掲載されています。

Microsoft 365 の Outlook にアップグレード | Microsoft 365

新しいOutlookと従来版の比較表

 

上記エラー改善方法は、下記サイトを参考にさせていただきました。

dot1.tv

VisualStudio2015で.net standard 2.0 依存を要求する NuGet packageを導入する方法

※ 2024/02/17 追記

下記で、VS2015用の.net core 2.0 sdkを利用して.net standard2.0に対応するコンパイルが可能なように対策していますが、ここで使った.net core 2.0は、バージョンの更新が止まっているVS2015向けの特殊なSDKとなります。2024年2月以降のWindowsUpdateで.NETが更新され、うまく動作しないケースが出てきました。この場合、VS2015は諦めてVS2019(.NET5以降を使う場合)以降にアップグレードをお奨めします。プロジェクトファイルをVS2019で.net core 2.0以降(.NET 5.0SDKなど)のSDKを導入してコンパイルすれば、何の問題もなくコンパイルできます。

Visual Studio2015 で .net standard2.0 に依存するパッケージを追加する場合、.net framework4.8 や、.net framework4.7 のプラットフォームを選択してビルドしても、追加したパッケージが参照できなくビルドできない場合があります。下記のようなエラーが出ます

アセンブリ 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' に参照を追加する必要があります。

.net Standard2.0 の要件は、 .net Framework 4.6.1 ~ 4.8.1 を対象としているので、本来なら大丈夫なはずです。原因を調べると、.net standard 2.0 の要件を満たすためには、普通の.net framework4.8 sdk では、一部不足するモジュールがあるようです。VisualStudio2015用の .net core 2.0 パッケージをインストールすると、不足の無い .net Framework4.8となるようです。コンパイルできない インストールできない 追加できない 必要 必須 参照エラー

詳細は、下記リンクの.net standard の互換性情報でバージョン2.0 を選択すると記載されています。.Net Framework を利用する場合の注意書き欄に説明が書かれています。

.NET Standard - .NET | Microsoft Learn

 

よって、下記のVisualStudio2015用 .net core 2.0 sdk をインストールすれば、コンパイルが通るようになります。******.md とかかれた対象のバージョンをクリックするとダウンロード画面が出ます。2.1.201-sdk-download.md 当たりが適当でないかと思います。後付けになり申し訳ないですが、VisualStudio2015で.net standard 2.0を使うには、NuGet Packageがv3.6以上であるという条件もあります。NuGet Packageが古い場合、下記リンクからv3.6をインストールしてください。VS2015向けのものがあります。

core/release-notes/download-archives at main · dotnet/core · GitHub

 

NuGet Gallery | Downloads

 

補足ですが、.net standard とは、ある1っのバージョンの .net frameworkランタイムを指すでのはなく、mono や .NET Core など複数のプラットフォームにまたがる、.NET実装をグループにまとめた仕様を束ねる仕様になります。(下図の左を参照).net standard 2.0に対応するソースは、windowsだけでなく、linuxや組み込みでもそのまま共有することが部分的に可能ということになります。ただし、完全なマルチプラットフォームではなく、一部のプラットフォームでのみ利用できる固有APIが存在するそうです。マルチプラットフォームで作成する場合、.NET Core が推奨されます。また、比較的新しいプラットフォームの .NET5 は、.net standard ベースにしてはいますが(下図の右を参照)、完全に.net framework コードがそのまま動くわけではありません。いくつかの破壊的変更があり、修正が必要となります。しかし、.net framework ともかなりの部分で互換部分があります。そのまま共存したい場合は、ターゲットフレームワーク .net standard にすると、.net framework, .NET5 の共存ができます。

 



visualstudiomagazine.com