You can emulate latency, packet errors, etc using netem tc [0] on Linux.

[0]: https://man.archlinux.org/man/tc-netem.8.en