| 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>
| |