Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability needed to configure ephemeral port range #443

Open
plasm0r opened this issue Feb 14, 2020 · 1 comment
Open

Ability needed to configure ephemeral port range #443

plasm0r opened this issue Feb 14, 2020 · 1 comment
Assignees
Labels
in progress The issue is being actively worked on by someone. resource proposal The issue is proposing a new resource in the resource module.

Comments

@plasm0r
Copy link

plasm0r commented Feb 14, 2020

Hi

I need to be able to configure the ephemeral port range as per:

netsh int ipv4 set dynamicport tcp start=10000 num=1000

I've looked at the resources available for this module but can't see where I could do this. Am I missing something or would this be a new feature request?

Thanks!

@PlagueHO PlagueHO added help wanted The issue is up for grabs for anyone in the community. resource proposal The issue is proposing a new resource in the resource module. labels Feb 15, 2020
@PlagueHO
Copy link
Member

PlagueHO commented Feb 15, 2020

Hi @plasm0r - their currently isn't a resource that sets the ephemeral port range.

This is a gap and should be created as part of a new resource called TcpSetting and use the Set-NetTCPSetting and Get-NetTCPSetting functions.

It would be recommended that code in this resource follows the same pattern as the DSC_DnsClientGlobalSetting (e.g. a data driven settings resource) as this would then be very simple and quick to implement.

This resource should expose the following settings (snipped straight from the docs):

   [-MinRtoMs <UInt32[]>]
   [-InitialCongestionWindowMss <UInt32[]>]
   [-CongestionProvider <CongestionProvider[]>]
   [-CwndRestart <CwndRestart[]>]
   [-DelayedAckTimeoutMs <UInt32[]>]
   [-DelayedAckFrequency <Byte[]>]
   [-MemoryPressureProtection <MemoryPressureProtection[]>]
   [-AutoTuningLevelLocal <AutoTuningLevelLocal[]>]
   [-AutoTuningLevelGroupPolicy <AutoTuningLevelGroupPolicy[]>]
   [-AutoTuningLevelEffective <AutoTuningLevelEffective[]>]
   [-EcnCapability <EcnCapability[]>]
   [-Timestamps <Timestamps[]>]
   [-InitialRtoMs <UInt32[]>]
   [-ScalingHeuristics <ScalingHeuristics[]>]
   [-DynamicPortRangeStartPort <UInt16[]>]
   [-DynamicPortRangeNumberOfPorts <UInt16[]>]
   [-AutomaticUseCustom <AutomaticUseCustom[]>]
   [-NonSackRttResiliency <NonSackRttResiliency[]>]
   [-ForceWS <ForceWS[]>]
   [-MaxSynRetransmissions <Byte[]>]
   [-AutoReusePortRangeStartPort <UInt16[]>]
   [-AutoReusePortRangeNumberOfPorts <UInt16[]>]

Some settings could be omitted and we could start with just a subset to get the resource out quickly.

But due to the backlog of work I have at the moment it might take a while to get to. So recommend in the short term using the Script resource to do this.

@PlagueHO PlagueHO added in progress The issue is being actively worked on by someone. and removed help wanted The issue is up for grabs for anyone in the community. labels Dec 1, 2020
@PlagueHO PlagueHO self-assigned this Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in progress The issue is being actively worked on by someone. resource proposal The issue is proposing a new resource in the resource module.
Projects
None yet
Development

No branches or pull requests

2 participants