Comandos para configuración da rede

De Manuais Informática - IES San Clemente.
Revisión del 19:48 1 oct 2017 de Carrion (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda
  • NOTA IMPORTANTE:
    • Na versión 9 de Debian os comandos que xestionan a rede (uns son novos e outros mantéñense (ifup / ifdown) non funcionan como en versións anteriores (nin os novos que substitúen aos vellos nin os que se manteñen). Por tanto, cando se pida cambiar IP en debian 9 é mellor reiniciar o equipo para que se aplique o cambio, que confundir coa combinación de comandos que habería que usar para obter o mesmo resultado. Aínda así recoméndase a lectura e práctica dos comandos que a continuación se expoñen noutras versións de SOs.

Nas seguintes seccións explicarase como configurar a rede, todo ordenador debe ter:

  • Para comunicarse con outro ordenador: un Enderezo IP e unha máscara de rede.
  • Para comunicarse co exterior: unha porta de enlace.
  • Para resolver nomes de dominio a IPs: uns servidores DNS aos que preguntar para resolver nomes de dominio a enderezos IP.


  • NOTA: As IPs que se usan nesta sección son a modo de exemplo para poder explicar os comandos que se van presentar. Posteriormente xa se indica cales son as IPs que debemos poñer a cada unha das máquinas virtuais.

Introdución aos cambios introducidos na versión 9 de debian

  • Na versión 9 de debian introdúcense varios cambios no que atinxe á xestión da rede.
  • Isto é debido á versión 197 do xestor de servizos systemd. A partir desa versión a orde de arranque dos contralodores é impredicible. Por tanto un ordenador con 2 tarxetas de rede ethernet podería nomear a unha tarxeta como eth0 nun arranque e no seguinte como eth1.
  • Para evitar iso crearonse unhas políticas de nomeado de interfaces baseadas no hardware do equipo. Estas regras coñécense como Predictable network interface device
    • 0º.- Os nomes incorporaran información baseada no tipo de interface:
      • en — Ethernet
      • sl — serial line IP (slip)
      • wl — wlan
      • ww — wwan
    • 1º.- Os nomes incorporaran números de orde dos dispositivos da placa nai. P.e. eno1
      • b<number> — BCMA bus core number
      • c<bus_id> — bus id of a grouped CCW or CCW device, with all leading zeros stripped [s390]
      • o<index>[n<phys_port_name>|d<dev_port>] — on-board device index number
      • s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — hotplug slot index number
      • x<MAC> — MAC address
      • [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — PCI geographical location
      • [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>] — USB port number chain
      • v<slot> - VIO slot number (IBM PowerVM)
      • a<vendor><model>i<instance> — Platform bus ACPI instance id
    • 2º.- Os nomes incorporaran números de orde dos slots das PCI Express hotplug. P.e. ens1
      • s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — hotplug slot index number
    • 3º.- Os nomes incorporaran números de orde da ubicación físca do conector hardware. P.e. enp2s0
      • [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — PCI geographical location
    • 4º.- Os nomes incorporaran as direccións MAC hardware. P.e. enx78e7d1ea46da
    • 5º.- Se non é aplicable ningunha das anteriores: O clásico nomeamento: eth0
  • Por defecto, o sistema trata de nomear usando a directiva 1. Se non se pode aplicar a 1, trata de aplicar a 2, e senón a 3 e finalmente a 5. A política 4 está por se o usuario desaxa forzar a que as interfaces sen nomeen usando a MAC.


  • Outros cambios que se introducen na versión 9 son:
    • Retirada da utilidade de configuración de rede ifconfig (que logo será instalada) por considerala obsoleta e usar o comando ip para xestionar as interfaces e ac onfiguración da rede.
    • Representación das máscaras usando o formato CIDR. P.e. as máscaras que se amosan a continuación represéntanse en función do números de 1 (uns) que ten a máscara:
      • 255.0.0.0 -> /8
      • 255.255.0.0 -> /16
      • 255.255.255.0 -> /32

Ficheiros que se usan nesta sección

/etc/network/interfaces

  • Descrición: almacena a configuración IP das interfaces de rede.
  • Sintaxe:
# Este ficheiro describe as interfaces de rede dispoñibles no sistema
# e como activalas. Para máis información: man interfaces.

# A interface de rede loopback
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

auto eth0 
iface eth0 inet static
	address 172.16.5.2
	netmask 255.255.255.0

iface eth1 inet dhcp

Para ver o ficheiro de interfaces pódese teclear o seguinte:

more /etc/network/interfaces

ou

cat /etc/network/interfaces


  • NOTAS:
    • No canto de eth0 pode que a interface de rede estea nomeada tal e como se explica enriba. P.e. enp0s3
    • No canto de usar o parámetro netmask, pódese representar: address 172.16.5.2/24


  • Exemplos de configuración:
auto interface: a interface indicada iníciase no momento de acender o ordenador
iface eth1 inet dhcp: Configurar o interface eth1 co protocolo IPv4(inet) e que obteña a IP por DHCP
iface eth0 inet static: Igual ao anterior salvo que a IP especifícase manualmente.
  • Observar como eth1 non se vai iniciar cando se inicie o sistema, pois non está auto eth1 no ficheiro /etc/network/interfaces.

/etc/resolv.conf

  • Descrición: almacena a configuración DNS cliente, isto é, cal/es é o/s dominio/s, cales son os servidores DNS, etc. Se o servidor DNS se obtén dinamicamente mediante DHCP as entradas no ficheiro resolv.conf sobrescribiranse coa configuración obtida por DHCP.
  • Sintaxe:
search iessanclemente.net
nameserver 10.0.0.36
nameserver 4.2.2.2
  • Exemplos de configuración:
search: engade o dominio iessanclemente.net ás consultas para tentar resolver os nomes dentro da nosa rede. Por exemplo, se o noso dominio é iessanclemente.net e tentamos facer un ping ao equipo pc1 dentro da nosa rede, non será necesario teclear o nome completo, é dicir, ping pc1.iessanclemente.net, senón que automaticamente realizarase unha consulta DNS para saber a IP de pc1.iessanclemente.net se tecleamos ping pc1.
nameserver: especifica os servidores DNS que se usarán para resolver nomes a direccións IP. Pode haber varios servidores DNS e consultaranse na orde especificada.
  • Importante en Ubuntu Desktop:
    • A partir da versión 12.04 de Ubuntu o ficheiro /etc/resolv.conf só é un ficheiro dinámico que contén a configuración DNS do equipo.
    • Este ficheiro é xestionado polo NetworkManager, por tanto, calquera configuración que nel se introduza vaise perder.
    • Se a versión que se usa de Ubuntu é 12.04 ou posterior, este instala no propio equipo un servidor lixeiro de DNS (dnsmasq) e por tanto o contido de /etc/resolv.conf vai conter a entrada nameserver 127.0.0.1, isto é, pregúntase a si mesmo.
    • O NetworkManager ten configurado o servidor DNS en: /etc/NetworkManager/system-connections/<nome da conexión>, que será a quen se lle pregunte se dnsmasq non resolve.
    • Se non se desexa que o equipo use dnsmasq comentar a entrada dns=dnsmasq do ficheiro /etc/NetworkManager/NetworkManager.conf e reiniciar o servizo (service NetworkManager restart) ou o equipo. Agora resolv.conf terá a configuración desexada.
    • Tamén se pode fixar unha configuración DNS no ficheiro: /etc/resolvconf/resolv.conf.d/tail do mesmo xeito que sempre.

/etc/hosts

  • Descrición: almacena a lista de hosts locais: nomes locais asociados a IPs (locais ou non). Cando o computador tenta achar o enderezo IP dun equipo, primeiro acudirá a este ficheiro antes que ao servidor de nomes DNS. Se a dirección IP está no ficheiro /etc/hosts o DNS non se usará (isto pode cambiarse editando o ficheiro /etc/nsswitch.conf e cambiando a orde en que se fai a busca). A diferencia de Windows, o cliente de DNS de Linux non almacena os resultados obtidos do DNS en caché.
  • Sintaxe:
 127.0.0.1   	equipo localhost
 69.50.12.40	x xunta equipo.ola.veran
  • Exemplos de configuración:
127.0.0.1   	equipo localhost, tanto se se fai ping ao equipo como a localhost, a resolución de nomes vai dar como IP 127.0.0.1
69.50.12.40 x xunta equipo.ola.veran, neste caso tanto os nomes x, xunta, equipo.ola.veran teñen asociada a IP 69.50.12.40

Comandos que se usarán nesta sección

ip

  • O comando ip pertence a ferramenta Iproute2.
  • Descrición: realiza as funcións de ifconfig, arp, route e outras. Permite configurar as interfaces de rede, xestionar a táboa de MACs e configurar rutas de enrotamento.


Utilidades net-tools substituídas pola ferramenta iproute2
Obsoleto (net-tools) Nova utilidade (Iproute2) Notas
ifconfig ip addr, ip link, ip -s Configuración de enderezo e enlace
route ip route Táboas de ruteo
arp ip neigh Equipos veciños
iptunnel ip tunnel Túneles
nameif ifrename, ip link set name Renomear interfaces de rede
ipmaddr ip maddr Multicast
netstat ip -s, ss, ip route Amosa varias estadísticas de rede


  • Sintaxe:
ip [ OPCIÓNs ] OBXETO [ COMANDO [ ARGUMENTOS]] 

OBXECTO:

link: configurar os obxectos físicos o lógicos de la red
address (addr): Manexo de direccións asociadas aos diferentes dispositivos. Cada dispositivo debe tener ao menos unha dirección asociada.
neighbour: ver os enlaces de veciñanza, engadir novas entradas de veciñanza e borrar as antiguas.
rule: ver as políticas de enrotamente e cambialas.
route: ver as táboas de enrotamento e cambiar as regras das táboas.
tunnel: ver os túneles IP e as súas propiedades e cambialos.
maddr: ver as direccións multienlace e as súas propiedades e cambiarlas.
mroute: establecer, cambiar ou borrar o enrutamento multienlace.
monitor: monitorizar continuamente o estado dos dispositivos, direcciós e rotas
  • Se se escribe ip sen parámetros aparece a axuda.
  • Exemplos:
  • Para ver a configuración do interface:
ip addr show

Para asignar a dirección IP e a máscara de rede a unha interfaz de rede:

ip addr add 10.0.0.100/8 dev eth0

ifconfig

  • Se se executa ifconfig en Debian 9 ou superior obtense:
root@dbase:~# ifconfig
-bash: ifconfig: non se atopou a orde
root@dbase:~# 

O mesmo pasa con:

root@dbase:~# arp
-bash: arp: non se atopou a orde
root@dbase:~# route
-bash: route: non se atopou a orde
root@dbase:~# netstat
-bash: netstat: non se atopou a orde
root@dbase:~# 
  • Para poder seguir utilizando os comandos anteriores na versión 9 de Debian (ou superior) é preciso instalar as utilidades net-tools.
root@dbase:~# apt-get install net-tools -y


  • Descrición: Mostra e modifica a configuración das interfaces de rede e a configuración IP do equipo
  • Sintaxe:
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address ...
  • Opcións principais:
-a: Mostra a información de todas as interfaces de rede do equipo, incluíndo as que non están activadas
interface: Indicando o nome dunha interfaz de rede do equipo, mostra ou modifica a configuración dese interfaz
up|down: Activa ou desactiva unha interfaz
address: Dirección IP para asignar a esta interfaz
netmask mascara: Máscara de rede para asignar a esta interfaz
  • Exemplo: Para asignar a dirección IP e a máscara de rede a unha interfaz de rede:
ifconfig ethX 10.0.0.100 netmask 255.0.0.0 up

Con isto pola interface ethX de rede débese ter acceso á rede local. Sen embargo, non se pode acceder aínda a equipos fóra desta rede.

Así, executando este comando pódese modificar a configuración actual das interfaces de rede do equipo, pero esta configuración non se manterá se se reinicia o equipo ou o servizo de rede. Como se consegue entón que os cambios realizados nas ferramentas das distribucións ou co webmin si perduren despois de apagar o equipo?. O que fan estas ferramentas é gardar os datos en ficheiros de configuracións. Este é un deles: /etc/network/interfaces

ifdown / ifup

  • Descrición: desactiva/activa interfaces de rede.
  • Sintaxe:
ifdown / ifup [-a] [interface]
  • Opcións principais:
-a: desactiva/activa todas as interfaces marcadas como auto no ficheiro /etc/interfaces
interface: Indicar o nome dunha interface de rede do equipo
  • Exemplo: desactivar a interface eth0:
ifdown eth0
  • O equivalente na ferramenta Iproute2:
ip link set eth0 up / down

route

  • Descrición: Mostra e modifica as entradas da táboa de enrutamento do equipo para poder ter acceso a internet.
  • Sintaxe:
route [-CFvnee]
route  [-v]  [-A  family]  add  [-net|-host]  target  [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod]
[dyn] [reinstate] [[dev] If]
route  [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route  [-V] [--version] [-h] [--help]
  • Opcións principais:
del: Borra unha ruta
add: Engade unha ruta
target: Rede ou máquina destino á que queremos chegar
-net|-host: Indica se o destino é unha rede ou unha máquina
netmask máscara: Máscara de rede para a ruta
gw seguinte: Dirección IP do router ao que se deben enviar os paquetes para o destino indicado
  • Exemplo: cal é a dirección da porta de enlace que nos une co exterior?. Utilizaremos o comando route para configurala:
route add default gw 10.0.0.1 eth0

O equivalente na ferramenta Iproute2:

ip route add default via 10.0.0.1 dev eth0

Así, executando este comando pódese modificar a configuración actual das interfaces de rede do equipo, pero esta configuración non se manterá se se reinicia o equipo ou o servizo de rede. Sucede o mesmo que con ifconfig. Para que a porta de enlace sexa permanente hai que almacenala no ficheiro: /etc/network/interfaces

Coñecer a configuración da rede

  • A continuación as pantallas seguintes está realizadas usando comandos da utilidade net-tools.
  • Debaixo das pantallas amosarase o equivalente coa utilidade Iproute2.

Os interfaces noméanse na versión 9 de Debian como se indicou enriba e en versións anteriores ou noutros SOs aínda se seguen nomeando como:

  • eth0, eth1, etc. son as tarxetas de rede ethernet instaladas no sistema.
  • O interface lo (loopback) é unha tarxeta de rede virtual que lle permite ó equipo conectarse consigo mesmo (o seu enderezo IP soe ser 127.0.0.1), e xeralmente responde ó nome de Localhost.
  • Os interfaces wlanX son as tarxetas de rede sen fíos.


Cada interface pode estar activa ou inactiva. Cando se inicia o sistema, activaranse as interfaces que se indiquen no arquivo /etc/network/interfaces mediante o parámetro auto.


Pódense activar ou desactivar as distintas interfaces mediante a execución do sistema cos comandos: ifconfig, ifup ou ifdown.

As seguintes imaxes son a modo de exemplo, non se corresponden coa máquina instalada nun paso previo.

Platega U910 Server Rede 01.jpeg

Neste caso, o sistema ten tres interfaces (eth0, eth1, lo), pero só amosa os que están activos (lo e eth0), neste caso activáronse no arranque do sistema. Para realizar o curso non é preciso dispor de 2 interfaces ethernet, só os ten o equipo do curso para usalo como exemplo.


Có comando ifconfig, pódese coñecer o enderezo IP, a máscara, broadcast, o enderezo MAC, etc.

Comando Iproute2: ip addr show

Executando ifconfig -a amósase a configuración de todas as interfaces do sistema estean ou non activas. Nótese como agora amosa tamén o interface eth1.

Platega U910 Server Rede 02.jpeg

Comando Iproute2: ip addr show

Executando ifconfig <interface> amósase a configuración dunha interface concreta:

Platega U910 Server Rede 03.jpeg

Comando Iproute2: ip addr show eth0

Cambiar a configuración de rede do servidor

A configuración da rede, asignar unha IP a unha interface ou cambiala pódese facer a través da:

  • execución do comando ip ou ifconfig se teñen instaladas as utilidades net-tools ou
  • edición do ficheiro /etc/network/interfaces.

Para editar o ficheiro de configuración das interfaces de rede.

sudo nano /etc/network/interfaces


Activar a nova configuración IP do servidor

Aínda que se modifique o ficheiro, a nova configuración non terá efecto até que se faga unha das tres cousas seguintes:

  • Se reinicie o sistema, pois aí lese o ficheiro e eth0 configuraríase cos novos parámetros.
  • Se desactive e active o interface de rede (neste caso eth0). Para iso úsanse os comando ifdown e ifup / ip link set eth0 up /down
  • Se reinicie o servizo de rede. Reiniciando o demo(servizo) de rede, este párase e vólvese iniciar, momento no que volve ler o ficheiro etc/network/interfaces. Sobre servizos hai unha sección posterior, onde se explica o seu funcionamento.

A vantaxe da 2ª opción é que só se ve afectada a interface en cuestión e non todo o servizo de rede con tódalas posibles interfaces que estiveran activas. Na terceira opción, se hai varias interfaces de rede activas e só se desexa modificar unha delas, veríanse todas afectadas e por un intre o equipo tería tódalas interfaces desactivadas.


ifdown eth0, para parar o interface eth0.
ifup eth0, para levantar a interface eth0 coa configuración que haxa no ficheiro /etc/network/interfaces


  • Iproute2:
ip link set eth0 down, para parar o interface eth0.
ip link set eth0 up, para levantar a interface eth0 coa configuración que haxa no ficheiro /etc/network/interfaces

Configurar o cliente DNS

Se se quere saír con conexión a internet, cada quen debe configurar o seu equipo de acordo ós parámetros DNS que indique o Provedor de Servizos de Internet (ISP).

Neste caso estáse a configurar un equipo Ubuntu usando o comando sudo para executar os comandos como root. No caso do debian o comando sudo non está instalado e non fai falla se se excutan os comandos dende o usuario root.

sudo nano /etc/resolv.conf

-- Antonio de Andrés Lema e Carlos Carrión Álvarez