Windows10 : change ephemeral ports

windows10って、updateするといろいろ消えたりするんですよね。今回、後から起動したプログラムがインターネットにつながらないとか起きました。

 

自前で登録したapache.tomcat serviceが消えていたり、dynamic portの範囲が初期化されたり。インターネットにつながらない子がでるのはdynamic portですね。正確には Dynamic and/or Private Ports。俗称はephemeral ports。

一時期はGPSをよくwatchしていました。Ephemeris/Almanac というのがよくつかわれていた用語で、そのつながりから、ephemeral の方が個人的な好みです。 語源は “The Nautical Almanac and Astronomical Ephemeris”

ipv6で複数アドレスが常時使えるなら気にしなくてよいのかと思いますがいまだにipv4が現役ですし。

コマンドプロンプトの特権モードで以下のようにしてやると範囲が広がります。お行儀が良いだけでは世の中を渡り切れません。

 

C:\windows\system32> netsh int ipv4 set dynamicport tcp start=1025 num=64000
C:\windows\system32> netsh int ipv4 set dynamicport udp start=1025 num=64000

C:\windows\system32> netsh int ipv6 set dynamicport tcp start=1025 num=64000
C:\windows\system32> netsh int ipv6 set dynamicport udp start=1025 num=64000

 

ついでに、tcp fin受信後のreleaseも割とタイマーがあるのでレジストリをいじってみるとか。まぁ、tcpの脆弱性防止とかいう意味もあったかと思いますが

 

C:\windows\system32> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters" /v TcpTimedWaitDelay /t REG_DWORD /d 30 /f

 

要再起動。