Aston-HyperV-Code/Guests/RTR-03.ps1
2021-05-11 16:46:18 +02:00

110 lines
2.5 KiB
PowerShell

# Made by Alexandre SIMAO
# GPLv3
# Script to install and configure a Fuckdows Server 2016 as a router
# RTR-03 Only
# Script done
echo "Shamefully made by Alexandre Simao. Pardon-me M. Stallman"
### Change the poor machine name
echo "Renaming Computer as RTR-03"
Rename-computer RTR-03
echo "Done!"
#END
### Rename Adapters by parsing the VM device name
echo "Renaming adapter"
$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
}
echo "Done!"
#End
### Pausing to let things settle
echo "Sleeping 10s"
Sleep 10
echo "Done!"
#WAN IP conf
echo "IP configuration via netsh"
netsh interface ip set address name="WAN" static 192.168.255.254 255.255.255.0
echo "Done!"
#Aston
echo "Setting Aston interface as DHCP to be sure"
netsh interface ip set address name="Aston" DHCP
echo "Done!"
#END
### DNS Conf for all InterfaceAlias
echo "Setting 192.168.8.1 as default DNS on all interfaces"
foreach ($c in Get-NetAdapter) { write-host 'Setting DNS for' $c.interfaceName ; Set-DnsClientServerAddress -InterfaceIndex $c.interfaceindex -ServerAddresses ('192.168.8.1') }
echo "Done!"
#End
### Install Routing and necessary linked roles
#echo "installing Routing and Nat role+setting autostart"
Install-windowsFeature -Name Routing -IncludemanagementTools
Install-remoteAccess -VpnType Routingonly
set-service RemoteAccess -StartupType Automatic
Start-Service RemoteAccess
echo "Done!"
# Configure NAT
echo "Activating and configuring NAT"
netsh routing ip nat install
netsh routing ip nat add interface name="WAN" mode=Private
netsh routing ip nat add interface name="Aston" mode=FULL
echo "Done!"
### Change ZoneAlarm rule to accept incoming ICMP ipv4 probes ###
echo "changing firewall rule to accept ICMP probes"
Get-NetFirewallRule -name "*ICMP4-ERQ-In*" |Enable-NetFirewallRule
echo "Done!"
#END
### Set connection as Private
echo "Setting connection as private"
Get-NetAdapter | Set-NetConnectionProfile -NetworkCategory Private
echo "Done!"
#End
# Add routes
echo "Adding routes"
route add -p 192.168.8.0/24 192.168.255.8
route add -p 192.168.12.0/24 192.168.255.8
route add -p 192.168.128.0/24 192.168.255.128
route add -p 0.0.0.0/0 192.168.255.254
echo "Done!"
# Renewing DHCP lease
echo "Renew DHCP Lease to be sure"
ipconfig /renew
#reboot
Read-Host "Press enter to reboot"
Restart-Computer