Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

El sistema de nombres de dominio DNS se utiliza para determinar qué IP pertenece al dominio correcto en Internet. Cuando un programa necesita acceder a un sitio por su nombre de dominio, el sistema operativo envía una solicitud al servidor DNS para averiguar a qué IP debe enviar paquetes a continuación. Pero este no es siempre el caso. Por ejemplo, cuando accedemos al dominio localhost, la solicitud siempre se envía a nuestra computadora local.

toda la razon archivo anfitrión. Si ha usado Windows antes, probablemente haya oído hablar de este archivo antes. Allí, la mayoría de las veces se usaba para bloquear rápidamente el acceso a un recurso. Pero su aplicación es mucho más amplia. En este artículo, veremos cómo configurar el archivo de hosts en Linux, así como las características que nos brinda.

Antes de llegar al archivo de hosts en sí, debemos entender cómo Linux busca una dirección IP para un nombre de dominio. Dije que el sistema operativo envía inmediatamente una solicitud al servidor DNS, pero esto no es del todo cierto. Hay un orden de búsqueda específico en el que se realiza. Este orden se establece en el archivo de configuración /etc/nsswitch.conf

gato /etc/nsswitch.conf

Aquí nos interesa la línea de hostias. Enumera, en orden de prioridad, los servicios que se utilizan para buscar una dirección IP para un nombre de dominio. El elemento de archivos significa usar el archivo /etc/hosts y dns significa usar el servicio de nombres de dominio de Internet. Si los archivos se ubican antes que los hosts, esto significa que el sistema primero intentará encontrar el dominio en /etc/hosts, y solo luego en DNS. Así es como está por defecto.

Configuración de archivos de hosts de Linux

El archivo que necesitamos se encuentra en el directorio /etc/. Para abrirlo, puede usar cualquier editor de texto cómo en línea de comando, y en la interfaz gráfica, solo necesita abrirlo con derechos de superusuario. Por ejemplo, usando vim:

sudo vi /etc/hosts

sudo gedit /etc/hosts

La sintaxis del archivo es bastante simple. Contiene varias líneas con nombres de dominio y direcciones IP que debe usar para ellos. Cada uno de ellos se ve así:

dominio dirección_ip alias

Por lo general, la primera línea crea una regla para redirigir todas las solicitudes al dominio localhost a la dirección IP local: 127.0.0.1:

127.0.0.1 servidor local

Este archivo también contiene redireccionamientos para el nombre de su computadora y para las direcciones IPv6 de forma predeterminada. Puede crear su propia configuración para cualquier dominio que desee. Para hacer esto, agregue una línea al final del archivo ..0.0.1:

127.0.0.1 sitio

Tenga en cuenta que aquí solo se indica el dominio, sin el protocolo. No necesita especificar el prefijo http o https, de lo contrario, nada funcionará. Pero para el subdominio www, debe crear una entrada separada o escribirla como un alias. Por ejemplo:

127.0.0..sitio

Ahora, al solicitar un dominio, el sitio abrirá nuestra IP local. Para devolver el acceso al recurso original, simplemente elimine la línea agregada. Pero puede usar no solo la dirección local, sino cualquier otra. Esto es muy conveniente si acaba de registrar un dominio y zona de dominio aún no ha tenido tiempo de actualizar y ya desea trabajar con el nuevo sitio. Simplemente agregue los datos a /etc/hosts y trabaje como de costumbre.

conclusiones

En este breve artículo, hemos analizado cómo Configuración de DNS a través del archivo de hosts de Linux. Como puede ver, con su ayuda puede bloquear el acceso a recursos no deseados, por ejemplo, a qué programas no deberían tener acceso, y también usarlo en el trabajo del webmaster.

Sobre el Autor

Fundador y administrador del sitio, aficionado a abrir software Y Sistema operativo linux Actualmente uso Ubuntu como mi sistema operativo principal. Además de Linux, me interesa todo lo relacionado con tecnologías de la información y la ciencia moderna.

(CentOS) y máquinas Windows. archivo Linux tiene dos pestañas con pestañas después de la dirección IP (localhost.localdomain localhost) mientras que en Windows solo hay una. Si quiero editar el archivo de hosts de Windows con un nombre de máquina (etest) en lugar de localhost, simplemente reemplazo la palabra localhost con el nombre de máquina que quiero. La máquina no tiene que ser parte de un dominio.

En una máquina Linux, las dos entradas localhost.localdomain y localhost parecen indicar que necesitaré que la máquina forme parte de un dominio. ¿Esto es cierto?

¿Puedo editar ambas entradas en etest para que diga:

127.0.0.1 etest etest

¿O es necesario que reemplace una entrada con un nombre de dominio?

Además, hágame saber para qué sirve la segunda línea del archivo /etc/hosts en una máquina Linux.

::1 localhost6.localdomain6 localhost6

hosts archivo en la máquina Linux:

# No elimine la siguiente línea, o varios programas # que requieren funcionalidad de red fallarán. 127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6

archivo de hosts en máquina de ventanas:

# Copyright (c) 1993-1999 Microsoft Corp. # # Este es un archivo HOSTS de muestra utilizado por Microsoft TCP/IP para ventanas. # # Este archivo contiene las asignaciones de direcciones IP a nombres de host. Cada # entrada debe mantenerse en una línea individual. La dirección IP debe # colocarse en la primera columna seguida del nombre de host correspondiente. # La dirección IP y el nombre del host deben estar separados por al menos un # espacio. # # Además, se pueden insertar comentarios (como estos) en # líneas individuales o después del nombre de la máquina indicado por un símbolo "#". # # Por ejemplo: # # 102.54.94.97 rhino.acme.com # servidor de origen # 38.25.63.10 x.acme.com # x cliente host 127.0.0.1 localhost

3 Soluciones recopilan formularios web para "Linux /etc/formato hosts (¿diferente de Windows?)"

Siempre desea que la dirección 127.0.0.1 se resuelva primero en localhost. Si hay un dominio, también puede usarlo, pero luego asegúrese de que localhost aparezca en segundo lugar. Si desea agregar alias para su computadora que buscarán la dirección de retorno, puede seguir agregándolos como valores separados por espacios en esta línea. Especificar un dominio es opcional aquí, pero no elimine "localhost" de las opciones.

El formato /etc/hosts es el mismo en Linux y Windows:

dirección IP nombre de host...

donde los corchetes son la forma habitual de indicar que algo es opcional (en realidad, no los escriba), y los puntos (...) significan que puede haber más de uno.

No necesita crear la parte de host del dominio. Prueba y verás. Pero sería bueno usar .localdomain si no tiene un nombre de dominio real. Puede hacer que la resolución del nombre de host sea un poco más rápida debido a la opción ndots en ndots /etc/resolv.conf .

Tenga en cuenta que, en este sentido, dominio significa un dominio DNS (como google.com o stackexchange.com) y no un dominio de Windows o algo así stackexchange.com.

Una cadena que comienza con::1 para IPv6 . ::1 como 127.0.0.1 bajo el nuevo esquema de direccionamiento. Ejecute ifconfig lo y verá que tiene dos direcciones. Observe la entrada que comienza con inet6 .

$ ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ...

Información adicional consulte la página del manual (5).

No puedo hablar de cómo Windows puede ser diferente de Linux, pero el formato de la definición de la máquina local afecta los resultados que obtiene del comando "nombre de host".

El formato que encuentro funciona de manera más consistente:

127.0.0.1 etest.midominio.com etest localhost

Lo importante que he encontrado es tener una completa Nombre de dominio y alias en cualquier orden posterior.

Si experimenta con la reorganización de los nombres después de la dirección IP y luego usa los comandos "hostname -s" (nombre corto) y "hostname -f" (nombre de dominio completo o FQDN), verá lo que quiero decir. Debería verse algo como esto:

$ nombre de host -s etest $ nombre de host -f etest.mydomain.com

"hostname" por sí solo debería devolver cualquier nombre que haya especificado para el host en /etc/conf.d/hostname o /etc/hostname (la ubicación del archivo varía según la distribución, pero debe encontrarse en /etc en alguna parte).

Si cambia el orden de los nombres, puede encontrar que "nombre de host -f" le da respuestas como "localhost" o "nombre de host: error del sistema". La única convención que he encontrado que funciona correctamente es especificar primero el FQDN.

Siempre configuro la barra de direcciones IPv6 local (::1) como:

::1 etest.midominio.com etest localhost

Sé que algunas distribuciones establecen el nombre de IPv6 en algo como ip6-localhost. Todavía no estoy usando IPv6, por lo que no puedo comentar cuál sería la mejor configuración para esta línea. Solo puedo decir que en una red IPv4 funciona tener ambas cadenas con el mismo nombre.

Hay un solo archivo en tu computadora que sirve como una pequeña puerta de enlace entre usted y la web. Se llama el archivo hosts. Si necesita bloquear sitios web o crear accesos directos web personalizados en Linux, puede aborde estos trabajos agregando o modificando algunas líneas en el archivo de hosts.

¿Qué es el archivo de hosts de Linux?

El archivo de hosts es un archivo de texto sin formato que todos los sistemas operativos utilizan para traducir nombres de host (también conocidos como direcciones web o URL) en direcciones IP. Cuando ingresa un nombre de host, como wikipedia.org, su sistema buscará en el archivo de hosts para obtener la dirección IP necesaria para conectarse al servidor apropiado.

Si abre el archivo de hosts, notará rápidamente que no tiene el directorio de todo Internet allí. En cambio, puede haber solo un par de líneas y eso es todo. ¿Lo que da?

Resulta que su sistema verificará primero el archivo de hosts antes de buscar un sitio en Con DynDNS desaparecido, aquí están los mejores proveedores, servicios y alternativas de DDNS dinámicos gratuitos para reemplazarlo.(generalmente su ISP servidor DNS s).

Esto significa que puede usar el archivo de hosts para agregar a lo que los servidores DNS no pueden proporcionar (como alias para ubicaciones en su red local, que de otro modo solo es posible si tiene un servidor DNS configurado dentro de su red local) o anular las direcciones IP que normalmente proporcionarían sus servidores DNS.

Por ejemplo, si solicita wikipedia.org, los servidores DNS devolverán la dirección IP de Wikipedia a su computadora. Pero si quisiera bloquear Wikipedia en esa computadora, puede agregar una entrada en el archivo de hosts que le diga a su computadora que wikipedia.org apunta a alguna otra dirección IP que es diferente de la dirección IP real de Wikipedia.

Hay muchas otras cosas que puede hacer con el archivo hosts, pero estos son solo algunos ejemplos básicos y otros usos dependen en gran medida de sus necesidades.

La ubicación del archivo de hosts de Linux

En Linux, puede encontrar el archivo de hosts en /etc/hosts. Dado que es un archivo de texto sin formato, puede abrir el archivo de hosts con su editor de texto preferido.

Sin embargo, dado que el archivo hosts es un archivo del sistema, necesitará derechos administrativos para guardar los cambios. Entonces, para editar el archivo usando un editor de texto basado en terminal de Linux como nano, primero deberá escribir sudo para obtener acceso de superusuario:

sudo nano /etc/hosts

Para usar un editor de texto gráfico como gedit, puede probar gksu en su lugar:

gksu gedit /etc/hosts

Tiene que usar la terminal para poder iniciar la aplicación apropiada con derechos administrativos. Simplemente reemplace nano o gedit con su editor de texto gráfico o basado en terminal favorito. Con nano, una vez que haya terminado de editar el archivo, presione Control + X, y luego y para confirmar sobrescribir los cambios.

Cómo agregar sitios al archivo de hosts

En el archivo de hosts, cada entrada tiene su propia línea. La sintaxis es simple. Escriba la dirección IP a la que desea que se traduzca el nombre de host, presione la tecla de tabulación en su teclado y luego escriba el nombre de host.

Por ejemplo, para bloquear Wikipedia, escribiría (recordando usar la tecla de tabulación en lugar de la barra espaciadora):

127.0.0.1 wikipedia.org

127.0.0.1 es la dirección IP de loopback que siempre apuntará a su propio sistema. Dado que la web no está almacenada en su máquina, su navegador dirá que no se puede encontrar el sitio. Ahora está efectivamente bloqueado.

Si se siente intimidado por la terminal, consulte la aplicación Domain Blocker de Linux Mint (también conocida como mintnanny). Agregará entradas en el archivo de hosts que apuntan los nombres de host que especifique a 127.0.0.1. Pero para hacer cualquier otra cosa, deberá realizar cambios con un editor de texto.

Crear accesos directos en el archivo de hosts

Si tiene una computadora en su red doméstica (por ejemplo, con una dirección IP de 192.168.1.10) que tiene un sitio web simple que hace algo útil por usted, puede escribir lo siguiente en su archivo de hosts:

192.168.1.10 servidor doméstico

Luego, si abre su navegador y simplemente escribe http://homeserver , se redirigirá automáticamente a 192.168.1.10. Y eso es mucho más fácil que escribir la dirección IP cada vez.

Alternativamente, puede usar el archivo de hosts para crear accesos directos a ciertos sitios en la web. Use un comando como nslookup para encontrar la dirección IP de un sitio web, luego agréguelo a su archivo de hosts junto con el acceso directo deseado, tal como en el ejemplo anterior. Pero esto solo funciona en sitios web con direcciones IP dedicadas. Probablemente no funcionará con la mayoría de los sitios que visite.

Problemas potenciales con el archivo de hosts

Por lo tanto, hemos establecido cómo realizar cambios en el archivo host, pero aún puede tener problemas al usar Google Chrome. Este navegador web tiende a ignorar el archivo hosts a menos que haga una de dos cosas posibles:

  1. Escriba http:// al comienzo de cada dirección. Por ejemplo, si tiene Wikipedia bloqueada en el archivo de hosts, Chrome evitará el bloqueo si simplemente escribe wikipedia.com en la barra de direcciones. Si escribe http://wikipedia.com en la barra de direcciones, seguirá el archivo de hosts.
  2. Deshabilite "Usar un servicio web para ayudar a resolver los errores de navegación" en la configuración de Chrome y luego no tendrá que escribir http:// al principio cada vez. este es uno de ¿Usas un Chromebook, pero te preocupa la privacidad? Modifique estas 7 configuraciones en el navegador Chrome en Chrome OS para mantenerse seguro en línea. vale la pena hacerlo de todos modos.

quiero hablar de algunos forma no estándar con el que puede abrir sitios en el navegador usando nombres cortos. Por ejemplo, en lugar de escribir "yandex.ru" en el navegador, simplemente puede escribir una letra "y". El archivo /etc/hosts nos ayudará con esto.

ARCHIVO /etc/hosts

El archivo /etc/hosts especifica la correspondencia entre la dirección IP y el nombre de host (nombre de host, dominio), así como sus alias (también llamados sinónimos, alias). Cuando accede a alguna dirección en la red, por ejemplo, http://yandex.ru, para acceder al sitio, el sistema primero necesita convertir la dirección del sitio en su dirección IP correspondiente, para esto el sistema consulta la IP dirección del servidor DNS. Si existe una correspondencia entre yandex.ru y una dirección IP en el archivo /etc/hosts, entonces el sistema utilizará esta dirección IP. Y dado que también podemos especificar un alias en el archivo /etc/hosts, mediante el cual estará disponible una dirección IP específica, podemos especificar, por ejemplo, el alias "y" para yandex.ru. En consecuencia, cuando solicite "y" en su navegador, el sistema leerá la dirección IP en el archivo /etc/hosts y abrirá el sitio yandex.ru. Eso es /etc/hosts, es una especie de DNS locales servidor.

Cómo encontrar la dirección IP de un sitio

Ahora necesitamos definir las direcciones IP de los sitios que queremos agregar a /etc/hosts. Vale la pena señalar que no todos los sitios tienen una dirección IP dedicada separada y es imposible acceder a ellos solo por dirección IP. Pero casi todos los sitios y portales principales tienen su propia dirección IP dedicada. Una manera fácil de averiguar la dirección IP de un sitio es usar el comando ping:

Ping site-address.ru

Por ejemplo, hagamos:

ping yandex.ru

El proceso de ping se mostrará en la pantalla (para interrumpir, presione Ctrl+C). Entonces, obtendremos la salida del comando ping de esta manera:

PING yandex.ru (87.250.250.11) 56(84) bytes de datos. 64 bytes de yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 tiempo=3,57 ms...

Aquí puede ver que yandex.ru corresponde a la dirección IP 87.250.250.11. Del mismo modo, realizamos para otros sitios.

Edición del archivo /etc/hosts

La edición del archivo /etc/hosts debe hacerse con cuidado para no estropear nada, ya que esto archivo del sistema y es importante no romper su sintaxis. Abra el archivo para editarlo, para hacer esto, ejecute en la línea de comando:

sudo gedit /etc/hosts

El contenido del archivo se parece a esto:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Las siguientes líneas son deseables para hosts compatibles con IPv6::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ...

La sintaxis del archivo /etc/hosts es muy simple:

dirección IP nombre de host [alias, ...]

Agreguemos nuevas líneas al archivo para diferentes sitios:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Guarde y cierre el archivo. Hemos registrado correspondencias entre direcciones IP, nombres de sitios y sus alias. Ahora ve a tu navegador y Barra de dirección simplemente ingrese "g", el sitio google.ru debería abrirse. Para abrir mail.ru, simplemente ingrese "m", para rbc.ru - solo "r", yandex.ru - "y".

Buen tiempo, queridos lectores. Estoy publicando la segunda parte. La sección actual se centra en implementacion de red en linux(cómo configurar una red en Linux, cómo diagnosticar una red en Linux y mantener el subsistema de red en Linux).

Configuración de TCP/IP en Linux para redes Ethernet

Trabajar con protocolos de red TCP/IP en Linux es suficiente para tener solo interfaz de bucle invertido, pero si necesita combinar hosts entre sí, por supuesto, necesita una interfaz de red, canales de transmisión de datos (por ejemplo, par trenzado), quizás algunos Equipo de red. Además, es necesario tener instalado (, etc.), normalmente suministrado en formato . También necesita tener una red (por ejemplo, /etc/hosts) y soporte de red.

Configuración de la red

Comencemos a comprender los mecanismos de red de Linux configurando manualmente la red, es decir, desde el caso en que dirección IP interfaz de red estático. Entonces, al configurar una red, debe tener en cuenta y configurar los siguientes parámetros:

dirección IP- como ya se mencionó en la primera parte del artículo - esta es una dirección única de la máquina, en formato de cuatro números decimales separados por puntos. Por lo general, cuando se trabaja en red local, seleccionado de rangos privados, por ejemplo: 192.168.0.1

Máscara de subred- también, 4 números decimales que determinan qué parte de la dirección se refiere a la dirección de red/subred y qué parte a la dirección del host. La máscara de subred es un número que se agrega (en forma binaria) con una dirección IP para saber a qué subred pertenece la dirección. Por ejemplo, la dirección 192.168.0.2 con la máscara 255.255.255.0 pertenece a la subred 192.168.0.

dirección de subred- determinado por la máscara de subred. Al mismo tiempo, no hay subredes para interfaces loopback.

Dirección de Difusión- la dirección utilizada para enviar paquetes de difusión que serán recibidos por todos los hosts en la subred. Por lo general, es igual a la dirección de subred con un valor de host de 255, es decir, para la subred 192.168.0, la transmisión será 192.168.0.255, de manera similar, para la subred 192.168, la transmisión será 192.168.255.255. No hay una dirección de transmisión para las interfaces de loopback.

Dirección IP de la puerta de enlace es la dirección de la máquina que es la puerta de enlace predeterminada para la comunicación con el mundo exterior. Puede haber varias puertas de enlace si la computadora está conectada a varias redes al mismo tiempo. La dirección de la puerta de enlace no se utiliza en redes aisladas (no conectadas a red global) debido a que estas redes no tienen a dónde enviar paquetes fuera de la red, lo mismo se aplica a las interfaces de bucle invertido.

Dirección IP del servidor de nombres (servidor DNS)- dirección del servidor que convierte los nombres de host en direcciones IP. Suele proporcionarlo el ISP.

Archivos de configuración de red de Linux (archivos de configuración)

Para comprender las redes en Linux, definitivamente le aconsejo que lea el artículo "". En general, todos trabajo de linux se basa en , que nace cuando se inicia el sistema operativo y produce sus descendientes, que a su vez hacen todo el trabajo necesario, ya sea ejecutando bash o un demonio. si, y todo Arranque de Linux se basa, en el que se escribe la secuencia completa de lanzamiento de pequeñas utilidades con varios parámetros, que se inician / detienen secuencialmente cuando el sistema se inicia / detiene. El subsistema de red de Linux se inicia de la misma manera.

Cada distribución de Linux tiene un mecanismo de inicialización de red ligeramente diferente, pero creo que la imagen general después de leer será clara. Si observa los scripts de inicio del subsistema de red de algunos distribución de linux, entonces, cómo establecer la configuración de red utilizando archivos de configuración quedará más o menos claro, por ejemplo, en Debian (tomaremos esta distribución como base), el script es responsable de inicializar la red /etc/init.d/redes viendo cuál:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Proporciona: red # Requerido-Inicio: mountkernfs $local_fs # Requerido-Parada: $local_fs # Debería -Inicio: ifupdown # Debería detenerse: ifupdown # Inicio predeterminado: S # Detención predeterminada: 0 6 # Descripción breve: Levante las interfaces de red. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || salida 0 . /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options todavía existe y será IGNORADO! Lea README.Debian de netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || devuelve 0 si [ -e /etc/iscsi/iscsi.initramfs ]; luego log_warning_msg "no se desconfiguran las interfaces de red: la raíz iSCSI está montada". exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

puede encontrar varias funciones que verifican los sistemas de archivos de red montados ( verificar_red_sistemas_de_archivos(), verificar_intercambio_de_red()), así como comprobar la existencia de alguna configuración aún incomprensible /etc/red/opciones ( función opciones_de_proceso()), y en la parte inferior, por el diseño caso "$1" en y de acuerdo con el parámetro introducido (start/stop/force-reload|restart o cualquier otro) realiza ciertas acciones. De estos muy ciertas acciones", el ejemplo del argumento de inicio muestra que la función se inicia primero opciones_de_proceso, luego la frase se envía al registro Configuración de interfaces de red y ejecute el comando si arriba -a. Si observa man ifup , puede ver que este comando lee la configuración del archivo /etc/red/interfaces y según la clave -a inicia todas las interfaces que tienen el parámetro auto.

Los comandos ifup e ifdown pueden usarse para configurar (o, respectivamente, desconfigurar) interfaces de red según las definiciones de interfaz en el archivo /etc/network/interfaces.

-a, --todos
Si se le da a ifup, afectará a todas las interfaces marcadas como automáticas. Las interfaces se abren en el orden en que se definen en /etc/network/interfaces. Si se le da a ifdown, afecta a todas las interfaces definidas. Las interfaces se desactivan en el orden en que aparecen actualmente en el archivo de estado. Solo se desactivarán las interfaces definidas en /etc/network/interfaces.

ip-server:~# cat /etc/network/interfaces # Este archivo describe las interfaces de red disponibles en su sistema # y cómo activarlas. Para obtener más información, consulte interfaces (5). # La interfaz de red loopback auto lo iface lo inet loopback # La interfaz de red principal allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet dirección estática 192.168.1.1 máscara de red 255.255.255.0 puerta de enlace 192.168.1.254 difusión 192.168.1.255

En esta línea de configuración Permitir conexión en caliente Y auto son sinónimos y las interfaces se mostrarán bajo comando si arriba -a. Eso, de hecho, es toda la cadena de operación del subsistema de red. De manera similar, en otras distribuciones: en RedHat y SUSE, la red se inicia mediante un script /etc/init.d/red. Después de examinarlo, también puede encontrar dónde se encuentra la configuración de la red.

/etc/hosts

Este archivo contiene una lista Direcciones IP Y nombres de host correspondientes a ellos (direcciones).El formato del archivo no es diferente del archivo maestro:

IP-servidor:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

Históricamente, este archivo se ha utilizado en lugar del servicio DNS. Actualmente, el archivo también se puede usar en lugar del servicio DNS, pero solo con la condición de que la cantidad de máquinas en su red se mida en unidades, y no en decenas o cientos, porque en este caso, tendrá que controlar el corrección de este archivo en cada máquina.

/etc/nombre de host

Este archivo contiene Nombre de host NetBIOS:

IP-servidor:~# cat /etc/hostname IP-servidor

Este archivo almacena los nombres y direcciones de las redes locales y de otro tipo. Ejemplo:

IP-servidor:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

Al usar este archivo, las redes se pueden administrar por nombre. Por ejemplo, agregue una ruta que no agregar ruta 192.168.1.12 , A agregar ruta.

/etc/nsswitch.conf

El archivo define orden de búsqueda de nombre de host/networks, las siguientes líneas son responsables de esta configuración:

Para hosts: hosts: archivos dns Para redes: redes: archivos

Parámetro archivos especifica usar los archivos especificados (/etc/servidores Y /etc/redes respectivamente), parámetro DNS especifica para usar el servicio DNS.

/etc/host.conf

El archivo especifica las opciones de resolución de nombres para el resolutor.

IP-servidor:~# cat /etc/host.conf multi on

Este archivo le dice a la biblioteca resolv que devuelva todas las direcciones de host válidas que se encuentran en el archivo /etc/hosts, no solo la primera.

/etc/resolv.conf

Este archivo define los parámetros del nombre de la red al mecanismo de traducción de la dirección IP. en lenguaje sencillo define la configuración de DNS. Ejemplo:

IP-servidor:~# cat /etc/resolv.conf servidor de nombres 10.0.0.4 servidor de nombres 10.0.0.1 dominio de búsqueda.local

primeras 2 lineas indicar servidores DNS. La tercera línea especifica los dominios de búsqueda. Si, al resolver un nombre, el nombre no es un nombre FQDN, entonces este dominio se sustituye como un "fin". Por ejemplo, al ejecutar el comando ping host, la dirección a la que se le hizo ping se convierte en host.domain.local. Se pueden leer otros parámetros en man resolv.conf . Muy a menudo, Linux utiliza la generación dinámica de este archivo, utilizando los llamados. programas /sbin/resolvconf. Este programa es un intermediario entre servicios que proporcionan dinámicamente servidores de nombres (por ejemplo, cliente DHCP) y servicios que utilizan datos del servidor de nombres. Para usar un archivo generado dinámicamente /etc/resolv.conf, debe convertir este archivo en un enlace simbólico a /etc/resolvconf/run/resolv.conf. En algunas distribuciones, la ruta puede ser diferente, esto definitivamente se escribirá en hombre resolvconf.

Configuración de la red

Después de familiarizarse con los principales archivos de configuración, puede consultar el archivo . El comando ya se ha mencionado anteriormente. si arriba, si abajo, pero estas herramientas no son del todo universales, por ejemplo, en distribuciones RH, estos comandos no están disponibles por defecto. Además, las nuevas distribuciones cuentan con una nueva herramienta de gestión de red de alto nivel, que pertenece al paquete iproute. A él (el paquete iproute) le dedicaré . Y en el post actual no lo consideraré. Los comandos que se describen a continuación pertenecen a .

Entonces, para estar seguro de que el comando funcionará en cualquier distribución de Linux, debe usar dos comandos básicos a la antigua. Esto es, y arp. Primer equipo (responsable de configurar interfaces de red(ip, máscara, puerta de enlace), segundo () - configuración de enrutamiento, tercero (arp) - gestión de tablas arp. Me gustaría señalar que la ejecución de estos comandos sin deshabilitar el script de inicio SystemV estándar del subsistema de red hará cambios solo hasta el primer reinicio / reinicio del servicio de red, porque. si lo piensas con tu cerebro, puedes entender que el guión /etc/init.d/redes en el próximo inicio, volverá a leer las configuraciones anteriores y aplicará la configuración anterior. En consecuencia, la salida para configurar permanentemente la configuración es el comando ifconfig con los parámetros apropiados: ingrese o corrija manualmente las configuraciones de interfaz de red correspondientes.

Del mismo modo, si el comando ifconfig con opciones faltantes(por ejemplo, solo la dirección IP), luego el resto se completa automáticamente (por ejemplo, la dirección de transmisión se agrega de forma predeterminada con una dirección de host que termina en 255 y la máscara de subred predeterminada es 255.255.255.0).

Enrutamiento para las interfaces disponibles en los núcleos modernos siempre es generado automáticamente por el núcleo. O más bien, las rutas directas a la red de acuerdo con la configuración de IP y la subred en la que se ve la interfaz elevada son formadas automáticamente por el kernel. El campo puerta de enlace (gateway) para tales entradas muestra la dirección de la interfaz de salida o *. En versiones anteriores del kernel (el número del kernel desde el cual las rutas comenzaron a subir automáticamente, no te lo diré), era necesario agregar la ruta manualmente.

Si es necesario organizar rutas, entonces necesitas usar . Puede agregar y eliminar rutas con este comando, pero nuevamente, esto solo ayudará hasta que reinicie /etc/init.d/networking (u otro script de red en su distribución). Para que las rutas se agreguen automáticamente, es necesario, al igual que con el comando ifconfig, agregar comandos para agregar rutas a rc.local, o corregir manualmente las configuraciones de la interfaz de red correspondiente (por ejemplo, en Deb - /etc/red/opciones).

por que reglas se forman rutas a las redes, Estoy dentro

Diagnóstico de red de Linux

Hay una gran cantidad de herramientas de diagnóstico de red en Linux, a menudo muy similares a las de Microsoft. Consideraré 3 utilidades principales de diagnóstico de red, sin las cuales será problemático identificar problemas.

Creo que esta utilidad es familiar para casi todos. El trabajo de esta utilidad es enviando así llamado paquetes ICMP servidor remoto, que se especificará en los parámetros del comando, el servidor devuelve los comandos enviados, y silbidocontando el tiempo necesario para que el paquete enviado llegue al servidor y regrese. Por ejemplo:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) bytes de datos. 64 bytes de www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 time=42.7 ms de www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 time=42.5 ms 64 bytes de www .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 time=42.5 ms 64 bytes de www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 time=41.9 ms ^C --- ya Estadísticas de ping de .ru --- 5 paquetes transmitidos, 5 recibidos, 0% de pérdida de paquetes, tiempo 4012ms rtt min/avg/max/mdev = 41.922/42.588/43.255/0.500ms

Como se puede ver en el ejemplo anterior, silbido nos da mucha información útil. En primer lugar, descubrimos que podemos establecer una conexión con el host ya.ru(a veces dicen que "ya.ru host está disponible para nosotros"). En segundo lugar, vemos eso DNS funciona correctamente, porque el nombre "ping" se convirtió correctamente en una dirección IP (PING ya.ru (87.250.251.3)). Más, en campo icmp_seq= establecer la numeración de los paquetes enviados. A cada paquete enviado se le asigna secuencialmente un número, y si hay "lagunas" en esta numeración, esto nos indicará que la conexión con el "ping" es inestable, y también puede significar que el servidor al que se envían los paquetes está sobrecargado. Por valor tiempo = vemos, cuanto tiempo viajo el paquete al 87.250.251.3 y viceversa. Puede detener la utilidad de ping presionando Ctrl+C.

También, utilidad de ping interesante porque puede permitirle ver exactamente dónde surgieron los problemas. Digamos utilidad de ping muestra un mensaje red no accesible u otro mensaje similar. Lo más probable es que esto indique una configuración incorrecta de su sistema. En este caso, puede enviar paquetes a la dirección IP del ISP para averiguar dónde ocurre el problema (entre la PC local o "más allá"). Si está conectado a Internet a través de un enrutador, puede enviar paquetes a su IP. En consecuencia, si el problema aparece ya en esta etapa, esto indica una configuración incorrecta del sistema local, o daño en el cable, si el enrutador responde y el servidor del proveedor no, entonces el problema está en el canal de comunicación del proveedor, etc. Finalmente, si la conversión del nombre a IP falla, entonces puede verificar la conexión a través de IP, si las respuestas son correctas, entonces puede adivinar que el problema está en DNS.

Cabe señalar que esta utilidad no siempre es una herramienta de diagnóstico confiable. El servidor remoto puede bloquear las respuestas a las solicitudes ICMP.

trazar ruta

En términos simples, el equipo se llama seguimiento de ruta. Como puede entender por el nombre, esta utilidad mostrará qué ruta fueron los paquetes al host. utilidad de rastreo de ruta algo similar a silbido, pero muestra información más interesante. Ejemplo:

# traceroute ya.ru traceroute a ya.ru (213.180.204.3), 30 hops max, paquetes de 60 bytes .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5.701 ms 5.636 ms 4 (194.186.6.177) 81.430ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.011 ms 6 213.33.2 01.230 (213.33.201.230) 43.322ms 41.783ms 41 106 ms 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

Como puede ver, puede rastrear la ruta desde el enrutador del proveedor 243-083-free.kubtelecom.ru (213.132.83.243) (sur de Rusia) hasta el host final en www.yandex.ru (213.180.204.3) en Moscu.

excavar

Esta utilidad envía consultas a los servidores DNS y devuelve información sobre el dominio especificado. Ejemplo:

# cavar @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 servidor encontrado) ;; opciones globales: imprimir cmd ;; obtuve respuesta: ;; ->>ENCABEZADO<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

comando de excavación envió una solicitud servidor DNS - ns.kuban.ru (@ns.kuban.ru- este parámetro es opcional, en este caso la fuente de información sobre DNS se tomará del servidor desde la configuración de su sistema) sobre el nombre de dominio roboti.ru. Como resultado, recibí una respuesta, en la que podemos ver en la sección SECCIÓN DE RESPUESTAS información sobre las direcciones IP del dominio, en el apartado SECCIÓN DE AUTORIDAD información sobre los llamados. servidores DNS autorizados. La tercera línea desde abajo nos dice qué servidor proporcionó la respuesta.

Otras utilidades de diagnóstico

ping, dig y otras utilidades de diagnóstico con parámetros se pueden encontrar en la publicación.

Conexión de una nueva tarjeta de red

La conexión y el lanzamiento de una nueva tarjeta de red se reduce a unos pocos pasos:

1. Conexión física de la tarjeta

3. Vea la salida para que el sistema detecte una nueva tarjeta de red:

Veamos la salida ANTES de conectar una nueva tarjeta:

Servidor:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Conexión de red Intel(R) PRO/1000 [ 5.130191] e1000: eth1: e1000_probe: Conexión de red Intel(R) PRO/1000 [ 15.285527] e1000: eth2: e1000_watchdog: NIC El enlace es Hasta 1000 Mbps Full Duplex, Control de flujo: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Control de flujo: RX

el resultado muestra que el sistema tiene 2 tarjetas de red eth1 y eth2. Conectamos el tercero y miramos la salida:

Servidor:~# dmesg | GREP ETH [4.720513] E1000: ETH0: E1000_PROBE: Intel (R) PRO/1000 Conexión de red [5.132029] E1000: ETH1: E1000_Probe: Intel (R) PRO/1000 Conexión de red [5.534684] E1000: ETH2: E1000_Probe: Intel (R (R) ) Conexión de red PRO/1000 [ 39.274875] udev: Interfaz de red renombrada eth2 a eth3 [ 39.287661] udev: Interfaz de red renombrada eth1_rename_ren a eth2 [ 45.670744] e1000: eth2: e1000_watchdog: El enlace NIC está activo 1000 Mbps Full Duplex, Control de flujo: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC Link está activo 1000 Mbps Full Duplex, control de flujo: RX [ 96.977468] e1000: eth3: e1000_watchdog: NIC Link está activo 1000 Mbps Full Duplex, control de flujo: RX

EN dmesg Vemos que ha aparecido una nueva tarjeta de red: eth3, que en realidad es eth2, pero el administrador de dispositivos udev ha cambiado su nombre a eth3, y eth2 es en realidad un eth1 renombrado (hablaremos de udev en una publicación separada). La aparición de nuestra nueva red en dmesg nos dice que la tarjeta de red soportado básico y correcto decidido. Lo único que queda es configurar una nueva interfaz en /etc/red/interfaces(Debian) porque el script de inicio no inicializó el mapa dado /etc/init.d/red. ifconfig ve esta tarjeta:

Servidor:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica: 1 Paquetes RX: 311847 errores: 0 descartados: 0 desbordamientos: 0 marco: 0 Paquetes TX: 126 errores: 0 descartados: 0 desbordados: 0 operador: 0 colisiones: 0 txqueuelen: 1000 Bytes RX: 104670651 (99,8 MiB) Bytes TX: 16184 (15,8 KiB)

pero además - no se configura. La forma de configurar una tarjeta de red se discutió anteriormente.

Resumen

Creo que eso es todo por hoy. Cuando comencé a escribir este artículo, pensé que encajaría en una publicación, pero resultó ser enorme. Por lo tanto, se decidió dividir el artículo en dos. En total, traté de establecer, no paso a paso, cómo configurar la red, sino establecer el principio y explicar cómo se inicia y funciona la red en Linux. Realmente espero haber tenido éxito. Estaré encantado de sus comentarios y adiciones. Con el tiempo, complementaré el artículo.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: