Changes

Jump to navigation Jump to search
4,235 bytes removed ,  12:24, 30 January 2019
no edit summary
Line 39: Line 39:  
sudo ip r a 20.1.32.0/24 via 15.17.160.1 dev br0
 
sudo ip r a 20.1.32.0/24 via 15.17.160.1 dev br0
 
sudo ip r a 192.168.45.0/24 via 15.17.160.1 dev br0</nowiki>
 
sudo ip r a 192.168.45.0/24 via 15.17.160.1 dev br0</nowiki>
  −
* Edit /etc/ssl/openssl.cnf
  −
<nowiki>...
  −
nsCertType = client
  −
...</nowiki>
  −
  −
== Script ==
  −
<source lang=bash>#!/bin/bash
  −
#Made with love, 4u
  −
echo "Configurador cliente NAC para linux Debian based"
  −
  −
pfx=$1
  −
iface=$2
  −
hostname=$3
  −
  −
copio_y_cambio_a_local () {
  −
  −
mkdir /NAC/
  −
cp $pfx /NAC/
  −
cd data
  −
cp * /NAC/
  −
cd /NAC/
  −
  −
}
  −
  −
fix_openssl () {
  −
  −
read -p "Quieres hacer el el cambio en Openssl?" yn
  −
    case $yn in
  −
        [YySs]* )
  −
if [ "$(cat /etc/ssl/openssl.cnf | grep -v "#" | grep "nsCertType = client" | wc -l )" -ne 1 ]; then
  −
sed -i '0,/# nsCertType = client, email/{s/# nsCertType = client, email/nsCertType = client/}' /etc/ssl/openssl.cnf
  −
fi
  −
;;
  −
        [Nn]* )
  −
echo "Pos vale!!"
  −
;;
  −
        * )
  −
echo "Contesta!!! yes or no?"
  −
echo "No lo hare entonces"
  −
;;
  −
    esac
  −
  −
    echo ""
  −
  −
}
  −
  −
replace_interfaces () {
  −
  −
echo "Solo se va a dejar la interfaz que se usa para la autenticacion 802.1x"
  −
cat interfaces | sed 's/eth0/'$iface'/g' > /etc/network/interfaces
  −
echo ""
  −
  −
}
  −
  −
replace_wpa () {
  −
  −
echo "Vamos a leer el mondongo y va ha salir porn pantalla (vamos,la clave del pem) "
  −
read mondongo
  −
  −
cat wpa_supplicant.conf | sed 's/replacehostname/'$hostname'/g' | sed 's/aquivalachicha/'$mondongo'/g' > /etc/wpa_supplicant.conf
  −
echo ""
  −
  −
}
  −
  −
reinicia_servicios () {
  −
  −
echo "Vamos a reiniciar los servicios, reza si crees y sino tomate una cocacola"
  −
echo "Parando networking"
  −
service networking stop
  −
echo "Levantando networking"
  −
service networking start
  −
echo ""
  −
  −
}
  −
  −
crea_claves () {
  −
  −
echo ""
  −
echo "Exportando la CA"
  −
openssl pkcs12  -in $pfx  -out cacert.pem -cacerts -nokeys
  −
  −
echo ""
  −
echo "Exportando el certificado de cliente"
  −
openssl pkcs12  -in $pfx -out cert.pem -clcerts -nokeys
  −
  −
echo ""
  −
echo "Exportando la clave privada (necesita contraseña)"
  −
openssl pkcs12  -in $pfx -out key.pem -nocerts
  −
  −
echo "Claves creadas!!  Acuerdate de la pass!!!"
  −
ls *.pem
  −
  −
}
  −
  −
comprueba_conexion () {
  −
  −
#Ole illo que cutrez ,xD
  −
  −
echo "Se elimina el "/var/run/wpa_supplicant/" del interfaz"
  −
rm /var/run/wpa_supplicant/$iface
  −
  −
read -p "Quieres reiniciar los servicios antes?" yn
  −
case $yn in
  −
[YySs]* )
  −
echo "Reiniciando servicios"
  −
reinicia_servicios
  −
;;
  −
        [Nn]* )
  −
echo "Pos vale!!"
  −
;;
  −
        * )
  −
echo "Contesta!!! yes or no?"
  −
echo "No lo hare entonces"
  −
;;
  −
    esac
  −
echo "Lanza el comando de negociacion de wpa_supplicant a parte"
  −
wpa_supplicant -Dwired -i$iface -c/etc/wpa_supplicant.conf -ddd 2>&1 >> wpa_supplicant_eap.log &
  −
echo "Pide IP"
  −
dhclient $iface
  −
echo ""
  −
  −
}
  −
  −
desabilta_network_manager () {
  −
  −
read -p "¿Quieres deshabilitar el Network Manager?(default N) Ss/Nn  Reinicio? R/r" yn
  −
case $yn in
  −
[YySs]* )
  −
echo "Parando network manager"
  −
service network-manager stop
  −
echo "ATENCION!: Se va a deshabilitar Network-Manager en inicio!"
  −
systemctl disable NetworkManager.service
  −
;;
  −
        [Nn]* )
  −
#Andrew no se fiaba de reinicialo aqui!!
  −
echo "Pos vale!!"
  −
;;
  −
[Rr]* )
  −
echo "Venga lo reinicio"
  −
service network-manager stop
  −
service network-manager start
  −
;;
  −
        * )
  −
echo "Pos vale!!"
  −
echo "No lo hare entonces"
  −
;;
  −
    esac
  −
echo ""
  −
  −
}
  −
  −
comprueba_root () {
  −
  −
if [ "$EUID" -ne 0 ]; then
  −
echo "Lanzalo como root!!! y si no te atreves lee lo que hace!! xD"
  −
exit -1
  −
fi
  −
  −
}
  −
  −
install () {
  −
  −
copio_y_cambio_a_local
  −
crea_claves
  −
fix_openssl
  −
replace_interfaces
  −
replace_wpa
  −
desabilta_network_manager
  −
reinicia_servicios
  −
  −
}
  −
  −
comprueba_root
  −
  −
case $pfx in
  −
  −
retest)
  −
  −
if [ $# -ne 2 ]; then
  −
echo "Necesita parametros!! melon!!"
  −
echo "Parametro 1: retest"
  −
echo "Parametro 2: nombre de la interfaz cableada que se va a reconfigurar"
  −
exit -1
  −
fi
  −
  −
comprueba_conexion
  −
;;
  −
*)
  −
if [ $# -ne 3 ]; then
  −
echo "Necesita parametros!! melon!!"
  −
echo "Parametro 1: Pfx que contiene CA, Clave de cliente, y privada"
  −
echo "Parametro 2: nombre de la interfaz cableada que se va a configurar"
  −
echo "Parametro 3: hostname del equipo NOMBRE.dominio"
  −
echo "<script> <absolute path pfx> <interfaz> <hostname completo>"
  −
echo "Otras opciones: retest <interfaz> - No realiza configuracion, reintenta al autenticacion EAP"
  −
exit -1
  −
fi
  −
  −
install
  −
;;
  −
esac</source>
 

Navigation menu