Posso apagar o gateway padrão em uma interface, sem conhecer o IP da interface?

1

Estou tentando escrever um script que envolverá a modificação da configuração IPv4 de uma interface. A interface pode ou não já ter qualquer um dos seguintes configurados:

  • endereço IP
  • Máscara de sub-rede
  • Gateway padrão
  • Servidores DNS
  • Servidores WINS

Quando meu script estiver pronto, quero somente as opções que defini para serem configuradas. (por exemplo: Se eu não definir um servidor Gateway, DNS ou WINS, então não quero que nenhum seja configurado.) Eu acho que a maneira mais fácil de garantir isso é eliminar a configuração existente tanto quanto possível e, em seguida, criar até o que eu preciso.

Deixar o endereço IP e a máscara de sub-rede existentes está correto, porque eles definitivamente serão sobrescritos todas as vezes. Parece bastante simples excluir os servidores DNS e WINS com netsh .

netsh interface ipv4 delete dns "LAN" all
netsh interface ipv4 delete wins "LAN" all

Meu problema vem com a exclusão do gateway. Parece que todo comando netsh que é usado para modificar o gateway padrão requer o endereço IP atual como um parâmetro. No entanto, isso nem sempre será algo conhecido. Não existe uma maneira de usar netsh para excluir todos os gateways configurados para uma interface, sem especificar o IP?

    
por Iszi 13.08.2013 / 17:21

2 respostas

3

Leaving the existing IP Address and Subnet Mask is okay, because these will definitely be overwritten every time.

Como você está sobrescrevendo o IP e a máscara de sub-rede, use netsh para excluir o gateway na mesma etapa. por exemplo:

netsh interface ipv4 set address "Local Area Connection" static 192.168.1.100 255.255.255.0 none

Aqui, você coloca none onde o Default Gateway normalmente iria. Isso especifica que nenhum gateway será usado com esse IP.

    
por 13.08.2013 / 17:59
2

Excluir o gateway padrão:

route delete -p 0.0.0.0
    
por 13.08.2013 / 17:38

Tags