O fato de uma máquina poder executar o ping com êxito na outra máquina sugere que a máquina do roteador (C) está configurada pelo menos razoavelmente corretamente - o encaminhamento de IP funciona, e não há política padrão de "rejeição" na configuração do iptables. >
Eu ficaria inclinado a suspeitar de uma configuração de firewall na Máquina B que faz com que ela não responda a pings por padrão. Eu não sou guru da Microsoft, então, eu não sei se isso pode ser uma coisa padrão do Windows 7, ou como verificar e consertar isso, mas provavelmente há algum gerenciador de configuração em algum lugar onde você possa clicar.
Se isso não parece estar dando frutos, apenas faça uma verificação de integridade no iptables
config executando iptables -L -n
e certificando-se de que não haja regras na cadeia FORWARD
(alguma coisa da configuração do sistema pode ter adicionou-os) e que a política para essa cadeia é, de fato, ACCEPT
(isso não é uma boa prática de segurança, mas não estamos tão longe quanto "tornar seguro", apenas "fazer funcionar"). Se você não estiver confiante em interpretar a saída, cole o resultado em sua pergunta e alguém lhe dará um joinha positivo.