Estranho! Você consegue pingar 127.0.0.1?

Essas máscaras de sub-rede definem o tamanho da 'rede' usada. Isso é tudo hexadecimal a princípio 0 == 00 e 255 == FF, e tem umas contas que você faz prá saber o tamanho da rede... A princípio 255.0.0.0 para o ip 10.0.0.1 significa que sua rede vai de 10.0.0.0 para 10.255.255.255.

255.255.255.0 significa que é 10.0.0.0 a 10.0.0.255. Não pode existir por exemplo, uma máscara 255.255.0.255. É contra as leis da natureza do TCP/IP Uma conta mais-ou-menos prá você calcular isso:
10.0.0.0/255.255.255.255 (bitmask /32), 1 ip: só tem o 10.0.0.0
10.0.0.0/255.255.255.254 (bitmask /31), 2 ips, o 10.0.0.0 e 10.0.0.1
10.0.0.0/255.255.255.252 (bitmask /30), 4 ips, a conta? 256 - máscara.

por exemplo: 255.255.255.224 (bitmask /27): 256 - 224 = 32. Redinha de 32 IPs
Pro penúltimo 255 mexer, o ultimo tem que ser zero: nao vai existir também: 255.255.252.224, apenas 255.255.252.0.
Quantos IPs nessa ultima rede? Prá ficar 'bonitinho', faz as contas assim:
256.256.256.256
-255.255.252.0
Faz de conta que os '.' são sinal de multiplicação (como mágica)
1×1×256-252×256-0=4×256=1024 IPs.

Nota uma coisa: não existe 255.255.255.253, não. O número de IPs é sempre multiplicado por 2 (ou o número de redes, olhando inversamente, multiplicado por 2 também) então c começa do 1. depois 2. então 4. aí vai prá 8, 16, 32, 64, 128, 256, 512 (já começou a mexer no penultimo '255'), 1024, 2048...... até 256×256×256×256 (o número máximo de IPs possíveis para a internet!)

Sobre minha dica, eu me baseei nisso:
se você cria uma rede 10.0.0.0/24, essa equivale à bitmask 255.255.255.0 (conta inversamente o 255.255.255.255 a cada 'rede', começando do 32: 255(32) 254(31) 252(30) 248(29) 240(28) 224(27) 192(26) 128(25) 0(24) (aí começa a pentelhar o 255 da esquerda), vocÊ vai pingar 10.0.0.2 e vai passar pela rota 10.0.0.0/24. Se pingar 10.0.0.150 vai também pela 10.0.0.0/24.
Mas se você fizer uma segunda rota, por exemplo, 10.0.0.0/25 (do 0 ao 127), quando pingar 10.0.0.2 vai passar pela 10.0.0.0/25, mas quando pingar 10.0.0.150, vai pela velha 10.0.0.0/24.
Em suma, a rota que prevalece é a menor. Uma rota menor fica na 'frente' da mais ampla. Senão a rota default (o gateway) que é 0.0.0.0/0 (mascara 0.0.0.0) não ia deixar você enchergar nem o IP do próprio gateway, por significar uma rota prá TODOS os IPs!.. Então, a rota default não se lê "para todos os IPS", mas sim "para o que não já estiver na lista de roteamento". Então no caso 10.0.0.0/24 significa 'o que não estiver na 10.0.0.0/25'.

Imaginei que você podia ter feito alguma rota mais específica (como 255.255.255.0) e configurado seu IP como 255.0.0.0, então a rota estática tivesse sobrepondo à rota da interface colocada ao fazer ifconfig. Mas parece que aí o inferno tá mais embaixo... Como você já limpou todas as regras do IPtables... A propósito, as politicas (policy) das correntes (chain) em todas as tabelas (filter, mangle, nat) estão 'Accept'?.. Talvez seja essa política.