• Hola Invitado, nos gustaría recordarte que mantener este sitio en línea conlleva unos gastos mensuales y anuales.

    Sin vuestra ayuda mensual no es posible seguir en pie, no hay mucho más que contar.

    Si quieres colaborar para que sea posible por lo menos seguir en pie como comunidad, puedes hacerlo mediante alguno de los métodos disponibles en esta página: https://www.lonasdigital.com/donaciones/

    Recuerda que si necesitas invitación para acceder al foro, puedes solicitarla en nuestro Grupo de Telegram


Problema con 2 decos en misma LAN... Problema con la MAC.

L

lonascroat

Miembro de Lonas
Registrado
7 Sep 2012
Mensajes
10
Reacciones
0
Puntos
4
Supongo que muchos no estaréis en esta situación, pero mucho ojo si colocáis 2 decos en la misma LAN y a ambos le ponéis una imagen igual, en ese caso ambos tendrán la misma MAC ADRESS y aunque les coloquéis distintas IPs tendréis serios problemas de conectividad.

La solución es relativamente sencilla:

Conectarse por telnet y utilizar el comando netstat para cambiar la MAC:

Para ver la que tenéis ahora:

Código:
[COLOR=#242626][FONT=Consolas]$ ifconfig -a | grep HWaddr
[/FONT][/COLOR][COLOR=#242626][FONT=Consolas]eth0  Link encap:Ethernet HWaddr [/FONT][/COLOR][COLOR=blue][FONT=Consolas]00:80:48:BA:d1:20[/FONT][/COLOR]

Para cambiarla:

Código:
[COLOR=#242626][FONT=Consolas]# ifconfig eth0 down[/FONT][/COLOR]
# ifconfig eth0 hw ether [COLOR=blue]00:80:48:BA:d1:30
[/COLOR]# ifconfig eth0 up 
[COLOR=#242626][FONT=Consolas]# ifconfig eth0 |grep HWaddr[/FONT][/COLOR]

El problema es que al reiniciar el deco esto se elimina y volvemos a la MAC (HWaddr) original, para subsanarlo hay muchos modos, uno sencilla es modificar un script de arranque para que realice el trabajo anterior por nosotros (otro sería tocar algún fichero de configuración, pero en estos momentos no se cual...):

Editar el /etc/init.d/networking y añadir este código (marcado en rojo):

Código:
#!/bin/sh#
# manage network interfaces and configure some networking options


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


if ! [ -x /sbin/ifup ]; then
    exit 0
fi


spoofprotect_rp_filter () {
    # This is the best method: turn on Source Address Verification and get
    # spoof protection on all current and future interfaces.
    
    if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
        for f in /proc/sys/net/ipv4/conf/*; do
        [ -e $f/rp_filter ] && echo 1 > $f/rp_filter
        done
        return 0
    else
        return 1
    fi
}


spoofprotect () {
    echo -n "Setting up IP spoofing protection: "
    if spoofprotect_rp_filter; then
        echo "rp_filter."
    else
        echo "FAILED."
    fi
}


ip_forward () {
    if [ -e /proc/sys/net/ipv4/ip_forward ]; then
        echo -n "Enabling packet forwarding... "
        echo 1 > /proc/sys/net/ipv4/ip_forward
        echo "done."
    fi
}


syncookies () {
    if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
        echo -n "Enabling TCP/IP SYN cookies... "
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies
        echo "done."
    fi
}


doopt () {
    optname=$1
    default=$2
    opt=`grep "^$optname=" /etc/network/options`
    if [ -z "$opt" ]; then
        opt="$optname=$default"
    fi
    optval=${opt#$optname=}
    if [ "$optval" = "yes" ]; then
        eval $optname
    fi
}


[COLOR=#ff0000]cambiaMAC () {[/COLOR]
[COLOR=#ff0000] ifconfig eth0 down[/COLOR]
[COLOR=#ff0000] ifconfig eth0 hw ether 00:80:48:BA:d1:30[/COLOR]
[COLOR=#ff0000]ifconfig eth0 up[/COLOR]
[COLOR=#ff0000]}[/COLOR]


case "$1" in
    start)
        if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | 
          grep -q "^/ nfs$"; then
            echo "NOT configuring network interfaces: / is an NFS mount"
        elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |  
          grep -q "^/ smbfs$"; then
            echo "NOT configuring network interfaces: / is an SMB mount"
    elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | 
          grep -qE '^(nfs|smbfs|ncp|coda)$'; then
            echo "NOT configuring network interfaces: network shares still mounted."
        else
            echo -n "Configuring network interfaces... "
            ifup -a
        echo "done."
         # /etc/sysctl.conf is preferred
        if [ ! -f /etc/sysctl.conf ]; then
          doopt spoofprotect yes
          doopt syncookies no
          doopt ip_forward no
        fi
      fi
[COLOR=#ff0000]      cambiaMAC[/COLOR]
      ;;
    stop)
        if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | 
          grep -q "^/ nfs$"; then
            echo "NOT deconfiguring network interfaces: / is an NFS mount"
        elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |  
          grep -q "^/ smbfs$"; then
            echo "NOT deconfiguring network interfaces: / is an SMB mount"
    elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | 
          grep -qE '^(nfs|smbfs|ncp|coda)$'; then
            echo "NOT deconfiguring network interfaces: network shares still mounted."
        else
            echo -n "Deconfiguring network interfaces... "
            ifdown -a
        echo "done."
        fi
    ;;
    force-reload|restart)
        echo -n "Reconfiguring network interfaces... "
        ifdown -a
        ifup -a
    echo "done."
    ;;
    *)
    echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}"
    exit 1
    ;;
esac


exit 0

El código anterior es el del Lonas 1.2, ojo si modificáis otra imagen, lo importante es lo que viene en rojo.

Es posible que haya algún modo más elegante... Pero si os hace falta este funciona.

Saludos!
 
Chincheta para que no se pierda.
 

Temas similares

H
Respuestas
3
Visitas
2K
hard27
H
segurasharing1
Respuestas
13
Visitas
4K
jabellan
jabellan
T
Respuestas
2
Visitas
216
thejavi24
T
L
Respuestas
2
Visitas
453
bianditz
bianditz
Atrás
Arriba