24 noviembre 2014

Cambiar IP en GNU/Linux desde consola

Muchas veces estamos acostumbrados a cambiar la dirección IP de la máquina por el entorno gráfico de Linux (KDE, Gnome, etc), sin ningún inconveniente. Este texto es para cuando en consola queres hacerlo, o sea, poder cambiar una dirección IP sin entorno grafico ni ningun manejador de red en consola.

Bajo todas las distribuciones GNU/Linux
Ingresamos con el usuario ROOT. No importa cual sea tu distro, solo el todopoderoso root puede hacer estos cambios.

Configurar la direccion IP:
root@gostir:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0


Configurar default gateway:
root@gostir:~# route add default gw 192.168.1.1

Configurar DNS (aquí editaremos por los DNS que nos da nuestro proveedor de Internet, si no lo sabes, usar DNSs conocidos o los de Google, a saber, 8.8.8.8 y 8.8.4.4)
root@gostir:~# echo nameserver 192.168.1.1 > /etc/resolv.conf

Aunque siempre podes usar el mitico editor VI, como si fueras realmente un sysadmin y agregar varios, tipo:

root@gostir:~# vi /etc/resolv.conf



    Dentro del archivo tenes que dejar configurado:

    nameserver = xx.xx.xx.xx (IP del DNS conocido)
    nameserver = 192.168.1.1 (ejemplo)
    nameserver = 8.8.8.8 (DNS de google)


Ahora siendo un poco mas especificos, podemos hacerlo al estilo de nuestra distribucion favorita, las cuales pertenecen a tres familias que paso a detallar, o sea, los estandares bien conocidos SystemV y BSD; y el otro no-estandar ecosistema propio:

En Slackware, Slackel, BSD-based, etc

Opcion muy perezosa y "como relampago en la pradera"
Tenemos el venerable comando netconfig que resuelve todo en varios pasos, es precisamente el que usa el instalador setup y funciona en curses.

Opcion normal, tipo BSD de toda la vida:

Editamos el archivo rc.inet1.conf, ubicado en la carpeta /etc/rc.d/ ejemplo:


root@gostir:~# vi /etc/rc.d/rc.inet1.conf (aquí editaremos la interface eth0, la placa de red la podes saber con el comando ifconfig, igual esta super-documentado con comentarios)

    Dentro del archivo dejar configurado:

    # Config information for eth0:
    IPADDR[0]="192.168.1.2"
    NETMASK[0]="255.255.255.0"
    USE_DHCP[0]=""
    DHCP_HOSTNAME[0]=""
    DEVICE=eth0

    # Default gateway IP address:
    GATEWAY="192.168.1.1"


    por ultimo reiniciamos el servicio de red:

root@gostir:~# /etc/rc.d/rc.inet1 stop
root@gostir:~# /etc/rc.d/rc.inet1 start
root@gostir:~#


En RedHat, CentOS, Fedora, Mageia, SuSE, Otras-SystemV-based, etc


Editamos el archivo ifcfg-ethX, ubicado en la carpeta /etc/sysconfig/network-scripts/ ejemplo:


root@gostir:~# vi /etc/sysconfig/network-scripts/ifcfg-eth0 (aquí editaremos la interface eth0)

    Dentro del archivo dejar configurado:

    DEVICE=eth0
    ONBOOT=yes (Activa la tarjeta de red en el inicio)
    BOOTPROTO=static (Para dirección estática o dhcp)
    IPADDR=192.168.1.2 (Para dirección estática)
    NETMASK=255.255.255.0 (Para dirección estática)
    GATEWAY=192.168.1.1 (Para dirección estática)
    NETWORK=192.168.1.0 (Para dirección estática, opcional)
    BROADCAST=192.168.1.255 (Para dirección estática, opcional)
    HWADDR=XX:XX:XX:XX:XX:XX
    TYPE=Ethernet


    por ultimo reiniciamos el servicio de red:


    service network restart


En Debian, Ubuntu, Demas-NO-STANDARD-*NIX-based, etc


Editamos el archivo interfaces, ubicado en la carpeta /etc/network ejemplo:


root@gostir:~# vi /etc/network/interfaces (aquí editamos la interface eth0, la placa de red la podes saber con el comando ifconfig)

    Dentro del archivo tenes que buscar:

    auto eth0
    iface eth0 inet dhcp

    y cambiarlo por:

    auto eth0
    iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1
    network 192.168.1.0
    broadcast 192.168.1.255


    por ultimo reiniciamos el servicio de red:


root@gostir:~#  /etc/init.d/networking restart

Que te diviertas!

No hay comentarios: