~ lista de rutas

~ lista de rutas

Durante el último mes no pude resolver esto, hice diferentes reglas de iptables, habilité y deshabilité módulos en el kernel, pero obtuve los mismos resultados e iptables ha eliminado aún más paquetes. Esto hace que los usuarios tengan un retraso de 3/5 segundos al intentar acceder a diferentes carpetas compartidas desde 192.168.1.0/24 a 192.168.3.0/28 en la máquina virtual.

Veo esto en los registros:

14 de febrero 13:53:02 kernel ns129115: [12426815.202643] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=104 TOS=0x10 PREC=0x00 TTL=64 ID=6193 2DF PROTO=TCP SPT=22115 DPT=49225 VENTANA=384 RES=0x00 ACK PSH URGP=0
14 de febrero 13:53:02 ns129115 kernel: [12426815.393379] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=40 TOS=0x10 PREC=0x00 TTL=64 ID=61933 DF PROTO=TCP SPT=22115 DPT=49225 VENTANA=384 RES=0x00 ACK URGP=0
14 de febrero 13:53:02 kernel ns129115: [12426815.834944] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=40 TOS=0x10 PREC=0x00 TTL=64 DF PROTO=TCP SPT=22115 DPT=49225 VENTANA=384 RES=0x00 ACK URGP=0
14 de febrero 13:53:02 kernel ns129115: [12426815.835219] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=136 TOS=0x10 PREC=0x00 TTL=64 ID=6193 5DF PROTO=TCP SPT=22115 DPT=49225 VENTANA=384 RES=0x00 ACK PSH URGP=0
14 de febrero 13:53:19 kernel ns129115: [12426832.829664] IPTables-FWD-eliminado: IN=br0 OUT=br0 PHYSIN=vnet0 PHYSOUT=eth2 MAC=70:85:c2:4f:14:c1:00:16:3e :ea:18:01:08:00 SRC=192.168.1.156 DST=192.168.1.125 LEN=319 TOS=0x00 PREC=0x00 TTL=128 ID=16660 DF PROTO=TCP SPT=49169 DPT=54820 VENTANA=256 RES= 0x00 CONFIGURACIÓN PSH URGP=0
14 de febrero 13:53:39 kernel ns129115: [12426852.496117] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=104 TOS=0x10 PREC=0x00 TTL=64 ID=2902 3DF PROTO=TCP SPT=22115 DPT=52214 VENTANA=263 RES=0x00 ACK PSH URGP=0
14 de febrero 13:53:49 kernel ns129115: [12426862.856776] IPTables-FWD-eliminado: IN=br0 OUT=br0 PHYSIN=eth2 PHYSOUT=vnet0 MAC=00:16:3e:ea:18:01:90:2b:34 :b0:20:a4:08:00 SRC=192.168.1.237 DST=192.168.1.156 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=1644 DF PROTO=TCP SPT=49244 DPT=49169 VENTANA=1879 RES= 0x00 CONFIGURACIÓN URGP=0
14 de febrero 13:53:50 kernel ns129115: [12426863.288983] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=104 TOS=0x10 PREC=0x00 TTL=64 ID=2906 9DF PROTO=TCP SPT=22115 DPT=52214 VENTANA=263 RES=0x00 ACK PSH URGP=0
14 de febrero 13:54:19 kernel ns129115: [12426892.906806] IPTables-FWD-eliminado: IN=br0 OUT=br0 PHYSIN=eth2 PHYSOUT=vnet0 MAC=00:16:3e:ea:18:01:74:d4:35 :6a:18:7a:08:00 SRC=192.168.1.199 DST=192.168.1.156 LEN=248 TOS=0x00 PREC=0x00 TTL=128 ID=13244 DF PROTO=TCP SPT=49678 DPT=49169 VENTANA=256 RES= 0x00 CONFIGURACIÓN PSH URGP=0
14 de febrero 13:54:42 kernel ns129115: [12426915.939242] IPTables-OUTPUT-Drop: IN= OUT=br0 SRC=192.168.1.115 DST=192.168.1.231 LEN=136 TOS=0x10 PREC=0x00 TTL=64 ID=6196 9DF PROTO=TCP SPT=22115 DPT=49225 VENTANA=384 RES=0x00 ACK PSH URGP=0

El Servidor Debian con iptables y 2 puentes

  • BR0, es el puente con acceso a Internet hasta la puerta de enlace 192.168.1.1 y todos los usuarios están en esta red
  • VIRBR10, el 2do puente, vm1 se ha conectado a este puente con ip 192.168.3.12 (192.168.3.0/28) y tiene nat con iptables al exterior pasando por br0

Aquí »» El gráfico de red con gateway e hipervizor

Aquí está mi tabla de rutas.

~ lista de rutas

Tabla de enrutamiento IP del kernel
Destino Gateway Genmask Banderas Métrica Ref Uso Iface
predeterminado 192.168.1.1 0.0.0.0 UG 0 0 0 br0
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
192.168.3.0 * 255.255.255.240 U 0 0 0 virbr10

~ espectáculo brctl

nombre del puente ID del puente Interfaces habilitadas para STP
br0 8000.0cc47ac18d3c sí eth2
virbr10 8000.525400c4b847 sí virbr10-maniquí
                                                        vnet2

~ reglas de iptables

#!/bin/sh
#Limpiando todas las reglas
iptables -P ENTRADA ACEPTAR
iptables -P ADELANTE ACEPTAR
iptables -P SALIDA ACEPTAR
iptables -t nat -F
iptables -t mangle -F
iptables-F
iptables -X

# Permitir tráfico de ENTRADA básico.
iptables -A ENTRADA -m estado --estado ESTABLECIDO,RELACIONADO -j ACEPTAR
iptables -A ENTRADA -i lo -j ACEPTAR
iptables -A ENTRADA -p icmp --icmp-type 8 -m conntrack --ctstate NUEVO -j ACEPTAR
iptables -A ENTRADA -p icmp -m conntrack --ctstate NUEVO -j ACEPTAR

#
#MTU
iptables -t mangle -A FORWARD -o virbr1 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1460
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

#PYME
#Puerto: netbios - 445/tcp
#Puerto: netbios-ns – 137/udp – Servicio de nombres NETBIOS
#Puerto: netbios-dgm – 138/udp – Servicio de datagramas NETBIOS
#Puerto: netbios-ssn – 139/tcp – servicio de sesión NETBIOS
iptables -A ENTRADA -m estado --estado NUEVO -m tcp -p tcp --dport 445 -j ACEPTAR
iptables -A ENTRADA -p udp -m udp --dport 445 -j ACEPTAR
iptables -A ENTRADA -p udp -m udp --dport 137:138 -j ACEPTAR
iptables -A ENTRADA -m estado --estado NUEVO -m tcp -p tcp --dport 139 -j ACEPTAR
#iptables -A ENTRADA -p tcp -m tcp -m conntrack --ctstate NUEVO --sport 137 -j ACEPTAR
#iptables -A ENTRADA -p tcp -m tcp -m conntrack --ctstate NUEVO --sport 138 -j ACEPTAR
#iptables -A ENTRADA -p tcp -m tcp -m conntrack --ctstate NUEVO --sport 139 -j ACEPTAR

#RDP
#Puerto: 3389
# conexiones desde el exterior
iptables -I ADELANTE -o virbr10 -d 192.168.3.12 -j ACEPTAR
iptables -t nat -I PREROUTING -p tcp --dport 3589 -j DNAT --to 192.168.3.12:3389

# Enmascarar subred local
iptables -I ADELANTE -o virbr10 -d 192.168.3.0/28 -j ACEPTAR
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 -j MASCARADA
iptables -A ADELANTE -o virbr10 -m estado --estado RELACIONADO,ESTABLECIDO -j ACEPTAR
#Permite conexiones salientes de virbr10 hacia la red 192.168.1.0/24
iptables -A ADELANTE -i virbr10 -o br0 -j ACEPTAR
iptables -A ADELANTE -o virbr10 -i br0 -j ACEPTAR
iptables -A ADELANTE -i virbr10 -o lo -j ACEPTAR

###
#Invitado enrutado KVM
# Los paquetes DHCP enviados a las máquinas virtuales no tienen suma de comprobación (debido a un error de larga data).
iptables -t mangle -A POSTROUTING -o virbr10 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fil

# No se haga pasar por estos bloques de direcciones reservadas.
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 -d 224.0.0.0/24 -j RETORNO
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 -d 255.255.255.255/32 -j RETORNO
# Enmascarar todos los paquetes que van desde las máquinas virtuales a la LAN/Internet.
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 ! -d 192.168.3.0/28 -p tcp -j MASQUERADE --a-puertos 1024-65535
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 ! -d 192.168.3.0/28 -p udp -j MASCARADA --a-puertos 1024-65535
iptables -t nat -A POSTROUTING -s 192.168.3.0/28 ! -d 192.168.3.0/28 -j MASCARADA

# Aceptar conexiones SSH.
iptables -A ENTRADA -p tcp -m tcp --syn -m conntrack --ctstate NUEVO --dport 22 -j ACEPTAR

# Aceptar Radimin
iptables -A ENTRADA -p tcp -m tcp --syn -m conntrack --ctstate NUEVO --dport 4899 -j ACEPTAR

# Permitir el tráfico entrante a la subred privada.
iptables -A FORWARD -d 192.168.3.0/28 -o virbr10 -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR
#7218-12_07 Acceso lento al escritorio iptables -A FORWARD -d 192.168.1.0/24 -o br0 -m state --state ESTABLECIDO, RELACIONADO -j ACEPTAR
#7218-12_07 Acceso lento al escritorio iptables -A FORWARD -d 192.168.3.0/28 -o br0 -m state --state ESTABLECIDO, RELACIONADO -j ACEPTAR
# Permitir el tráfico saliente desde la subred privada.
iptables -A FORWARD -s 192.168.3.0/28 -i virbr10 -m estado --estado ESTABLECIDO,RELACIONADO -j ACEPTAR
#7218-12_07 Acceso lento al escritorio iptables -A FORWARD -s 192.168.1.0/24 -i br0 -m state --state ESTABLECIDO, RELACIONADO -j ACEPTAR
#7218-12_07 Acceso lento al escritorio iptables -A FORWARD -s 192.168.3.0/28 -i br0 -m state --state ESTABLECIDO, RELACIONADO -j ACEPTAR
# Permitir el tráfico entre máquinas virtuales.
iptables -A ADELANTE -i virbr10 -o virbr10 -j ACEPTAR
# Rechaza todo lo demás.
iptables -A FORWARD -i virbr10 -j REJECT --reject-with icmp-port-inalcanzable
# Acepte paquetes DNS (puerto 53) y DHCP (puerto 67) de las máquinas virtuales.
iptables -A ENTRADA -i virbr10 -p udp -m udp -m multipuerto --dports 53,67 -j ACEPTAR
iptables -A ENTRADA -i virbr10 -p tcp -m tcp -m multipuerto --dports 53,67 -j ACEPTAR

#ICMP
iptables -A SALIDA -p icmp -m conntrack --ctstate ESTABLECIDO,RELACIONADO -j ACEPTAR

# Rechaza todo lo demás.
iptables -A ENTRADA -m conntrack --ctstate NO VÁLIDO -j DROP
iptables -A ENTRADA -p tcp -m tcp -j RECHAZO --rechazar-con tcp-reset
iptables -A ENTRADA -j RECHAZO --rechazar-con puerto-icmp-inalcanzable

#Paquetes de registro eliminados
iptables -A ENTRADA -m límite --límite 2/min -j LOG --log-prefix "IPTables-INPUT-Dropped: " --log-level 4
iptables -A FORWARD -m límite --límite 2/min -j LOG --log-prefix "IPTables-FWD-Dropped: " --log-level 4
iptables -A SALIDA -m límite --límite 2/min -j LOG --log-prefix "IPTables-SALIDA-Dropped: " --log-level 4

Actualizaciones

  1. Cambió la cadena de registros hasta el final del script y pegó las nuevas entradas del registro.

Respuesta1

Después de buscar en Google puedo solucionar esto.

  1. El acceso lento a archivos compartidos con SMB en el controlador de dominio en Windows Server 2012 R2 se debe a que el GPO de redirección de carpetas realiza cambios en los permisos en la carpeta de perfil de usuario durante el proceso de redirección cuando la carpeta no existe en el destino. Basado en iamrafic de Microsfot Technet (enlace), necesitamos cambiar los permisos de la carpeta a esto:

Cree la carpeta en la ubicación requerida. Deshabilite la herencia de permisos del padre y elimine todos los permisos heredados haciendo clic en el botón correspondiente. Una entrada ya estará en DACL: Administradores locales.

Modificar administradores locales: Control total: esta carpeta, subcarpetas y archivos

Agregar SISTEMA: Control total: esta carpeta, subcarpeta y archivos.

Agregar CREADOR PROPIETARIO: Control total: esta carpeta, subcarpetas y archivos.

Agregar usuarios autenticados: enumerar carpetas/leer datos, crear carpetas/añadir datos: solo esta carpeta

Agregar administradores de dominio: Control total: esta carpeta, subcarpetas y archivos.

Haga clic en Aceptar.

  1. El otro problema eran mis reglas de iptables, necesitaba realizar cadenas completamente nuevas y arreglar el orden de cada regla FORWARD porque esto altera el rendimiento cuando se analiza el paquete. Aquí los nuevos.
    #!/bin/sh
    
    #Limpiando todas las reglas
    iptables -P ENTRADA ACEPTAR
    iptables -P ADELANTE ACEPTAR
    iptables -P SALIDA ACEPTAR
    iptables -t nat -F
    iptables -t mangle -F
    iptables-F
    iptables -X
    iptables -t crudo -F
    
    # Tablas básicas
    iptables -A ENTRADA -m conntrack --ctstate ESTABLECIDO,RELACIONADO -j ACEPTAR
    iptables -A ENTRADA -i lo -j ACEPTAR
    
    #
    
    iptables -A FORWARD -o virbr32 -s 192.168.1.0/24 -d 192.168.100.0/28 -m conntrack --ctstate ESTABLECIDO,RELACIONADO -j ACEPTAR
    iptables -A FORWARD -i virbr32 -s 192.168.100.0/28 -d 192.168.1.0/24 -m conntrack --ctstate ESTABLECIDO, RELACIONADO -j ACEPTAR
    iptables -A ADELANTE -o virbr32 -i br0 -j ACEPTAR
    iptables -A ADELANTE -i virbr32 -s 192.168.100.0/2 -j ACEPTAR
    iptables -A ADELANTE -i virbr32 -o virbr32 -j ACEPTAR
    iptables -A FORWARD -i virbr32 -j LOG --log-prefix "iptables-FORWARD-REJECT: "
    iptables -A FORWARD -i virbr32 -j REJECT --reject-with icmp-port-inalcanzable
    
    # Enmascarar subred local
    iptables -t nat -A POSTROUTING -s 192.168.100.0/28 -j MASCARADA
    # No se haga pasar por estos bloques de direcciones reservadas.
    iptables -t nat -A POSTROUTING -s 192.168.100.0/28 -d 224.0.0.0/24 -j RETORNO
    iptables -t nat -A POSTROUTING -s 192.168.100.0/28 -d 255.255.255.255/32 -j RETORNO
    
    # PYME
    #RPC EPM TCP 135
    # RPC sobre HTTPS TCP 593
    # SMB (para canalizaciones con nombre) TCP 445
    # Rango efímero, dinámico *
    iptables -I FORWARD 6 -o virbr32 -i br0 -m conntrack --ctstate NUEVO -p tcp -d 192.168.100.12 --dport 445 -j ACEPTAR
    iptables -I FORWARD 7 -o virbr32 -i br0 -m conntrack --ctstate NUEVO -p tcp -d 192.168.100.12 --dport 139 -j ACEPTAR
    
    # Acepte paquetes DNS (puerto 53) y DHCP (puerto 67) de las máquinas virtuales.
    iptables -I FORWARD 8 -o virbr32 -i br0 -m conntrack --ctstate NUEVO -p tcp -m tcp -m multiport --dports 53,67 -j ACEPTAR
    iptables -I FORWARD 9 -i virbr32 -o br0 -m conntrack --ctstate NUEVO -p udp -m udp -m multiport --dports 53,67 -j ACEPTAR
    
    #
    
    #
    
    # Las dos reglas siguientes garantizan que sólo se examinen los paquetes TCP. Todos los otros
    # continuar en la *tabla de filtros.
    iptables -t raw -N TCPFLAGS
    iptables -t raw -A PREROUTING -p tcp -j TCPFLAGS
    iptables -t raw -A PREROUTING -j ACEPTAR
    
    # Acepte rápidamente apretones de manos estándar
    # PERMITIR ACK o ACK/SYN
    #-A TCPFLAGS -j ACEPTAR
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags FIN,ACK,URG,PSH,RST ACK -j ACEPTAR
    
    # Permitir ACK/FIN con URG o PSH, o ambos, o ninguno
    # pero no se pueden configurar SYN y RST
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags FIN,SYN,ACK,RST ACK,FIN -j ACEPTAR
    
    # Permitir SYN o ACK/SYN
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags FIN,SYN,URG,PSH,RST SYN -j ACEPTAR
    
    # Permitir RST o ACK/RST
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags FIN,SYN,URG,PSH,RST RST -j ACEPTAR
    
    # Esta regla detecta ataques de aletas y árboles de Navidad
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags FIN FIN -j DROP
    # Esta regla detecta los ataques xmas-tree y syn/rst
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags SYN SYN -j DROP
    
    # Esta regla detecta ataques nulos
    iptables -t raw -A TCPFLAGS -p tcp --tcp-flags TODO NINGUNO -j DROP
    
    #-A TCPFLAGS -p tcp -ecn-tcp-cwr -j DROP
    # estas reglas detectan malas combinaciones de ataques
    #-A TCPFLAGS -p tcp --tcp-flags ACK ACK -j ACC
    #iptables -t raw -A TCPFLAGS -j ACEPTAR
    
    # Entonces, ¿qué aceptamos para TCP?
    # apretones de manos (ACK/FIN), (ACK/SYN), (SYN), (ACK), (RST), (ACK/RST),
    # y paquetes de datos con PSH o URG o FIN o ACK
    
    #
    
    #Paquetes de registro eliminados
    iptables -A ENTRADA -m límite --límite 2/min -j LOG --log-prefix "IPTables-INPUT-Dropped: " --log-level 4
    iptables -A FORWARD -m límite --límite 2/min -j LOG --log-prefix "IPTables-FWD-Dropped: " --log-level 4
    iptables -A SALIDA -m límite --límite 2/min -j LOG --log-prefix "IPTables-SALIDA-Dropped: " --log-level 4
  • Como puede ver, usé iptables -I FORWARD en lugar de iptables -A FORWARD porque con esto puedo realizar reglas ordenadas en mi tabla de filtros poniendo primero las reglas más importantes y luego profundizar después de DROP o negar el resto. Todas las reglas ADELANTE van antes de esta línea
    iptables -A ENTRADA -p icmp --icmp-type 8 -m conntrack --ctstate NUEVO -j ACEPTAR

Editar: Sólo necesito hacer algunos cambios para obtener una mayor velocidad de transferencia cuando copie archivos desde la máquina virtual al exterior en la LAN 192.168.1.0/24, no puedo tomar más de 4 Mb/s. ¡Cualquier consejo será apreciado!

información relacionada