多くのexcludedportrangesの削除方法-hyper-vは無効になっています

Aug 20 2020

Windows Update 2004以降、特定のポートをバインドできない多くのプログラムツールと戦っています。私が偶然見つけたちょっとした調査。 netsh interface ipv4 show excludedportrange protocol=tcp

私の場合、次のようになります(hyper-vを無効にした後、wsl2ベースのDockerに切り替えました):

Startport      Endport

  1131        1230
  1231        1330
  1331        1430
  1431        1530
  1735        1834
  1835        1934
  1943        2042
  2043        2142
  2143        2242
  2243        2342
  2343        2442
  2443        2542
  2543        2642
  2643        2742
  2743        2842
  2843        2942
  2943        3042
  3129        3228
  3229        3328
  3329        3428
  3429        3528
  3831        3930
  3931        4030
  4031        4130
  4131        4230
  4231        4330
  4531        4630
  4631        4730
  5241        5340
  5357        5357
  5458        5557
  5558        5657
  5658        5757
  6040        6139
  6140        6239
  6933        7032
  7033        7132
  7133        7232
  7233        7332
  7333        7432
  7633        7732
  7733        7832
  8001        8100
  8101        8200
  8201        8300
  8301        8400
  8401        8500
  8501        8600
 27972       28071
 28072       28171
 28172       28271
 28272       28371
 28572       28671
 28672       28771
 50000       50059     *

現在、範囲1431 1530が原因でOracleを実行できません。ただし、予約される範囲は、再起動するたびに変更されます。

でいくつかの範囲を削除しようとしました netsh int ipv4 delete excludedportrange protocol=tcp startport=1431 numberofports=100が、access denied(admin cmdで)生成されます

この範囲を予約するものとそれらを制御する方法は何ですか?

回答

1 yoshpe Sep 19 2020 at 08:00

ここで説明するHyper-Vの問題に関連しているようです。

  1. https://stackoverflow.com/a/63723105/3234715
  2. https://github.com/docker/for-win/issues/3171
  3. https://gist.github.com/strayge/481a77d31a94e133a76662877b1a90ca#another-workaround

レジストリキーを追加しました:

reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f

ほとんどの予約済みポートをクリアしました(1612-2111、2180-2779などの多くの予約済み範囲があります)。