# Made by Alexandre SIMAO # GPLv3 # Script to install and configure a Fuckdows Server 2016 as a router # RTR-01 Only echo "Shamefully made by Alexandre Simao. Pardon-me M. Stallman" ### Change the poor machine name echo "Changing Computer's name" Rename-computer RTR-01 # End of renaming ### Rename Adapters by parsing the VM device name echo "Renaming adapters" $adapts = Get-NetAdapter foreach ($adapt in $adapts) { $HVName = (Get-NetAdapterAdvancedProperty -name $adapt.name -DisplayName "Hyper-v Network Adapter Name").DisplayValue Rename-Netadapter -name $adapt.name -NewName $HVName } #End ### Pausing to let things settle echo "Sleeping 10s" Sleep 10 #End ### Général IP configure echo "IP configuration" $MaskBits = 24 # This means subnet mask = 255.255.255.0 $IPType = "IPv4" #Arc-SRV IP conf netsh interface ip set address name="Arc-SRV" static 192.168.8.254 255.255.255.0 #Arc-CLI conf netsh interface ip set address name="Arc-CLI" static 192.168.12.8 255.255.255.0 ### WAN conf netsh interface ip set address name="WAN" static 192.168.255.8 255.255.255.0 192.168.255.254 ### DNS Conf for all InterfaceAlias ### echo "DNS conf" foreach ($c in Get-NetAdapter) { write-host 'Setting DNS for' $c.interfaceName ; Set-DnsClientServerAddress -InterfaceIndex $c.interfaceindex -ServerAddresses ('192.168.8.1') } # End of scriptlet ### Install Routing and necessary linked roles ### echo "installing VPN routing role" Install-windowsFeature -Name Routing -IncludemanagementTools Install-remoteAccess -VpnType Routingonly set-service RemoteAccess -StartupType Automatic Start-Service RemoteAccess # End of scritlet ### Activating remote-access role echo "installing VPN routing role" Install-windowsFeature -Name Routing -IncludemanagementTools Install-remoteAccess -VpnType Routingonly set-service RemoteAccess -StartupType Automatic Start-Service RemoteAccess #END ### Activate NAT and DHCP Relay ### echo "Activating NAT and DHCP Relay" netsh routing ip relay install netsh routing ip add interface name="Arc-SRV" state=enable netsh routing ip add interface name="Arc-CLI" state=enable netsh routing ip add interface name="WAN" state=enable netsh routing ip relay add interface "WAN" netsh rout ip rel set int ARC-SRV min=0 netsh routing ip relay add interface "Arc-CLI" netsh rout ip rel set int ARC-SRV min=0 netsh routing ip relay add interface "Arc-SRV" netsh rout ip rel set int WAN min=0 netsh routing ip relay add dhcpserver 192.168.8.1 ### Set connection as private ### echo "Set connection as private" Get-NetAdapter | Set-NetConnectionProfile -NetworkCategory Private ### Change ZoneAlarm rule to accept incoming ICMP ipv4 probes ### Get-NetFirewallRule -name "*ICMP4-ERQ-In*" | Enable-NetFirewallRule #END ### Add routes echo "Adding route" route add -p 192.168.128.8/24 192.168.255.128 route add -p 0.0.0.0/0 192.168.255.254 # End of scriptlet Read-Host "Finished???" Restart-Computer