Skip to content

Instantly share code, notes, and snippets.

@ak1ra-komj
Last active July 8, 2024 13:28
Show Gist options
  • Save ak1ra-komj/0b61510be58d9555d65d3e0dcda22caa to your computer and use it in GitHub Desktop.
Save ak1ra-komj/0b61510be58d9555d65d3e0dcda22caa to your computer and use it in GitHub Desktop.
$InterfaceIndex = 29
# Set-NetIPAddress 不能设置 -DefaultGateway
# 而 New-NetIPAddress 必须设置 -IPAddress, 已设置静态 IP 的情况下重复 添加 会报错
$CurrentDefaultGateway = (Get-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceIndex $InterfaceIndex).NextHop
Remove-NetIPAddress -DefaultGateway $CurrentDefaultGateway -InterfaceIndex $InterfaceIndex -Confirm:$False
# Set ss-tproxy as DefaultGateway
New-NetIPAddress -IPAddress 10.0.0.20 -PrefixLength 24 -DefaultGateway 10.0.0.5 -InterfaceIndex $InterfaceIndex -Confirm:$False
Set-DnsClientServerAddress -ServerAddresses 10.0.0.5 -InterfaceIndex $InterfaceIndex -Confirm:$False
# Add Route
New-NetRoute -DestinationPrefix 10.0.5.0/24 -NextHop 10.0.0.1 -InterfaceIndex $InterfaceIndex -Confirm:$False
Start-Sleep -Seconds 600
# Revert the above settings
$Choice = "yes"
if ($Choice.ToLower().Equals("yes") -Or $Choice.ToLower().Equals("y")) {
$CurrentDefaultGateway = (Get-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceIndex $InterfaceIndex).NextHop
Remove-NetIPAddress -DefaultGateway $CurrentDefaultGateway -InterfaceIndex $InterfaceIndex -Confirm:$False
New-NetIPAddress -IPAddress 10.0.0.20 -PrefixLength 24 -DefaultGateway 10.0.0.1 -InterfaceIndex $InterfaceIndex -Confirm:$False
Set-DnsClientServerAddress -ServerAddresses 1.0.0.1,8.8.4.4 -InterfaceIndex $InterfaceIndex -Confirm:$False
Remove-NetRoute -DestinationPrefix 10.0.5.0/24 -InterfaceIndex $InterfaceIndex -Confirm:$False
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment