2021-04-09 15:51:30 +02:00
# Alexandre SIMAO
# GPLv3
# Script to install and configure a Fuckdows Server 2016 as a router
# RTR-01 Only
# Change the poor machine name
2021-04-20 10:49:35 +02:00
echo " Shamefully made by Alexandre Simao. Pardon-me M. Stallman "
Rename-computer RTR - 01
2021-04-21 17:59:14 +02:00
$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
2021-04-20 16:08:08 +02:00
2021-04-21 12:16:54 +02:00
$MaskBits = 24 # This means subnet mask = 255.255.255.0
$IPType = " IPv4 "
2021-04-21 17:59:14 +02:00
#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 "
2021-04-21 12:16:54 +02:00
$adapter | New-NetIPAddress `
-AddressFamily $IPType `
-IPAddress $IP `
-PrefixLength $MaskBits `
2021-04-21 17:59:14 +02:00
-DefaultGateway " 192.168.255.254 "
2021-04-20 16:08:08 +02:00
2021-04-21 17:59:14 +02:00
#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' ) }
2021-04-20 16:08:08 +02:00
2021-04-09 15:51:30 +02:00
# Install Routing and necessary linked roles
Install-WindowsFeature RemoteAccess , RSAT-RemoteAccess -PowerShell , Routing -IncludeManagementTools
2021-04-21 17:59:14 +02:00
#Install VPN
echo " Install-remoteAccess -VpnType Vpn "
Install-remoteAccess -VpnType Vpn
2021-04-09 15:51:30 +02:00
Set-NetConnectionProfile -NetworkCategory Private
2021-04-20 16:08:08 +02:00
$Params = @ {
" Name " = 'vm-monitoring-icmpv4'
" Action " = 'Allow'
}
2021-04-09 15:51:30 +02:00
2021-04-20 16:08:08 +02:00
Set-NetFirewallRule @Params
2021-04-21 17:59:14 +02:00
2021-04-09 15:51:30 +02:00
# Activate NAT and DHCP Relay
2021-04-21 17:59:14 +02:00
echo " Activate NAT and DHCP Relay "
2021-04-09 15:51:30 +02:00
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
2021-04-20 16:08:08 +02:00
Set-NetConnectionProfile -networkcategory private
2021-04-09 15:51:30 +02:00
# 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
2021-04-21 17:59:14 +02:00
route add -p 192.168 . 12 . 0 / 24 192.168 . 12 . 254
2021-04-09 15:51:30 +02:00
route add -p 192.168 . 255 . 0 / 24 192.168 . 255 . 8
route add -p 192.168 . 128 . 8 / 24 192.168 . 255 . 128
2021-04-19 16:04:47 +02:00
route add -p 0.0 . 0 . 0 / 0 192.168 . 255 . 254
2021-04-21 17:59:14 +02:00
Read-Host " Finished??? "