Files
FSI/VM_VPN_GATEWAY.sh
2026-04-20 13:05:20 +01:00

78 lines
2.4 KiB
Bash

#!/bin/bash
# Temos que configurar a VPN gateway (duh)
# O gateway client é o VM_ROAD_WARRIOR :)
#
# O gateway client é a pont entre a rede externa 193.136.212.0/24
# E a rede interna 10.60.0.0/24
# NOTE(vasco):
# Ao configurar a maquina virtual em si deixei a rede externa primeiro (enp0s8)
# E a rede interna como a segunda interface (enp0s9).
# --- variaveis aqui pf joao fr fr fr aaaaa --- #
helloworld="print"
if_fora="enp0s8"
if_dentro="enp0s9"
ip_fora="193.136.212.1"
ip_dentro="10.60.0.3"
mega_tunel="tun0"
ip_mega_tunel="10.8.0.1/24"
# --- interfaces --- #
sudo ifconfig $if_fora $ip_fora netmask 255.255.255.0
sudo ifconfig $if_dentro $ip_dentro netmask 255.255.255.0
# --- instalar packages --- #
sudo yum install -y epel-release openvpn iptables-services
# --- desativar firewalld --- #
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask firewalld
sudo systemctl enable iptables
sudo iptables -F
# --- ip forwarding --- #
sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf
# --- nat forwardin de vpn para clientes --- #
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT # :O
sudo iptables -A FORWARD -i $mega_tunel -o $if_dentro -j ACCEPT # :P
sudo iptables -A FORWARD -i $if_dentro -o $mega_tunel -j ACCEPT # ;)
sudo iptables -t nat -A POSTROUTING -s $ip_mega_tunel -o $if_fora -j MASQUERADE # :D
sudo iptables-save > /etc/sysconfig/iptables # :3
# NOTA(vasco): temos que copiar isto tudo para as pastas correctas
# e configurar também,
# deviamos meter os comandos utlizados no relatorio
# os ficheiros ja estao criados
# Copiar o Self-signed Certificate Authority
ca_dir="/etc/pki/CA"
sudo mkdir -p $ca_dir
sudo touch "${ca_dir}/serial"
sudo cp ca.crt $ca_dir
# Criar vpn certificate
sudo cp vpn.key $ca_dir
[[ -e "vpn.csr" ]] && echo "vpn.csr ja criado" || sudo openssl req -new -key vpn.key -out vpn.csr
[[ -e "vpn.crt" ]] && echo "vpn.crt ja criado" || sudo openssl ca -in vpn.csr -cert ca.crt -keyfile ca.key -out vpn.crt
openssl dhparam -out dh2048.pem 2048
sudo cp vpn.conf /etc/openvpn/server/
sudo cp vpn.csr /etc/openvpn/server/
sudo cp vpn.crt /etc/openvpn/server/
sudo cp dh2048.pem /etc/openvpn/server/
# NOTA(vasco): o ficheiro conf vai ser vpn.conf pq isso é o nome do serviço
# NOTA(vasco): talvez deviamos correr diretamente via o comando
# em vez de via serviços
sudo cp vpn.conf /etc/openvpn/server/
sudo systemctl enable --now openvpn-server@vpn.service