# Alexandre SIMAO # GPLv3 # Script to install and configure a Fuckdows Server 2016 as a router # RTR-01 Only # Change the poor machine name echo "Shamefully made by Alexandre Simao. Pardon-me M. Stallman" Rename-computer RTR-01 $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 } #Général IP configure $MaskBits = 24 # This means subnet mask = 255.255.255.0 $IPType = "IPv4" #Arc-SRV IP conf $adapter = Get-NetAdapter | ? {$_.Name -eq "Arc-SRV"} $IP = "192.168.8.254" $adapter | New-NetIPAddress ` -AddressFamily $IPType ` -IPAddress $IP ` -PrefixLength $MaskBits #Arc-CLI $adapter = Get-NetAdapter | ? {$_.Name -eq "Arc-CLI"} $IP = "192.168.12.254" $adapter | New-NetIPAddress ` -AddressFamily $IPType ` -IPAddress $IP ` -PrefixLength $MaskBits ` #WAN $adapter = Get-NetAdapter | ? {$_.Name -eq "WAN"} $IP = "192.168.255.8" $adapter | New-NetIPAddress ` -AddressFamily $IPType ` -IPAddress $IP ` -PrefixLength $MaskBits ` -DefaultGateway "192.168.255.254" #DNS Conf for all InterfaceAlias foreach ($c in Get-NetAdapter) { write-host 'Setting DNS for' $c.interfaceName ; Set-DnsClientServerAddress -InterfaceIndex $c.interfaceindex -ServerAddresses ('9.9.9.9') } # Install Routing and necessary linked roles Install-WindowsFeature RemoteAccess, RSAT-RemoteAccess-PowerShell, Routing -IncludeManagementTools #Install VPN echo "Install-remoteAccess -VpnType Vpn" Install-remoteAccess -VpnType Vpn Set-NetConnectionProfile -NetworkCategory Private $Params = @{ "Name" = 'vm-monitoring-icmpv4' "Action" = 'Allow' } Set-NetFirewallRule @Params # Activate NAT and DHCP Relay echo "Activate NAT and DHCP Relay" netsh routing ip relay install netsh routing ip add interface name="WAN" state=enable netsh routing ip relay add interface "WAN" netsh rout ip rel set int ARC-CLI 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-service RemoteAccess -StartupType Automatic Start-Service RemoteAccess netsh -f ./Arc-CLI.conf netsh -f ./Arc-SRV.conf netsh -f ./WAN.conf Set-NetConnectionProfile -networkcategory private # Change ZoneAlarm rule to accept incoming ICMP ipv4 probes $Params = @{ "Name" = 'vm-monitoring-icmpv4' "Action" = 'Allow' } Set-NetFirewallRule @Params # Add routes route add -p 192.168.8.0/24 192.168.8.254 route add -p 192.168.12.0/24 192.168.12.254 route add -p 192.168.255.0/24 192.168.255.8 route add -p 192.168.128.8/24 192.168.255.128 route add -p 0.0.0.0/0 192.168.255.254 Read-Host "Finished???"