Como definir rotas estáticas persistentes no sistema de área de trabalho do KDE com o NetworkManager e o systemd?

0

Eu tenho dois NICs. No NetworkManager > IPv4 > Rotas, eu verifiquei "ignorar rotas obtidas automaticamente" para ambas as interfaces. Então eu usei esses dois comandos:

$ sudo ip route add default via 192.168.1.1 metric 100 dev eth0
$ sudo ip route delete default via 192.168.2.1 dev eth1

O resultado é a tabela de roteamento que eu queria:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     101    0        0 eth1

Como faço para persistir agora?

Caso seja importante, a configuração para eth0 é automática (via DHCP) e para eth1 é estática. Além disso, estou executando o Arch Linux / KDE.

    
por MountainX 15.10.2018 / 03:36

1 resposta

1

Primeiro, remova a configuração do gateway padrão para eth1 de onde quer que você a tenha adicionado. Se não tiver certeza, execute nmcli device status : se o estado de eth1 for unmanaged , então eth1 não será controlado pelo NetworkManager.

Um gateway padrão não é um item de configuração obrigatório para a interface de rede every : você deve configurá-lo apenas para uma interface se a) essa interface estiver conectada a um segmento de rede que realmente contenha um roteador funcionando / gateway para a Internet e b) você realmente deseja usar essa interface para conexões com a Internet.

Se você quiser usar uma interface para acessar somente o segmento de rede ao qual ela está diretamente conectada, você pode e deve omitir completamente a configuração do gateway padrão para essa interface.

Se houver um roteador / gateway no segmento ao qual uma interface está conectada, mas você só deseja / deseja conectividade a um segmento de rede específico (ou segmentos), você deve adicionar uma entrada de rota mais específica (/ entradas ) para especificar quais são esses segmentos.

Se você configurou eth1 com o NetworkManager, execute primeiro nmcli connection show para identificar o nome da conexão de rede que o NetworkManager está usando no momento para eth1 . Execute nmcli connection show <connection-name> para ver todas as configurações dessa conexão.

Em seguida, use, e. sudo nmcli connection modify <connection-name> ipv4.gateway "" para excluir persistentemente o gateway falso das configurações de conexão estática para essa conexão.

Em seguida, desmarque "ignorar rotas obtidas automaticamente" para eth0 e desative & reative a conexão para eth0 . Se o seu DHCP funcionar corretamente, você deverá receber um gateway padrão através de eth0 , e como eth1 atualmente não tem um gateway padrão, o NetworkManager + seu cliente DHCP agora deve aceitar automaticamente uma configuração de gateway padrão das informações de DHCP para eth0 .

Se o seu servidor DHCP lhe fornecer um endereço IP, mas não houver informações de gateway padrão para eth0 , você deverá tentar corrigir o servidor DHCP. Se você não puder fazer isso, você pode contorná-lo adicionando as informações de gateway ausentes através do NetworkManager ou através do arquivo de configuração do seu cliente DHCP - mas um servidor DHCP que não forneça informações de gateway padrão quando deveria não está fazendo trabalho.

    
por 15.10.2018 / 07:32