Você precisa permitir a entrada das portas que você abriu, não apenas de saída. Caso contrário, o servidor de destino não poderá enviar uma resposta. Se você notar, seu ssh funciona porque você está permitindo entrada e saída. O GIT não funciona porque você está bloqueando a resposta do servidor remoto. O DNS provavelmente está quebrado também.
MySQL: por padrão seu my.cnf não deve permitir conexões remotas; você geralmente tem que explicitamente permitir isso no endereço de ligação.