VirtualHosts é a resposta, mas você deve atribuir outro endereço IP ao servidor FTP. Digamos que o IP do NAT seja 172.16.1.10 e você adicione 172.16.1.11. Então você usa:
<VirtualHost 172.16.1.10>
...external config here...
</VirtualHost>
<VirtualHost 172.16.1.11>
...internal config here...
</VirtualHost>
Em seguida, configure seu DNS interno para que os usuários internos resolvam seu servidor FTP para 172.16.1.11. Se você deseja uma segurança mais rigorosa, configure o iptables para permitir conexões apenas para FTP do roteador para 172.16.1.10 e dos IPs internos para 172.16.1.11.