Meu palpite é que o erro "resposta do rtnetlink: argumento inválido" é porque o endereço IP, a máscara e o gateway não são da mesma classe (classe A ou B ou C); ou porque um endereço "estático" entra em conflito com alguns intervalos de endereços DHCP.
A tabela para R8 no seu esquema não é uma tabela de roteamento, mas descreve o que R8 fará com endereços. Onde se diz, por exemplo, 10.0.0.0, isto deve ser entendido como significando Segmento de rede 10.0.0.0/24 em vez do endereço IP.
Para sub-redes não acessíveis diretamente a partir da R8, como 16.0.0.0/24, a tabela de roteamento irá direcionar a mensagem para o roteador que é o mais próximo para a rede de destino, e esse roteador passará a mensagem de acordo para sua própria tabela de roteamento. Neste caso, as mensagens endereçadas para 16.0.0.X é passado para o gateway 10.0.0.2, que é o endereço do R7, que os encaminhará para o destinatário certo.
O comando de roteamento executado no R8 deve ser semelhante a:
ip route add 16.0.0.0/24 via 10.0.0.2 src 10.0.0.1
O parâmetro src é usado ao adicionar uma rota a um host com hospedagem múltipla, ter controle sobre o endereço IP de origem do qual seu host está enviando. Pode ser omitido em casos simples. Isso garantirá que a mensagem de retorno retornará através do 10.0.0.0/24 sub-rede, mas outros valores podem ser usados se preferirmos R7, por algum motivo, não devolver a mensagem através dessa sub-rede.
Observe que o src que você está dando afetaria apenas o tráfego originado no seu final. Se um pacote externo está sendo roteado, obviamente ele já teria um endereço IP de origem, então seria normalmente passado inalterado (a menos que usando NAT, e isso também pode ser substituído).
Noto que, em geral, não é necessário fornecer rotas para cada destino.
Assim como um computador pode especificar um gateway padrão em seu roteamento
tabela, que é um endereço pega-tudo que recebe todas as mensagens para endereços
que ele não sabe, o mesmo acontece com um roteador tem sua própria tabela de roteamento
que pode conter um gateway.
O endereço do gateway do roteador é representado pela rota padrão de 0.0.0.0
.
Observe que é totalmente possível até mesmo configurar um circuito de gateways na rede, por exemplo:
R1 ➝ R4 ➝ R8 ➝ R7 ➝ R6 ➝ R2 ➝ R1.
O número de saltos não está otimizado aqui, mas as mensagens ainda serão obtidas de todos os
sub-rede para todas as outras sub-redes.
Um bom design de rede normalmente incluirá um ou mais roteadores centralizados,
a fim de minimizar o número de saltos.