Do M1 você pode fazer ping do lado de fora, e do M3 você pode fazer ping no M1. Assim, a única configuração incorreta pode ocorrer dentro do M1, como um intermediário.
Eu não estou familiarizado com o pacote firestarter, mas no Debian eu teria configurado o M1 da seguinte maneira (comandos a serem emitidos como sudo):
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
O primeiro comando permite genericamente o encaminhamento. As outras duas instruções ativam o nat (o primeiro) e permitem o encaminhamento do M3. Eu suspeito que isso possa ser a raiz do seu problema porque você afirmou que o iptables foi desativado.