Solución de problemas
A veces las cosas se rompen o no funcionan como se esperaba. Esta sección describe varias herramientas de solución de problemas proporcionadas por VyOS que pueden ayudar cuando algo sale mal.
Pruebas de conectividad
Pruebas básicas de conectividad
La verificación de la conectividad se puede realizar con los comandos familiares ping y traceroute. Se muestran las opciones para cada uno (las opciones para cada comando se mostraron utilizando la ayuda integrada como se describe en la sección Interfaz de línea de comandos y se omiten en el resultado aquí):
Envía solicitudes de eco ICMP al host de destino. Hay múltiples opciones para hacer ping, inkl. Soporte VRF.
vyos@vyos:~$ ping 10.1.1.1
Possible completions:
<Enter> Execute the current command
adaptive Ping options
allow-broadcast
audible
bypass-route
count
deadline
do-not-fragment
flood
interface
interval
mark
no-loopback
numeric
pattern
quiet
record-route
size
timestamp
tos
ttl
verbose
vrf
Pruebas de conectividad avanzadas
Sin embargo, hay otro asistente disponible que combina ping y traceroute en una sola herramienta. Se muestra un ejemplo de su salida:
vyos@vyos:~$ mtr 10.62.212.12
My traceroute [v0.85]
vyos (0.0.0.0)
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 10.11.110.4 0.0% 34 0.5 0.5 0.4 0.8 0.1
2. 10.62.255.184 0.0% 34 1.1 1.0 0.9 1.4 0.1
3. 10.62.255.71 0.0% 34 1.4 1.4 1.3 2.0 0.1
4. 10.62.212.12 0.0% 34 1.6 1.6 1.6 1.7 0.0
Nota
La salida consume la pantalla y reemplazará su símbolo del sistema.
Hay varias opciones disponibles para cambiar la salida de la pantalla. Presione h para invocar el sistema de ayuda integrado. Para salir, simplemente presione q y volverá al símbolo del sistema de VyOS.
Detección de topología IPv6
IPv6 utiliza diferentes técnicas para descubrir sus vecinos/topología.
Descubrimiento de enrutadores
Descubra enrutadores a través de eth0.
Ejemplo:
vyos@vyos:~$ force ipv6-rd interface eth0
Soliciting ff02::2 (ff02::2) on eth0...
Hop limit : 60 ( 0x3c)
Stateful address conf. : No
Stateful other conf. : No
Mobile home agent : No
Router preference : high
Neighbor discovery proxy : No
Router lifetime : 1800 (0x00000708) seconds
Reachable time : unspecified (0x00000000)
Retransmit time : unspecified (0x00000000)
Prefix : 240e:fe:8ca7:ea01::/64
On-link : Yes
Autonomous address conf.: Yes
Valid time : 2592000 (0x00278d00) seconds
Pref. time : 14400 (0x00003840) seconds
Prefix : fc00:470:f1cd:101::/64
On-link : Yes
Autonomous address conf.: Yes
Valid time : 2592000 (0x00278d00) seconds
Pref. time : 14400 (0x00003840) seconds
Recursive DNS server : fc00:470:f1cd::ff00
DNS server lifetime : 600 (0x00000258) seconds
Source link-layer address: 00:98:2B:F8:3F:11
from fe80::298:2bff:fef8:3f11
Descubrimiento de vecinos
Nombres de interfaz
Si encuentra que los nombres de sus interfaces han cambiado, esto podría deberse a que sus direcciones MAC han cambiado.
Por ejemplo, tiene una VM VyOS con 4 interfaces Ethernet llamadas eth0, eth1, eth2 y eth3. Luego, migra su VyOS VM a un host diferente y encuentra que sus interfaces ahora son eth4, eth5, eth6 y eth7.
Una forma de solucionar este problema tomar el control de las direcciones MAC es:
Inicie sesión en VyOS y ejecute este comando para mostrar la configuración de su interfaz.
show interfaces detail
Tome nota de las direcciones MAC.
Ahora, para actualizar una dirección MAC en la configuración, ejecute este comando especificando el nombre de la interfaz y la dirección MAC que desea.
set interfaces eth0 hw-id 00:0c:29:da:a4:fe
Si se trata de una máquina virtual, acceda a la configuración del host y configure la dirección MAC en la configuración que se encuentra en el archivo config.boot. También puede configurar el MAC en estático si el host lo permite.
Otro ejemplo podría ser cuando se clonan máquinas virtuales VyOS en GNS3 y se encuentra con el mismo problema: los nombres de las interfaces han cambiado.
Y una forma más genérica de arreglarlo es simplemente borrar cada dirección MAC en el archivo de configuración de la máquina clonada. Se regenerarán correctamente de forma automática.
Supervisión
VyOS presenta varias herramientas de monitoreo.
vyos@vyos:~$ monitor
Possible completions:
bandwidth Monitor interface bandwidth in real time
bandwidth-test
Initiate or wait for bandwidth test
cluster Monitor clustering service
command Monitor an operational mode command (refreshes every 2 seconds)
conntrack-sync
Monitor conntrack-sync
content-inspection
Monitor Content-Inspection
dhcp Monitor Dynamic Host Control Protocol (DHCP)
dns Monitor a Domain Name Service (DNS) daemon
firewall Monitor Firewall
https Monitor the Secure Hypertext Transfer Protocol (HTTPS) service
lldp Monitor Link Layer Discovery Protocol (LLDP) daemon
log Monitor last lines of messages file
nat Monitor network address translation (NAT)
ndp Monitor the NDP information received by the router through the device
openvpn Monitor OpenVPN
protocol Monitor routing protocols
snmp Monitor Simple Network Management Protocol (SNMP) daemon
stop-all Stop all current background monitoring processes
traceroute Monitor the path to a destination in realtime
traffic Monitor traffic dumps
vpn Monitor VPN
vrrp Monitor Virtual Router Redundancy Protocol (VRRP)
webproxy Monitor Webproxy service
Volcados de tráfico
Para monitorear el tráfico de la interfaz, emita :code:`monitor de interfaz de tráfico<name> comando `, reemplazando `<name> ` con la interfaz elegida.
vyos@vyos:~$ monitor traffic interface eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
15:54:28.581601 IP 192.168.0.1 > vyos: ICMP echo request, id 1870, seq 3848, length 64
15:54:28.581660 IP vyos > 192.168.0.1: ICMP echo reply, id 1870, seq 3848, length 64
15:54:29.583399 IP 192.168.0.1 > vyos: ICMP echo request, id 1870, seq 3849, length 64
15:54:29.583454 IP vyos > 192.168.0.1: ICMP echo reply, id 1870, seq 3849, length 64
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
vyos@vyos:~$
Para dejar de monitorear, presione Ctrl-c y regresará al símbolo del sistema de VyOS.
El tráfico se puede filtrar y guardar.
vyos@vyos:~$ monitor traffic interface eth0
Possible completions:
<Enter> Execute the current command
filter Monitor traffic matching filter conditions
save Save traffic dump from an interface to a file
Uso del ancho de banda de la interfaz
para obtener una vista rápida del ancho de banda utilizado de una interfaz, utilice el comando supervisar ancho de banda
vyos@vyos:~$ monitor bandwidth interface eth0
mostrar lo siguiente:
B (RX Bytes/second)
198.00 .|....|.....................................................
165.00 .|....|.....................................................
132.00 ||..|.|.....................................................
99.00 ||..|.|.....................................................
66.00 |||||||.....................................................
33.00 |||||||.....................................................
1 5 10 15 20 25 30 35 40 45 50 55 60
KiB (TX Bytes/second)
3.67 ......|.....................................................
3.06 ......|.....................................................
2.45 ......|.....................................................
1.84 ......|.....................................................
1.22 ......|.....................................................
0.61 :::::||.....................................................
1 5 10 15 20 25 30 35 40 45 50 55 60
Rendimiento de la interfaz
Para observar el ancho de banda de la red entre dos nodos, se usa el comando monitor de ancho de banda-prueba
para ejecutar iperf.
vyos@vyos:~$ monitor bandwidth-test
Possible completions:
accept Wait for bandwidth test connections (port TCP/5001)
initiate Initiate a bandwidth test
El comando
accept
abre un servidor iperf de escucha en el puerto TCP 5001El comando
iniciar
se conecta a ese servidor para realizar la prueba.
vyos@vyos:~$ monitor bandwidth-test initiate
Possible completions:
<hostname> Initiate a bandwidth test to specified host (port TCP/5001)
<x.x.x.x>
<h:h:h:h:h:h:h:h>
Supervisar comando
El comando monitor de comando
le permite ejecutar repetidamente un comando para ver una salida actualizada continuamente. El comando se ejecuta y emite cada 2 segundos, lo que le permite monitorear la salida continuamente sin tener que volver a ejecutar el comando. Esto puede ser útil para seguir la formación de adyacencia de enrutamiento.
vyos@router:~$ monitor command "show interfaces"
Borrará la pantalla y le mostrará la salida de mostrar interfaces
cada 2 segundos.
Every 2.0s: /opt/vyatta/bin/vyatta-op-cmd-wrapper Sun Mar 26 02:49:46 2019
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 192.168.1.1/24 u/u
eth0.5 198.51.100.4/24 u/u WAN
lo 127.0.0.1/8 u/u
::1/128
vti0 172.25.254.2/30 u/u
vti1 172.25.254.9/30 u/u
Terminal/Consola
A veces es necesario borrar contadores o estadísticas para solucionar mejor los problemas.
Para hacer esto, use el comando clear
en el modo Operacional.
para borrar la salida de la consola
vyos@vyos:~$ clear console
para borrar contadores de interfaz
# clear all interfaces
vyos@vyos:~$ clear interface ethernet counters
# clear specific interface
vyos@vyos:~$ clear interface ethernet eth0 counters
El comando sigue la misma lógica que el comando set
en el modo de configuración.
# clear all counters of a interface type
vyos@vyos:~$ clear interface <interface_type> counters
# clear counter of a interface in interface_type
vyos@vyos:~$ clear interface <interface_type> <interace_name> counters
para borrar contadores en conjuntos de reglas de firewall o reglas individuales
vyos@vyos:~$ clear firewall name <ipv4 ruleset name> counters
vyos@vyos:~$ clear firewall name <ipv4 ruleset name> rule <rule#> counters
vyos@vyos:~$ clear firewall ipv6-name <ipv6 ruleset name> counters
vyos@vyos:~$ clear firewall ipv6-name <ipv6 ruleset name> rule <rule#> counters
Información del sistema
Pasos de arranque
VyOS 1.2 utiliza Debian Jessie como sistema operativo base de Linux. Jessie fue la primera versión de Debian que utiliza systemd como sistema de inicio predeterminado.
Estos son los pasos de arranque para VyOS 1.2
El BIOS carga Grub (o isolinux para el Live CD)
Grub luego inicia el arranque de Linux y carga el Kernel de Linux
/boot/vmlinuz
Kernel inicia Systemd
/lib/systemd/systemd
Systemd carga el archivo de servicio de VyOS
/lib/systemd/system/vyos-router.service
El archivo de servicio inicia el script de inicio del enrutador VyOS
/usr/libexec/vyos/init/vyos-router
- esto es parte del paquete vyatta-cfg Debian
Inicializa el archivo de configuración de arranque - copias sobre
config.boot.default
si no hay configuraciónEjecuta la migración de configuración, si la configuración es para una versión anterior de VyOS
Ejecuta el script de configuración previa, si hay uno
/config/scripts/vyos-preconfig-bootup.script
Si el archivo de configuración se actualizó, ejecuta cualquier secuencia de comandos posterior a la actualización
/config/scripts/post-upgrade.d
Inicia
rl-system
yfirewall
Monta la partición
/boot
Luego, el archivo de configuración de arranque se aplica mediante
/opt/vyatta/sbin/vyatta-boot-config-loader/opt/vyatta/etc/config/config.boot
El script del cargador de configuración escribe entradas de registro en
/var/log/vyatta-config-loader.log
Ejecuta
telinit q
para decirle al sistema de inicio que vuelva a cargar/etc/inittab
Finalmente, ejecuta el script posterior a la configuración
/config/scripts/vyos-postconfig-bootup.script