Algumas técnicas para obter mais informações.
Anote o que você sabe sobre as configurações de rede em cada dispositivo, desenhe um diagrama de como as coisas se conectam. Ao verificar as coisas e executar os testes, considere se essas informações precisam ser adicionadas ou se alguma delas está errada.
Com dois servidores DHCP em uma sub-rede, como você sabe que todos os dispositivos receberão as configurações esperadas? Por exemplo, se a alocação for por endereço MAC, verifique cuidadosamente as configurações do servidor DHCP e verifique se PC0 e PC1 obtêm consistentemente os detalhes que você planejou.
Para distinguir entre um DNS e um problema de roteamento, tente efetuar ping entre PC0 e PC1 e entre cada um deles e cada um dos servidores DNS e roteadores por endereço IP usando ping -n ou seu equivalente no sistema operacional. [ping -n informa ao ping para não procurar os nomes dos hosts ao exibir sua saída, usando isso e fazendo ping para um endereço IP, podemos evitar a necessidade de DNS neste teste]. Algumas das respostas podem não acontecer: pode haver recursos de segurança no dispositivo ou restrições de segurança funcionando corretamente ou um problema: anote o que você testou e qual foi o resultado e, em seguida, pense sobre isso.
Verifique a configuração de PC0 e PC1, incluindo quais nameserver (s) eles devem usar (devem ser especificados como endereços IP, não como nomes) e nomes de domínio (se as duas sub-redes tiverem nomes de domínio diferentes, elas precisam ser especificadas) explicitamente ou na lista de pesquisa de domínio na configuração de DNS do cliente). Verifique se não há configurações nos arquivos de hosts nos PCs que possam colidir com nomes que devem ser resolvidos usando o DNS. Tente executar o ping entre dispositivos pelo nome: mesmo que o ping falhe, ele informará se pode resolver o nome para um endereço IP. Use dig ou nslookup para consultar os dois servidores DNS para ver se ambos podem responder com resoluções para os nomes de PC0 e PC1. Essas consultas devem ser feitas para ambos os servidores de nomes de dispositivos em ambas as sub-redes (por exemplo, dig @ tentará usar para resolver).
Verifique as tabelas de roteamento de PC0, PC1, os dois servidores DNS e os dois roteadores. Veja se todos têm rotas para as sub-redes 172.16.2.xe 172.16.1.x. Eu assumo, mas você deve verificar, que são todas / 24 redes (máscara de sub-rede 255.255.255.0), mas você precisa verificar se todos os dispositivos têm a mesma configuração de máscara de sub-rede e isso é refletido nas tabelas de roteamento. >
traceroute entre PC0 e PC1 (nos dois sentidos) confirmará que o tráfego está tomando o caminho esperado.
Em algum lugar aqui eu pessoalmente estaria usando um sniffer. Você pode não ser capaz de interpretar a saída disso ainda e, esperançosamente, algumas dessas verificações e testes mais simples serão úteis.
Isso tudo deve contribuir para uma imagem mais clara do que funciona, do que não funciona, se esses estados são estáveis (ou seja, funciona ou não em vez de funcionar às vezes) e, provavelmente, por quê.