Não foi possível configurar uma rota de host estática - "SIOCADDRT: esse processo não existe"


11

No meu escritório, há um roteador do Windows Server 2008, 192.168.16.1, que é o nosso gateway padrão. Isso envia dados através da nossa conexão principal à Internet. Isso funciona perfeitamente.

192.168.16.1 também possui outra conexão com a Internet que não está sendo usada no momento. Isso se conecta a um roteador, 192.168.1.254, que se conecta à nossa conexão secundária à Internet.

Eu configurei o roteamento e acesso remoto para rotear o intervalo 192.168.1. * Para a nossa rede interna e posso executar ping em 192.168.1.254 na minha área de trabalho com um endereço IP 192.168.16.22.

Tenho uma tarefa muito intensa de upload e download de uma caixa Linux no mesmo escritório, portanto, desejo configurar uma rota estática para não amarrar nossa conexão principal com a Internet e afetar meus colegas de trabalho. Então, meu plano é configurar essa caixa com uma rota estática.

Na caixa do linux, sou capaz de executar ping em 192.168.1.254, mas não consigo adicionar uma rota estática ao servidor de destino em nosso data center:

$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process

Em pesquisas extensas no Google, essa mensagem de erro parece indicar que não consigo acessar 192.168.1.254 para configurar uma rota, mas posso fazer o ping. Tentei adicionar uma rota estática ao 192.168.1.254, que funcionou perfeitamente, mas isso não resolveu o problema (conforme o esperado).

Não sou avançado o suficiente em redes para diagnosticar ainda mais esse problema, pois minha formação é em desenvolvimento de software, não em administração de sistemas. Ficaria muito grato por qualquer conselho dado.

Obrigado pelo seu tempo.

Respostas:


8

A área de trabalho está em 192.168.16.0/24?

Você não pode adicionar uma rota (a nenhum destino) através de um gateway ao qual você não esteja diretamente conectado, porque o seu computador não sabe como encontrar o caminho para o roteador sem seguir a rota padrão.


Correto, a decisão de roteamento precisa ser definida em 192.168.16.1.
Mark Wagner

2

Você pode obter o erro "SIOCADDRT: neste processo" se "Você tentou definir uma rota para uma rede antes de definir uma rota de host para o gateway que lida com tráfego para essa rede".

por exemplo, para local -> 172.19.0.1 -> 172.19.0.xx

[root@local]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0
SIOCADDRT: No such process

RESPOSTA: Primeiro, crie uma rota de host e, em seguida, crie uma rota de rede.

por exemplo, para a rede em questão: local -> 192.168.1.254 -> 123.123.123.123

sudo route add -host 192.168.1.254 dev eth0

sudo route add -net 123.123.123.123 netmask 255.255.255.255 gw 192.168.1.254 dev eth0

Uma rota estática ainda carregará a rede , acho que depende;). O tráfego de upload / download deve atravessar a rede. Por isso, afetará outros usuários da rede. Você pode limitar o tráfego na largura de banda ou movê-lo para horários mais silenciosos, se desejar reduzir o efeito em outros usuários da rede. por exemplo, o rsync tem boas opções de limitação de largura de banda.

Eu tive um problema semelhante com o roteamento e o SIOCADDRT. local -> dockerserver -> dockercontainer. Adicionar rota de host e rota líquida fez o roteamento funcionar em uma direção.

Isso me ajudou a https://support.symantec.com/en_US/article.TECH142841.html

Exemplo de roteamento completo, roteamento funcionando nos dois sentidos:

dockerserver=172.19.0.1
dockerservernet=172.19.0.0
dockercontainer=172.19.0.25
local=192.168.111.23
localnet=192.168.111.0

### 0. create host route for gw and net route local->docker
[root@local]# route add -host $dockerservernet dev eth0
[root@local]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0

### 1. route on dockerserver to local
[root@dockerserver ~]# route add -net $localnet netmask 255.255.255.0 dev eno1
[root@dockerserver ~]# ping $local

### 2. route FROM dockercontainer to local (via gateway dockerserver)
[root@dockercontainer /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1
[root@dockercontainer /]# ping $local

0

Em relação à parte da pergunta sobre a configuração de rotas persistentes em uma instância do AWS EC2 executando o Ubuntu, é o local correto para colocar rotas estáticas para persistir por meio de uma reinicialização, parada e início da AWS /etc/rc.local.

Nesse arquivo, você precisa colocar suas rotas na linha acima da última linha. Suas linhas devem ficar assim:

route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX

A execução do sudocomando será perdida na reinicialização.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.