Menú
Gratis
Registro
hogar  /  Internet/ Redes en Linux. Red, redes en sistemas Unix Averigüe quién usa la red Linux

Redes en Linux. Red, redes en sistemas Unix Averigüe quién usa la red Linux

Una computadora moderna proporciona al usuario muchas funciones, sin la mitad de las cuales podría prescindir fácilmente. A día de hoy, existe un debate en la red sobre si necesita gráficos 3D y sonido de alta calidad. Sin embargo, hay una función, cuya necesidad nadie discute: este es el acceso a la red.

Los conocedores del sistema operativo gratuito argumentan que Linux está construido para la web, como un pájaro para volar. Es cierto que inmediatamente tienen en cuenta el hecho de que solo la élite verá el verdadero poder de este sistema, ya que configurar interfaces de red es una tarea difícil y requiere un conocimiento serio.

Es difícil discutir con esta declaración, ya que su naturaleza comprensiva es obvia. De hecho, sin tener habilidades especiales, incluso los taburetes no se pueden armar. Sin embargo, aquí estamos ante una cierta exageración. Linux es un sistema simple. El usuario de Windows tiene que mantener mucha más información en la memoria para poder trabajar cómodamente con ella.

Para que la última afirmación no parezca infundada, considere el procedimiento para configurar una red en un sistema Linux. Además, como es costumbre en el mundo del software libre, no hay un solo camino, sino varias opciones. Y el propio usuario elegirá la que más le guste.

Comando ifconfig

Por regla general, los controladores del adaptador de red se conectan durante la instalación del sistema. Para verificar esto, simplemente escriba ifconfig -a en la consola. Por cierto, este nombre no es en absoluto un nombre alterado del comando ipconfig, familiar para Usuarios de Windows. Es la abreviatura de Configuración de interfaz.

En respuesta, el usuario recibirá información sobre las características de la conexión Ethernet y los parámetros de la llamada interfaz de anillo. El primero se designa como eth0 (si hay varios adaptadores de red, cada uno tendrá su propia sección eth[número de secuencia]), y el segundo como lo.

El mismo comando se puede utilizar para activar la interfaz. La mayoría de las veces se ve así:

ifconfig [nombre de interfaz] netmask [máscara de red] broadcast [dirección de transmisión] arriba.

Sin embargo, en la práctica, es posible que no se especifiquen todos los parámetros. Por ejemplo, si la máscara de red y la dirección de transmisión no se configuran explícitamente, el sistema utilizará los valores predeterminados (dirección de red con parte de máquina 255 y máscara 255.255.255.0).

Se debe utilizar la opción punto a punto para activar PLIP, SLIP y PPP. En este caso, las interfaces se nombrarán así:

– plip[número de secuencia que comienza desde cero] — para PLIP;

– slip[número de secuencia que comienza desde cero] — para SLIP;

– ppp[número de secuencia que comienza desde cero] — para PPP.

Por ejemplo, para configurar una interfaz PLIP que conecta dos computadoras en las direcciones [dirección1] y [dirección2], escriba en la consola:

ifconfig plip0 [dirección1] pointopoint [dirección2].

La desactivación de una interfaz se realiza con el comando ifconfig [designación de interfaz] down. Por lo tanto, usando solo un comando, puede controlar un dispositivo de red. Y, por supuesto, no tiene sentido mantener todas sus opciones en la memoria: si olvidó algo, man ifconfig siempre vendrá al rescate.

comando de ruta

El comando de ruta es responsable del enrutamiento. Es decir, le indica al sistema a qué red deben enviarse los paquetes informáticos para que lleguen a su destino.

Este comando muestra la tabla de enrutamiento. Además, cada entrada consta de varios campos:

– Destino: dirección IP del destino de la ruta;

– Puerta de enlace: dirección IP o nombre de la puerta de enlace (si no está presente, se usa el símbolo "*");

– Genmask — máscara de red de ruta;

– Banderas: tipo de ruta o indicador de estado (puede tomar los siguientes valores: U—activa, H—host, C—gateway, D—dinámica, M—modificada);

– MSS es la cantidad máxima de datos transmitidos a la vez;

– Métrica: número de saltos a la puerta de enlace;

– Ref: número de solicitudes a la ruta en un momento determinado;

Ventana: la cantidad máxima de datos para el lado receptor;

– Uso: número de paquetes transmitidos a lo largo de la ruta;

– Iface: tipo de interfaz.

Para agregar una dirección a la tabla de enrutamiento, use el comando de ruta con la opción de agregar. Cabe señalar que si la interfaz correspondiente ya se ha configurado mediante ifconfig, entonces el propio sistema puede obtener información al respecto. En este caso, no tiene sentido usar especificadores, basta con especificar la dirección del destino. Todos los demás datos serán redundantes y, por lo tanto, opcionales.

Obviamente, se debe realizar al menos una entrada en la tabla de enrutamiento para poder trabajar en la red. El destino predeterminado se indica mediante la etiqueta predeterminada.

Utilice el comando route del -net para eliminar una ruta.

Otros comandos

Si la configuración de la interfaz se almacena en el sistema, los comandos ifup y ifdown se pueden usar para activar y desactivar rápidamente, de la siguiente manera:

– ifup [designación de interfaz] — para habilitar.

– ifdown [designación de interfaz]: para desactivar.

El comando netstat se usa para mostrar una lista de conexiones de red, tablas de enrutamiento, estadísticas de interfaz, etc. Entre otras cosas, permite visualizar el estado de la conexión, lo cual es útil a la hora de analizar el sistema para su seguridad.

Por ejemplo, LISTEN significa que el servicio está esperando una conexión a otra máquina y ESTABLECIDO significa que ya se ha establecido. Si no ejecutar programas, para el cual dicho estado es normal, entonces esto puede ser inseguro e indicar un ataque al host.

Archivos de configuración

Los comandos anteriores son suficientes para configurar la red. Sin embargo, estas utilidades tienen un inconveniente importante: el resultado de su trabajo será válido solo para una sesión. Después del reinicio, todo tendrá que empezar de nuevo. Por esta razón, es mucho más conveniente editar los archivos de configuración una vez.

A pesar de que su dispositivo es independiente de la distribución, pueden ubicarse en diferentes lugares. Por ejemplo, en Debian, el archivo /etc/init.d/network es responsable de configurar las interfaces y el enrutamiento, y en Slackware (MOPS, Zenwalk) es /etc/rc.d/rc.inet1. Solo hay un consejo universal que se puede dar a este respecto: cuando comience a trabajar con un producto en particular, asegúrese de leer la documentación técnica.

Como ejemplo, considere la distribución ASPLinux. El directorio /etc/sysconfig/network-scripts/ se utiliza para almacenar la configuración de la interfaz de red. Cada uno de ellos está definido por el archivo ifcfg-[designador de interfaz].

Este archivo consta de líneas de la forma: [parámetro]=[valor]. Los parámetros pueden ser los siguientes:

– NOMBRE: nombre de conexión arbitrario;

– DISPOSITIVO: designación de interfaz;

– IPADDR — dirección IP de la interfaz;

– MÁSCARA DE RED—máscara de red;

– GATEWAY — dirección IP de la puerta de enlace;

– ONBOOT — puntero a la necesidad de activar durante el arranque;

– USERCTL: indica que un usuario normal puede activar la interfaz;

– MTU: valor de MTU (tamaño máximo de paquete transmitido a través de la interfaz);

– PEERDNS: indica la necesidad de utilizar los servidores DNS obtenidos cuando se activó la interfaz;

– DNS1, DNS2: direcciones IP de los servidores DNS primario y secundario;

– BOOTPROTO: indicador del modo de configuración de la interfaz (ninguno: con los parámetros del usuario, boottp o dhcp: con los protocolos apropiados).

Los archivos /etc/host.conf y /etc/resolv.conf son los responsables de configurar el DNS. El primero es el habitual. Archivo de texto, que especifica las reglas para el funcionamiento del subsistema de búsqueda de nombres y direcciones de hosts. Su estructura es típica para todos los objetos de este tipo: cada línea contiene un parámetro y sus valores (puede haber varios de ellos).

El parámetro order especifica el método para encontrar la dirección IP del nodo. Puede tomar los siguientes valores: bind (usar servidor DNS), hosts (usar base de datos de direcciones local), nis (usar servidor NIS). Deben estar en el orden en que se realizará la búsqueda.

El parámetro trim se utiliza para describir excepciones. La línea correspondiente especifica el dominio que se eliminará automáticamente del nombre.

El parámetro de reorden puede tomar valores de encendido/apagado. Es responsable de habilitar el modo de operación en el que las direcciones locales tienen prioridad sobre todas las encontradas. Spoofalert activa el modo de escribir los resultados de la verificación de nombres falsos en el registro del sistema. Y multi le permite personalizar el método de procesamiento de la base local de nodos. Por supuesto, no es necesario especificar todos los parámetros. En la práctica, a menudo hay archivos /etc/host.conf que constan de dos líneas.

El archivo /etc/resolv.conf describe algunas de las opciones que utiliza el subsistema de búsqueda de nombres. Puede constar de las siguientes líneas:

– servidor de nombres: direcciones de servidores DNS;

– dominio — nombre del dominio local para buscar direcciones en la red local;

– buscar: lista de dominios para buscar direcciones.

Obviamente, el dominio y los parámetros de búsqueda no pueden ser relevantes al mismo tiempo. Si el sistema detecta esta contradicción, considerará solo la última entrada.

¿O Linux no puede usar un servidor de nombres en absoluto? Teóricamente sí, aunque en la práctica el método que se describe a continuación se utiliza únicamente en redes muy pequeñas, donde no se justifican otros métodos.

La forma es usar el archivo /etc/hosts. Es una lista de nombres de host y sus direcciones IP, y se puede especificar más de un nombre para una dirección.

Herramientas de personalización gráfica

Aunque configurar una red editando directamente los archivos de configuración no es una tarea muy difícil, casi todas las distribuciones modernas ofrecen al usuario herramientas gráficas diseñadas para solucionarlo. Incluso Zenwalk, que generalmente no se considera amigable en el sentido de la palabra de Windows, le permite configurar interfaces de red sin usar la línea de comando.

Y hoy tenemos derecho a decir que además de las configuraciones elementales, el usuario puede realizar operaciones bastante complejas. En particular, hace algunos años, el tema de configurar una conexión VPN en Linux ocupó un lugar destacado en los foros de soporte técnico, y todos los métodos propuestos para resolver este problema no pueden llamarse simples. Pero los tiempos están cambiando.

Entonces, los usuarios de la distribución Linux XP Desktop configuran una conexión VPN usando herramienta útil Con interfaz gráfica de usuario, que es incluso más simple que la herramienta equivalente en Windows. Aproximadamente lo mismo se ofrece al consumidor por ASPLinux, Mandriva y SuSE Linux.

Con todo, Linux está realmente construido para la web. Y esto puede ser apreciado no solo por usuarios experimentados, sino también por principiantes.

linux

# ethtool eth0 # Espectáculo ethernet estado# ethtool -s eth0 velocidad 100 dúplex completo # Configuración del modo de fuerza Dúplex completo de 100 Mbit # ethtool -s eth0 autoneg desactivado # Deshabilitar detección automática# ethtool -p eth1 # Indicador de tarjeta de red flash: si es compatible# mostrar enlace ip # Lista de interfaces de red en Linux (similar a ifconfig) # enlace ip configurado eth0 # Habilitar interfaz de red (o deshabilitar). Analógico " ifconfig eth0 arriba" # Mostrar dirección IP # Lista de todas las direcciones IP en Linux (similar a ifconfig) # Mostrar número de ip # Igual que arp-a

Otros sistemas operativos

# ifconfig fxp0 # Verificar campo " medios de comunicación"en# arp-a # Mostrar tabla de enrutamiento de red, enrutador (o host) (todos los sistemas operativos)# ping cb.vu # Ping host # traceroute cb.vu # Imprimir la ruta de la ruta al destino# ifconfig fxp0 media 100baseTX mediaopt dúplex completo # Dúplex completo de 100 Mbit(BSD libre)# netstat-s # Estadísticas de todo el sistema para todos los protocolos de red Herramientas de depuración de red adicionales que no siempre están instaladas de forma predeterminada, pero que no son difíciles de encontrar: # arping 192.168.16.254 # Hacer ping al nivel ethernet # tcptraceroute -f 5 cb.vu # Usos tcp en lugar de ICMP para rastrear la ruta a través del firewall

Enrutamiento de red

Impresión de la tabla de enrutamiento

# ruta -n #Linux o usa " ruta ip" # netstat -rn # Linux, BSD y UNIX # ruta de impresión # Windows

Agregar y eliminar una ruta

FreeBSD
# ruta agregar 212.117.0.0/16 192.168.1.1 # ruta eliminar 212.117.0.0/16 # ruta agregar predeterminada 192.168.1.1 Agregar ruta de red permanente a /etc/rc.conf
static_routes="miruta" route_myroute="-net 212.117.0.0/16 192.168.1.1"
linux
# ruta agregar -net 192.168.20.0 máscara de red 255.255.255.0 gw 192.168.16.254 # ruta ip agregar 192.168.20.0/24 a través de 192.168.16.254 # Como arriba con ruta ip# ruta agregar -net 192.168.20.0 máscara de red 255.255.255.0 dev eth0 # ruta agregar predeterminado gw 192.168.51.254 # ruta ip agregar predeterminado a través de 192.168.51.254 dev eth0 # Como arriba con ruta ip# ruta eliminar -net 192.168.20.0 máscara de red 255.255.255.0
Solaris
# ruta agregar -net 192.168.20.0 -netmask 255.255.255.0 192.168.16.254 # ruta agregar por defecto 192.168.51.254 1 # 1 = saltar a la siguiente puerta de enlace# cambio de ruta por defecto 192.168.50.254 1 Las entradas permanentes se establecen en /etc/enrutador predeterminado.

ventanas

# Ruta agregar 192.168.50.0 máscara 255.255.255.0 192.168.51.253 # Ruta agregar 0.0.0.0 máscara 0.0.0.0 192.168.51.254 Usar " añadir-p para hacer la ruta permanente.

Configuración de direcciones IP adicionales

linux

# ifconfig eth0 192.168.50.254 netmask 255.255.255.0 # Primera dirección IP # ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0 # Segunda dirección IP # ip addr add 192.168.50.254/24 dev eth0 # Comandos equivalentes para ip# dirección IP agregar 192.168.51.254/24 dev eth0 etiqueta eth0:1

FreeBSD

#ifconfig fxp0 inet 192.168.50.254/24 # Dirección IP principal de la interfaz de red# ifconfig fxp0 alias 192.168.51.254 máscara de red 255.255.255.0 # Agregar una segunda dirección IP como alias# ifconfig fxp0 -alias 192.168.51.254 # Eliminar alias para la segunda dirección IP Entradas permanentes en /etc/rc.conf
ifconfig_fxp0="inet 192.168.50.254 máscara de red 255.255.255.0" ifconfig_fxp0_alias0="192.168.51.254 máscara de red 255.255.255.0"

Solaris

Comprobación de la configuración con ifconfig -a# ifconfig hme0 plomada # Instalar tarjeta de red # ifconfig hme0 192.168.50.254 netmask 255.255.255.0 up # Primera dirección IP # ifconfig hme0:1 192.168.51.254 netmask 255.255.255.0 up # Segunda dirección IP

Cambio de dirección MAC

Primero debes desactivar la interfaz de red.. y no le digas a nadie para que quieres cambiar la MAC por...) # ifconfig eth0 down # ifconfig eth0 hw ether 00:01:02:03:04:05 # Linux # ifconfig fxp0 link 00 :01:02:03:04:05 # FreeBSD # ifconfig hme0 ether 00:01:02:03:04:05 # Solaris # sudo ifconfig en0 ether 00:01:02:03:04:05 # Mac OS X Tiger # sudo ifconfig en0 lladdr 00:01:02:03:04:05 # Mac OS X Leopard Bajo Windows, hay muchas herramientas para cambiar la dirección MAC, como etherchange o google para "Mac Makeup", " golpe".

Puertos de red

Lista de puertos abiertos: # netstat -an | grep ESCUCHAR # lsof -i # Listar todas las conexiones a Internet de Linux#lista de calcetines # Lista de puertos Linux abiertos#calcetines-4 # Lista de aplicaciones escuchando en puertos abiertos# netstat -anp --udp --tcp | grep ESCUCHAR # Linux # netstat -tup # Lista de conexiones activas entrantes/salientes de Linux# netstat-tupl # Lista de puertos de escucha de Linux# netstat-ano # Windows

cortafuegos

linux

# iptables -L -n -v # Estado Abrir cortafuegos de iptables # iptables -P INPUT ACCEPT # Establecer la política predeterminada de la cadena INPUT para "abrir todo"# iptables -P ADELANTE ACEPTAR # igual que la línea anterior, solo para la cadena FORWARD# iptables -P SALIDA ACEPTAR # similar para la cadena de SALIDA#iptables-Z # Restablecer contadores en todas las cadenas#iptables -F # Restablecer todas las cadenas#iptables-X # Eliminar todas las cadenas

FreeBSD

# Mostrar ipfw # Estado # lista ipfw 65535 # Tipo de firewall Epyfnm, cerrado o abierto# sysctl net.inet.ip.fw.enable=0 # Deshabilitar el cortafuegos regular IPFW # sysctl net.inet.ip.fw.enable=1 # Habilitar firewall normal IPFW

Reenvío de ruta

linux

Verifique y, si es necesario, habilite el reenvío de rutas # cat /proc/sys/net/ipv4/ip_forward # Verifique si el reenvío está habilitado o no, 0=apagado, 1=encendido # echo 1 > /proc/sys/net/ipv4/ip_forward o agregar a /etc/sysctl.conf:

FreeBSD

Verifique el estado del reenvío y habilítelo si es necesario: # sysctl net.inet.ip.forwarding # Comprobar si el reenvío está activado o no, 0=desactivado, 1=activado# sysctl net.inet.ip.forwarding=1 # sysctl net.inet.ip.forwarding=1 # Para ruta dedicada o firewall Entrada en /etc/rc.conf:
gateway_enable="SÍ" # Establecer en SÍ si este host es una puerta de enlace

Solaris

# ndd -set /dev/ip ip_forwarding 1 # Habilitar el reenvío de rutas 0=desactivado, 1=activado

NAT de traducción de direcciones de red

linux

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Encender NAT # iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT \ --to 192.168.16.44:22 # Puerto de reenvío 20022 al puerto IP interno ssh # iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995 -j DNAT \ --to 192.168.16.254:993-995 # Reenviar puertos fuera de rango 993-995 # ip route vaciar caché # iptables -L -t nat # Comprobar el estado de la tabla NAT

FreeBSD

# natd -s -m -u -dynamic -f /etc/natd.conf -n fxp0 O agregue a /etc/rc.conf: firewall_enable="YES" # SÍ - Activar cortafuegos firewall_type="abrir" # Tipo de cortafuegos (ver /etc/rc.firewall) natd_enable="SÍ" # Habilitar natd (si firewall_enable == SÍ) natd_interface="tun0" # La interfaz de red o dirección IP a usar natural natd_flags="-s -m -u -dynamic -f /etc/natd.conf" Para el reenvío de puertos: # cat /etc/natd.conf same_ports sí use_sockets sí unregistered_only # redirect_port tcp insideIP:2300-2399 3300-3399 # Rango de puertos redirección_puerto UDP 192.168.51.103:7777 7777

DNS

En Unix, los registros DNS son válidos para todas las interfaces y se almacenan en /etc/resolv.conf. La zona a la que pertenece el host también se almacena en este archivo. Configuración mínima:
servidor de nombres 78.31.70.238 búsqueda sleepyowl.net intern.lab dominio sleepyowl.net
Verifique el nombre de dominio: # nombre de host -d # Analógico nombrededominiodns

ventanas

En Windows, el DNS se configura por interfaz. Para ver la configuración actual y vaciar la caché de DNS, use: # ipconfig /? # Ayuda sobre el uso del comando# ipconfig / all # Ver toda la información, incluido el DNS

Borrar la caché de DNS

Puede borrar el caché de DNS, pero recuerde que algunas aplicaciones usan su propio caché personal (por ejemplo, Firefox) y restablecerlas no funcionará. # /etc/init.d/nscd reiniciar # Reanudar nscd(nombre demonio de almacenamiento en caché) Linux/BSD/Solaris# lookupd -flushcache # OS X Tiger # dscacheutil -flushcache # OS X Leopard y más reciente# ipconfig /flushdns # Windows

Reenvío de consultas DNS

Excavar, una utilidad para comprobar la configuración de DNS. Por ejemplo, usamos un servidor DNS público para verificar 213.133.105.2 ns.segundo-ns.de. Preste atención de qué servidor recibirá la respuesta el cliente (respuesta simplificada). # excavar sleepyowl.net sleepyowl.net. 600 EN A 78.31.70.238;; SERVIDOR: 192.168.51.254#53(192.168.51.254) Enrutador 192.168.51.254 , enviado como respuesta, tipo de registro A. Se puede especificar un registro de cierto tipo para la consulta y el servidor DNS con el símbolo @: # dig MX google.com # dig @127.0.0.1 NS sun.com # Comprobar el servidor dns local# dig @204.97.212.10 NS MX heise.de # Solicitud a externo servidor DNS # cavar AXFR @ns1.xname.org cb.vu # Obtenga toda la zona (reenvío de zona) del servidor dns Otra utilidad útil anfitrión: # anfitrión -t MX cb.vu # Obtener tipo de registro MX ( Intercambio de correo) # anfitrión -t NS -T sun.com # Obtener registro NS sobre conexión TCP# host -a sleepyowl.net # Obtener todo

Volver solicitudes

Puede averiguar el nombre por dirección IP utilizando utilidades como excavar, anfitrión o nslookup: # cavar -x 78.31.70.238 # host 78.31.70.238 # nslookup 78.31.70.238

archivo /etc/servidores

Los hosts individuales se pueden configurar en un archivo /etc/hosts, en vez de correr llamado, para resolver un nombre en una dirección. El formato es: 78.31.70.238 sleepyowl.net sleepyowl Prioridad entre archivos Hospedadores Y DNS solicitud, se puede configurar en /etc/nsswitch.conf Y /etc/host.conf. Un archivo similar también está presente en Windows y generalmente se encuentra en c:\windows\system32\drivers\etc

Protocolo de direccionamiento de red dinámica - DHCP

h4>Linux Algunas distribuciones ( SuSE) utilizado como cliente dhcpd. Interfaz predeterminada eth0. # dhcpcd -n eth0 # Actualizar (no siempre funciona)# dhcpcd -k eth0 # Suelta y apaga Alquiler(el período de arrendamiento es el tiempo durante el cual se puede emitir una dirección IP a un host específico en la red) y toda la información se almacena en: /var/lib/dhcpcd/dhcpcd-eth0.info

FreeBSD

Usos de FreeBSD (y Debian) dhcliente. Para configurar la interfaz de red deseada (por ejemplo, bge0): # dhclient bge0 El período de arrendamiento y toda la información se almacenan en: /var/db/dhclient.leases.bge0 Uso /etc/dhclient.conf para agregar opciones o cambiar las existentes: # cat /etc/dhclient.conf interface "rl0" ( anteponga los servidores de nombre de dominio 127.0.0.1; nombre de dominio predeterminado "sleepyowl.net"; sustituya el nombre de dominio "sleepyowl.net" ; )

ventanas

dhcp el contrato de arrendamiento se puede actualizar con ipconfig: # ipconfig /renovar # Actualizar todos los adaptadores# ipconfig /renovarLAN # Actualice el adaptador de red llamado "LAN"# ipconfig /liberar WLAN # Liberar el adaptador de red llamado "WLAN" Es una buena idea dar a los adaptadores de red nombres más descriptivos.

Análisis de tráfico

Análisis de tráfico con tcpdump

# tcpdump -nl -i bge0 no puerto ssh y src \(192.168.16.121 o 192.168.16.54\) # tcpdump -n -i eth1 net 192.168.16.121 # Muestreo entrante/saliente por una dirección IP# tcpdump -n -i eth1 red 192.168.16.0/24 # Seleccione entrantes / salientes por dirección de red# tcpdump -l > volcado && cola -f volcado # Salida a través del búfer# tcpdump -i rl0 -w tráfico.rl0 # Escribir encabezados de paquetes en un archivo binario# tcpdump -i rl0 -s 0 -w tráfico.rl0 # Escribir paquetes completos en binario# tcpdump -r tráfico.rl0 # Leer del archivo (también para ethereal) para un análisis más detallado# tcpdump puerto 80 # Comandos clásicos# tcpdump host google.com # tcpdump -i eth0 -X puerto \(110 o 143\) # Comprobar seguridad estallido o imágen # tcpdump -n -i eth0 icmp # Muestra ICMP (silbido) paquetes# tcpdump -i eth0 -s 0 -A puerto 80 | grep OBTENER # -s 0 para paquetes completos, -A Para ASCII Algunas opciones importantes:
  • -A- Imprimir texto de lotes (sin encabezados)
  • -X- Imprimir paquetes a maleficio Y ASCII
  • -l- Habilitar almacenamiento en búfer de salida
  • -D- Mostrar todas las interfaces de red activas
en quirófanos sistemas Windows para analizar el tráfico, puede utilizar viento de www.winpcap.org. Windump-D enumerará las interfaces.

Escaneo en red con nmap

Nmap es un escáner de seguridad multifuncional con la capacidad de determinar el instalado Sistema operativo. Funciona en todos, también hay una versión para Windows. Si no escanea sus servidores, los simpatizantes lo harán por usted). # nmap cb.vu # Escanear todos los puertos de host reservados# nmap -sp 192.168.16.0/24 # Averigüe qué IP usa qué host en la red 0/24# nmap -sS -sV -O cb.vu # Conducta sigilo SYN escaneo con tipo de sistema operativo y detección de versión VERSIÓN DEL SERVICIO DEL ESTADO DEL PUERTO 22/tcp open ssh OpenSSH 3.8.1p1 FreeBSD-20060930 (protocolo 2.0) 25/tcp open smtp Sendmail smtpd 8.13.6/8.13.6 80/tcp open http Apache httpd 2.0.59 ((FreeBSD) DAV/ 2 PHP / 4. [...] Ejecución: FreeBSD 5.X Tiempo de actividad 33.120 días (desde el viernes 31 de agosto a las 11:41:04 de 2007) fping(fping.sourceforge.net), comprobando los hosts rotativos.

Control de tráfico (QoS)

El control de tráfico gestiona la cola, el orden, la programación y otros parámetros de tráfico en la red. Los siguientes ejemplos son pequeños trucos prácticos para Linux y FreeBSD para optimizar el uso del ancho de banda.

Límite de carga

linux
Para módem de 512 kbit. # tc qdisc add dev eth0 root tbf rate 480kbit latencia 50ms burst 1540 # tc -s qdisc ls dev eth0 # Estado # tc qdisc del dev eth0 root # Eliminar cola# tc qdisc change dev eth0 root tbf rate 220kbit latencia 50ms burst 1540
FreeBSD
Usos de FreeBSD red ficticia- formador de tráfico integrado en el firewall estándar del sistema operativo, IPFW o cargado como un módulo del kernel de FreeBSD. Tubería, los llamados canales de tráfico, limitan el ancho de banda en (bit/s|Byte/s), 0 significa ilimitado. Por ejemplo, limitemos el ancho de banda a 500 Kbps. # kldload red ficticia # Cargue el módulo si es necesario# ipfw pipe 1 config bw 500Kbit/s # Cree una tubería con un límite de tráfico de 500 Kbps# ipfw agregue la tubería 1 ip de mí a cualquier # Rechazar tráfico innecesario

Calidad de servicio QoS

linux

Prioridad de cola en t.c. para optimización VoIP tráfico. Se pueden encontrar ejemplos completos en voip-info.org o www.howtoforge.com. El siguiente ejemplo demuestra el uso de QoS para el tráfico de VoIP. # tc qdisc add dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 # tc qdisc add dev eth0 parent 1:1 handle 10: sfq # tc qdisc add dev eth0 parent 1 :2 controlador 20: sfq # tc qdisc agregar dev eth0 principal 1:3 controlador 30: sfq # tc filtro agregar dev eth0 protocolo ip principal 1: prio 1 u32 \ match ip dport 10000 0x3C00 flowid 1:1 # Usar rango de puertos partido ip dst 123.23.0.1 flowid 1:1 # o/y usar la IP del servidor Comprobar estado o eliminar: # tc -s qdisc ls dev eth0 # Comprobar el estado de la cola# tc qdisc del dev eth0 raíz # Eliminar todas las colas

FreeBSD

El ancho de banda máximo de conexión es de 500Kbps, asignamos 3 colas de prioridad 100:10:1 Para VoIP:ssh:todo lo demás, respectivamente. # ipfw pipe 1 config bw 500Kbit/s # ipfw queue 1 config pipe 1 peso 100 # ipfw queue 2 config pipe 1 peso 10 # ipfw queue 3 config pipe 1 peso 1 # ipfw add 10 queue 1 proto udp dst-port 10000-11024 # ipfw agregar 11 cola 1 proto udp dst-ip 123.23.0.1 # o/y usar IP# ipfw agregue 20 cola 2 dsp-port ssh # ipfw agregue 30 cola 3 de mí a cualquier # Todo lo demás Estado y elimine: # lista ipfw # Ver el estado de# lista de tuberías ipfw # Estado Tubería # ipfw al ras # Borrar todas las reglas excepto las predeterminadas

NIS (Servicio de información de red)

Algunos comandos de configuración NIS cliente: # ypcuál # Obtener el nombre del conectado NIS servidores#nombre de dominio # Nombre de dominio NIS # grupo ypcat # Mostrar grupo de NIS # cd /var/yp && hacer # Reconstruir base de datos # rpcinfo -p nombreservidor # Informe RPC servicios de servidor ypbind corriendo? # ps auxww | grep ypbind /usr/sbin/ypbind -s -m -S servername1,servername2 # FreeBSD /usr/sbin/ypbind # Linux # yppoll passwd.byname El mapa passwd.byname tiene el número de pedido 1190635041. Lun 24 de septiembre 13:57:21 2007 El servidor maestro es servername.domain.net.

linux

# cat /etc/yp.conf ypserver servername dominio dominio.net difusión

utilidad de red netcat

(nc), también conocida como la "navaja suiza de red", está diseñada para crear, leer y escribir conexiones TCP/IP. Aquí hay algunos ejemplos útiles, puede encontrar muchos de ellos en la red, por ejemplo: o. En lugar de netcat, puede utilizar la abreviatura Carolina del Norte. También puede consultar socat.

Transferencia de archivos

Copiar un archivo grande a través de una conexión TCP. La transferencia es muy rápida y no requiere NFS, SMB, FTP, etc... simplemente haga que el archivo esté disponible en el servidor y obténgalo del cliente. En este caso 192.168.1.1 , dirección IP del servidor. #servidor tar -cf - -C VIDEO_TS . | nc -l -p 4444 # Archivar el directorio y establecer el archivo en un puerto 4444 cliente# nc 192.168.1.1 4444 | alquitrán xpf - -C VIDEO_TS # obtener archivo del puerto 4444 y descomprimir en dmretory servidor # gato archivo grande | nc -l 5678 # Preparar un archivo para enviar cliente# nc 192.168.1.1 5678 > archivo grande # Obtener servidor de archivos # dd if=/dev/da0 | nc -l 4444 # Preparar el archivo de imagen de partición para enviar cliente# nc 192.168.1.1 4444 | ddof=/dev/da0 # Recoger el archivo de imagen para crear una partición duplicada cliente# nc 192.168.1.1 4444 | ddof=da0.img # o tome el archivo de imagen y guárdelo como un archivo servidor # nc -l 5555< ./test.file # El archivo se expone al socket nc con la dirección 192.168.1.1 , puerto 5555 cliente# nc 192.168.1.1 5555 > ~/test.file # En otra máquina, recoja el archivo, con 192.168.1.1 puerto 5555

Otros trucos

Tenga cuidado aquí, abre el acceso a su sistema.
cáscara remota
La opción -e es solo para Versiones de Windows o use nc 1.10 . # nc -lp 4444 -e /bin/bash # Proporcione un shell remoto# nc -lp 4444 -e cmd.exe # Shell remoto en Windows
Servidor web de emergencia
Servir un archivo por 80 puerto en un bucle. # mientras sea verdadero; hacer nc -l -p 80< unixtoolbox.xhtml; done
Charla TCP sencilla
Alice y Bob pueden comunicarse a través de un simple socket TCP. El texto se transfiere presionando Enter. alicia # nc -lp 4444 bob # nc 192.168.1.1 4444

Esta es la página de bienvenida predeterminada que se utiliza para probar el correcto funcionamiento del servidor Apache2 después de la instalación en los sistemas Ubuntu. Se basa en la página equivalente en Debian, de la que se deriva el paquete Ubuntu Apache. Si puede leer esta página, significa que el servidor Apache HTTP instalado en este sitio funciona correctamente. Debería reemplazar este archivo(ubicado en /var/www/html/index.html) antes de continuar operando su servidor HTTP.

Si usted es un usuario normal de este sitio web y no sabe de qué se trata esta página, probablemente esto significa que el sitio no está disponible actualmente debido a mantenimiento, si el problema persiste, comuníquese con el administrador del sitio.

Descripción general de la configuración

La configuración predeterminada de Apache2 de Ubuntu es diferente de la configuración predeterminada original y se divide en varios archivos optimizados para la interacción con las herramientas de Ubuntu. El sistema de configuración es totalmente documentado en /usr/share/doc/apache2/README.Debian.gz. Consulte esto para obtener la documentación completa. Documentación para La web El servidor en sí se puede encontrar accediendo al manual si el paquete apache2-doc se instaló en este servidor.

El diseño de configuración para la instalación de un servidor web Apache2 en sistemas Ubuntu es el siguiente:

/etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods habilitados | |-- *.cargar | `-- *.conf |-- habilitado para conf | `-- *.conf |-- sitios habilitados | `-- *.conf

  • apache2.conf es el archivo de configuración principal. Reúne las piezas al incluir todos los archivos de configuración restantes al iniciar el servidor web.
  • ports.conf siempre se incluye desde el archivo de configuración principal. Se utiliza para determinar los puertos de escucha para las conexiones entrantes y este archivo se puede personalizar en cualquier momento.
  • Los archivos de configuración en los directorios mods-enabled/ , conf-enabled/ y sites-enabled/ contienen fragmentos de configuración particulares que administran módulos, fragmentos de configuración global o configuraciones de host virtual, respectivamente.
  • Se activan vinculando los archivos de configuración disponibles de sus respectivas contrapartes *-disponibles/. Estos deben administrarse utilizando nuestros ayudantes a2enmod, a2dismod, a2ensite, a2dissite y a2enconf, a2disconf. Consulte sus respectivas páginas man para obtener información detallada.
  • El binario se llama apache2. Debido al uso de variables de entorno, en la configuración predeterminada, apache2 debe iniciarse/detenerse con /etc/init.d/apache2 o apache2ctl . Llamar a /usr/bin/apache2 directamente no funcionará con la configuración por defecto.

Raíces del documento

Por defecto, Ubuntu no permite el acceso a través del navegador web a cualquier archivo aparte de los ubicados en los directorios /var/www, public_html (cuando está habilitado) y /usr/share (para aplicaciones web). Si su sitio utiliza una raíz de documentos web ubicada en otro lugar (como en /srv), es posible que deba incluir en la lista blanca el directorio raíz de su documento en /etc/apache2/apache2.conf .

La raíz del documento de Ubuntu predeterminada es /var/www/html. Puede crear sus propios servidores virtuales en /var/www. Esto es diferente a las versiones anteriores, lo que proporciona una mejor seguridad desde el primer momento.

Informe de problemas

Utilice la herramienta ubuntu-bug para informar errores en el paquete Apache2 con Ubuntu. Sin embargo, verifique antes de informar un nuevo error.

Informe los errores específicos de los módulos (como PHP y otros) en sus respectivos paquetes, no en el servidor web en sí.

Después de revisar la mayoría de las publicaciones temáticas sobre Habré, me sorprendió enormemente el hecho de que el tema del uso del sistema operativo Unix/Linux en el proveedor de servicios de Internet está extremadamente mal cubierto. Este artículo intentará llenar parcialmente este vacío.

No es difícil adivinar por qué hay una ausencia total de tales artículos en Internet: todos los que usan Linux / FreeBSD en un ISP son inmediatamente acusados ​​​​de ser pobres y se les recomienda comprar Cisco o, en un caso muy extremo, Juniper. Es por eso que el segundo objetivo de este artículo es mostrarle al lector que algunas soluciones técnicas basadas en el sistema operativo Linux son en muchos aspectos superiores a las soluciones de marca de los proveedores más famosos.

Formación
Nuestra primera experiencia de uso "no estándar" de Linux apareció inmediatamente después del comienzo de la prestación de servicios de acceso de banda ancha para particulares. Era necesario "cortar" el canal externo de cada uno de nuestros usuarios con algo. Aquí, debido a la falta de desarrollos propios sobre este tema Tuve que inventar mi propia bicicleta usando cbq y mi propio arnés. Este esquema funcionó durante un par de meses hasta que nos dimos cuenta de todas sus desventajas y nos encontramos con el rendimiento de la máquina.

El caso es que el sistema empezó a “comerse” demasiadas interrupciones suaves incluso con poco tráfico, por ejemplo, con tráfico de tránsito de 300 megabits y 30 kpps con 1000 reglas lineales cbq (2 reglas de entrada/salida por usuario) en cada interfaz en la parte superior si alcanzó el 100%.

Si en el momento presente nos enfrentáramos a la misma tarea bajo las mismas medios tecnicos lo resolveríamos con Linux htb tc + filtros hash.

NAT
Dado que en ese momento éramos un pequeño proveedor doméstico local, cuando conectamos suscriptores de individuos, teníamos una pregunta aguda sobre si emitir una dirección IP enrutable "blanca" para el cliente o limitarnos a emitir direcciones IP "grises".

Nos decidimos por las direcciones "grises", porque su uso ahorraba tanto material valioso en ese momento como las direcciones reales. Asimismo, se incrementó levemente la seguridad y comodidad del trabajo de nuestros usuarios, ya que sus equipos no eran accesibles "directamente" a toda la red de Internet desde el exterior.

Armamos un esquema en el que "exportamos" una copia de todo el tráfico de usuario (SPAN PORT) a los puertos de red necesarios del servidor con el sistema operativo Linux a bordo, y luego, usando ipt_NETFLOW, formamos un flujo de FLUJOS al servidor deseado.

Con más detalle, junto con las configuraciones, se da el esquema de trabajo.

PD Somos conscientes de que la mayoría de los equipos de Cisco pueden verter un flujo de NETFLOW ya formado en el colector de Netflow especificado, pero en nuestro diagrama de red en ese momento simplemente no podía haber dicho equipo :)

Terminación de redes de usuarios.
Inicialmente, quería darle al usuario una dirección IP, máscara de subred y puerta de enlace y no cargarlo con configuraciones PPPoE, PPTP, VPN, lo que al final debería haber aliviado un poco el servicio de soporte técnico (lo que sucedió en la práctica), ya que el la configuración de la red se volvió bastante trivial en cualquier sistema operativo personalizado.

Decididos a aplicar nuestra experiencia previa en el uso del sistema operativo Linux, se nos ocurrió el siguiente esquema, los servidores Linux con un par de adaptadores de red de cuatro puertos se instalan en lugares clave de la red, un enlace "va" hacia el núcleo de la red, el resto hacia “clusters”. Como resultado, un montón de VLAN con varias redes en cada una de ellas se elevan en cada interfaz.

En total teníamos 4 servidores para toda la red, aproximadamente 10k suscriptores cada uno.

El pico de tráfico alcanzado por cada servidor durante las horas pico fue de aproximadamente un megapaquete y medio por segundo. Los servidores intercambiaron rutas entre sí utilizando el protocolo ospf.

El bloqueo de acceso a los usuarios se realizó mediante ipset.

Borde
Me gustaría terminar con esta nota feliz, pero me gustaría escribir sobre otra aplicación "no estándar" de Linux, como borde. Dio la casualidad de que nuestro Cisco ASR estaba fuera de servicio, realizando las funciones de un borde, que recibió 2 vistas completas de dos enlaces ascendentes.

Aquí sigue una pequeña digresión lírica. Cisco 100% cumplió con sus obligaciones y envió un reemplazo a las pocas horas de completar los documentos necesarios, pero como comprenderá, los clientes no esperarán un día hasta que llegue el nuevo hardware a nuestra área. La decisión fue espontánea.

Sacaron el servidor del almacén, instalaron Linux + quagga en él y lo instalaron con éxito en lugar del fallido Cisco.

En hora punta, este milagro de la ingeniería “masticó” el flujo de entrada de 1,4 Gb/s, con un total de kpps en todas las interfaces de unos 400.

PD En el curso de nuestro trabajo, hemos recopilado y probado muchos paquetes RPM para la distribución CentOS 5, aquí hay solo una pequeña lista de ellos:

  • conjunto de ips
  • limitar
  • Conntrack-herramientas
  • ipt_netflow
  • herramientas de flujo
  • cuagga

Puedes descargarlos desde este repositorio.

P.P.D. Si tiene sus propias ideas o notas sobre el uso de *nix como sistema operativo en un ISP, es bienvenido.

El artículo del usuario, desafortunadamente, tendrá suficiente karma para publicarlo él mismo, por lo que le pido que deje todos los pros / contras en su karma.

Linux tiene muchas herramientas para monitorear la actividad de la red. Pero la mayoría de ellos le permiten controlar solo el tráfico de red desde su computadora o una interfaz específica. Hay momentos en los que necesita comprender qué programa está utilizando más activamente conexión de red, por ejemplo, si tienes con tu Internet lento desea mirar con calma sus sitios favoritos, y luego algún programa comienza a descargar algo, y no está claro cuál. Para tales casos, existe una herramienta NetHogs.

En este artículo, discutiremos la instalación, la configuración y las características de trabajar con NetHogs.

Como se indica en la página del manual de la utilidad, NetHogs es una pequeña monitor de red. El programa agrupa la actividad de la red no por protocolo o red, sino por grupos de procesos.

Si de repente algo comienza a usar activamente la conexión a Internet, simplemente puede ejecutar NetHogs e inmediatamente verá el PID del culpable. Dado que la utilidad se basa en el subsistema proc, actualmente existe una versión solo para Linux.

Usuarios de Debian sistemas similares, incluso Ubuntu puede instalar la utilidad con el siguiente comando:

sudo apt-get install nethogs

Si está utilizando una distribución diferente, consulte los detalles de instalación en el sitio web oficial de NetHogs. La utilidad requiere que las bibliotecas pcap y ncurses funcionen, asegúrese de que los paquetes libncurses5-dev y libpcap0.8-dev estén instalados.

Quién está usando la red

NetHogs es muy fácil de usar. Simplemente ejecute el comando nethogs en una terminal sin ninguna opción y la utilidad mostrará la actividad de la red para cada proceso.

Como puede ver, el programa muestra detalles como PID, usuario, interfaz de red, cantidad de datos y velocidad de transmisión o recepción.

Actualización de datos

De manera predeterminada, NetHogs actualiza la información cada segundo, pero puede usar la opción -d para especificar el intervalo de actualización. Por ejemplo, para actualizar cada tres segundos, escriba:

sudo nethogs -d 3

Especificar la interfaz de red

Puede decirle a NetHogs con qué interfaz de red trabajar simplemente escribiendo el nombre de la interfaz en línea de comando. Por ejemplo, para monitorear el tráfico en eth1 use:

sudo nethogs eth1

Puede usar la opción -p para capturar el tráfico en modo promiscuo (llamado modo de monitor), pero esto no se recomienda.

Teclas de acceso directo

La utilidad proporciona teclas de acceso rápido con las que puede controlar el método de presentación. Por ejemplo, presione M mientras se ejecuta el programa para cambiar el formato de transmisión o recepción de datos. Las opciones están disponibles en kb/s, kb, b mb.

Por ejemplo, mostrando en megabytes:

También puede presionar R o S para ordenar por la cantidad de datos recibidos o transmitidos. Y como siempre Q para salir del programa.

conclusiones

NetHogs es perfecto para cuando desea capturar y eliminar un proceso que consume mucho tráfico de Internet. Además, es una utilidad de código abierto. código fuente, lo que significa que puedes intentar entender cómo funciona o incluso reescribirlo por ti mismo.

¿Has usado NetHogs u otra herramienta similar antes? Comparte tu opinión en los comentarios.

Artículos Relacionados: