Changes

Jump to navigation Jump to search
3,962 bytes removed ,  08:40, 31 July 2019
m
no edit summary
Line 1: Line 1: −
* Install bridge utils
+
*Install bridge utils
 +
 
 
  apt install bridge-utils
 
  apt install bridge-utils
* sudo nano /etc/network/interfaces
+
 
<nowiki>auto eth0
+
*sudo nano /etc/network/interfaces<syntaxhighlight lang="text">
allow-hotplug eth0
+
auto eth0  
 +
allow-hotplug eth0  
 
iface eth0 inet manual
 
iface eth0 inet manual
   −
auto br0
+
auto br0  
iface br0 inet manual
+
iface br0 inet dhcp
  bridge_ports eth0
+
    bridge_ports eth0  
  wpa-driver wired
+
    wpa-driver wired wpa-conf  
  wpa-conf /etc/wpa_supplicant.conf
+
    /etc/wpa_supplicant.conf  
  bridge_hw ec:8e:b5:77:3e:e1</nowiki>
+
    bridge_hw ec:8e:b5:77:3e:e1
* Edit /etc/wpa_supplicant.conf
+
    dns-nameservers 127.0.0.1
<nowiki>ctrl_interface=/var/run/wpa_supplicant
+
    post-up route add -net 20.1.43.0 netmask 255.255.255.0 gw 15.17.160.1  
ctrl_interface_group=0
+
    up route add -net 22.0.0.0 netmask 255.255.255.0 gw 15.17.160.1
eapol_version=2
+
    #gateaway 10.23.0.1
ap_scan=0
+
</syntaxhighlight>
network={
  −
    ssid="BBVA"
  −
    key_mgmt=IEEE8021X
  −
    eap=TLS
  −
    identity="host/WF0006D3.ad.bbva.com"
  −
    ca_cert="/NAC/cacert.pem"
  −
    client_cert="/NAC/cert.pem"
  −
    private_key="/NAC/key.pem"
  −
    private_key_passwd="1234567890"
  −
}</nowiki>
  −
* Change routes to go through br0
  −
<nowiki>#!/bin/bash
  −
echo "Removing routes"
  −
sudo ip r d default via 15.17.160.1 dev br0
  −
 
  −
echo "Adding routes"
  −
sudo ip r a 20.1.30.0/24 via 15.17.160.1 dev br0
  −
sudo ip r a 20.1.40.0/24 via 15.17.160.1 dev br0
  −
sudo ip r a 20.1.43.0/24 via 15.17.160.1 dev br0
  −
sudo ip r a 22.0.0.0/16 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>
     −
* Edit /etc/ssl/openssl.cnf
+
<br />
<nowiki>...
  −
nsCertType = client
  −
...</nowiki>
     −
== Script ==
+
*Edit /etc/wpa_supplicant.conf
<source lang=bash>#!/bin/bash
  −
#Made with love, 4u
  −
echo "Configurador cliente NAC para linux Debian based"
     −
pfx=$1
+
<nowiki>ctrl_interface=/var/run/wpa_supplicant
iface=$2
+
ctrl_interface_group=0
hostname=$3
+
eapol_version=2
 +
ap_scan=0
 +
network={
 +
    ssid="BBVA"
 +
    key_mgmt=IEEE8021X
 +
    eap=TLS
 +
    identity="host/WF0006D3.ad.bbva.com"
 +
    ca_cert="/NAC/cacert.pem"
 +
    client_cert="/NAC/cert.pem"
 +
    private_key="/NAC/key.pem"
 +
    private_key_passwd="1234567890"
 +
}</nowiki>
   −
copio_y_cambio_a_local () {
+
*Change routes to go through br0
   −
mkdir /NAC/
+
<nowiki>#!/bin/bash
cp $pfx /NAC/
+
echo "Removing routes"
cd data
+
sudo ip r d default via 15.17.160.1 dev br0
cp * /NAC/
+
cd /NAC/
+
echo "Adding routes"
 
+
sudo ip r a 20.1.30.0/24 via 15.17.160.1 dev br0
}
+
sudo ip r a 20.1.40.0/24 via 15.17.160.1 dev br0
 
+
  sudo ip r a 20.1.43.0/24 via 15.17.160.1 dev br0
fix_openssl () {
+
  sudo ip r a 22.0.0.0/16 via 15.17.160.1 dev br0
 
+
sudo ip r a 20.1.32.0/24 via 15.17.160.1 dev br0
read -p "Quieres hacer el el cambio en Openssl?" yn
+
sudo ip r a 192.168.45.0/24 via 15.17.160.1 dev br0</nowiki>
    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