What does "!Z" and "!X" mean in a traceroute?

Solution 1:

!X means "communication administratively prohibited" and !Z "communication with destination host administratively prohibited" As far as I remember, you get !X on ipv4 and !Z on ipv6 and it should be documented in the man (8) pages.

Since Linux uses UDP for trace-routes, this can originate from a --reject-with icmp-host-prohibited rule at the destination. Some Linux distros have this as a default configuration. To fix this you need to reply with --reject-with icmp-port-unreachable on UDP ports 33434 through 33534.