Consul’s transparent proxy allows services to resolve and connect to other services using DNS instead of through proxy upstreams listening on localhost, providing an additional layer of security. To configure Consul's transparent proxy on virtual machines, a Consul client must be set up with service mesh and DNS forwarding enabled, and the virtual machine's DNS must be forwarded to Consul. The service definition sets the service’s name, port, and proxy mode, allowing Consul to assign a virtual IP in the 240.0.0.0/4 range to the service. Once traffic is redirected to the proxy, services can connect to each other using their virtual service names. To automate transparent proxy configuration, scripts can be used to enable traffic redirection before starting the proxy and clean up iptables after stopping the proxy. Consul ACLs must be enabled to authorize communication between services. An intention must also be defined to allow inbound traffic from a source service to a destination service. Once the intention is in place, services can resolve the in-mesh IP of an upstream service using a DNS hostname and connect to it.