0 votos

¿Cómo simular conexiones de red / ipfw en MacOS?

Me gustaría que todo el tráfico UDP en mi localhost tuviera un 1% de pérdida de paquetes, 10 ms de retardo de propagación, 10Mbit/s de ancho de banda.

En otros ordenadores tengo experiencia usando ipfw algo así:

ipfw add pipe 1 in
    
ipfw add pipe 2 out
    
ipfw pipe 1 config delay 5ms plr 0.005 bw 10Mbits/s
ipfw pipe 2 config delay 5ms plr 0.005 bw 10Mbits/s

Pensé que podría utilizar el dummynet incorporado de MacOS para lograr algo similar.

Corrí en la terminal

sudo dnctl pipe 1 config bw 10Mbit/s delay 10 plr 0.01
echo "dummynet out proto udp from any to any pipe 1" | sudo pfctl -f -

sudo pfctl -sa y sudo dnctl list muestran los resultados esperados (la regla parece haber sido añadida).

DUMMYNET RULES:
dummynet out proto udp all pipe 1
    00001:  10.000 Mbit/s    10 ms   50 sl.plr 0.010000 0 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000

Ahora espero que todo el tráfico udp se ralentice.

Pero, el tráfico UDP a través de mi localhost claramente no tiene ningún paquete caído al menos, y es probable que no siga ninguna de las otras reglas.

¿Cuál es el método correcto para simular conexiones de red más pobres en MacOS?

0 votos

Esto parece estar directamente relacionado con apple.stackexchange.com/questions/386493/

1 votos

"En Linux usaría ipfw algo como esto" - no, no lo harías. ipfw forma parte de FreeBSD, puede que haya algunos intentos esporádicos de portarlo a Linux, pero lo cierto es que ni siquiera se acerca a la corriente dominante. Linux tiene tc utilidad real para tal fin.

0voto

Jose Chavez Puntos 645

Sus propios comandos son en realidad casi la solución. Básicamente, sólo tienes que asegurarte de que el pf está activado, y luego repetir tu regla para los paquetes salientes para que también se aplique a los paquetes entrantes.

Puedes hacerlo así:

sudo pfctl -E
sudo dnctl pipe 1 config bw 10Mbit/s delay 5 plr 0.005
echo "dummynet out proto udp from any to any pipe 1" | sudo pfctl -f -
echo "dummynet in proto udp from any to any pipe 1" | sudo pfctl -f -

0 votos

Sí, podría decirse que si atraviesa ambos extremos de la tubería por así decirlo. Sin embargo, yo sólo estaba tratando de imitar los comandos que utilizó en FreeBSD con ipfw - por lo que si esa configuración FreeBSD le dio los retrasos y las pérdidas de paquetes que quería, entonces esta configuración MacOS debe dar lo mismo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X