Em geral, seu processo será:
- Pare o gerenciador de rede
- traga a interface para baixo
- atribua o endereço e a máscara de rede (usando ifconfig)
- opcionalmente, crie uma rota para um gateway se a interface for a que acessará a Internet (usando rota)
- trazer de volta a interface
- e também:
- Se a atribuição de endereços IP gerenciados por DHCP, conforme definido em
/etc/network/interfaces
:
- não faz nada.
-
service network-manager force-reload
- Se a atribuição de endereço IP estático, conforme definido em
/etc/network/interfaces
:
- alterar (ou definir) o IP, a máscara de rede, a transmissão e o gateway, conforme necessário
-
service network-manager start
Claro, o network-manager é capaz de atribuir rotas estáticas também. Apenas defina sua rota estática na GUI do gerenciador de rede e, em seguida, service network-manager force-reload
no terminal. Feito.
Ou alterne de volta para o DHCP atribuído dinamicamente removendo a definição de rota estática da GUI do gerenciador de rede e, em seguida, service network-manager force-reload
no terminal. Feito.
Ou você pode fazer isso ...
A maneira mais difícil
O que também é o caminho logicamente perfeito e seguro.
Estas instruções supõem que sua interface é "eth0". Se não estiver, você precisará alterar todos os comandos e áreas inseridos para refletir sua interface.
Primeiro, verifique se o gerenciador de rede está em execução:
service network-manager status
Se estiver em execução, clique com o botão direito do mouse em Network-Manager e clique em "Editar conexões ...". Selecione a [interface] com a qual você está tendo problemas e clique em "Editar ...". Clique na guia "Configurações IPv4". Se você vir alguma entrada em "Endereços", exclua-as. "Salve" as configurações e feche o Network-Manager.
Em seguida, em um terminal, essas quatro cadeias de comando substituem os colchetes e a área dos limites internos por valor:
sudo service network-manager stop;
sudo ifconfig eth0 down;
sudo ifconfig eth0 [static IP you want] netmask [netmask; generally 255.255.255.0] up;
ifconfig eth0;
Você deve ver que sua interface agora tem o endereço desejado, mas não terminamos. Para tornar as configurações persistentes (por exemplo, nas reinicializações), você precisará editar (como root) /etc/network/interfaces
e localizar a seção relacionada à sua [interface] ou adicionar uma nova seção, separando cada seção (cada "seção" define uma interface) por uma linha em branco:
Exemplo (se já existir no arquivo, semelhante ou semelhante a):
auto eth0
iface eth0 inet dhcp
Exemplo (mude para isto, ou adicione se não existir):
auto eth0
iface eth0 inet static
address [ip address goes here]
netmask [netmask goes here]
broadcast [for netmask 255.255.255.0, this should be x.x.x.255 where x from IP]
(optional here, if this is will be your internet interface, "gateway [gateway addr]" goes here)
É importante observar que você não deseja o dhcp
-signed IP, você deseja static
-IP. Observe a diferença na estrutura entre os dois exemplos acima.
Salve.
Agora, se essa interface for destinada à Internet ou ao roteamento externo (ou seja, a comunicação na interface precisa acessar IPs fora da rede da interface, que é definida pela sua máscara de rede):
No terminal:
sudo route add default gw ["inside local" IP address of your router or other gateway]
Verifique se suas configurações estão corretas com:
sudo ifconfig eth0|grep addr && route|grep UG|awk '{print "Gateway:", , "Interface:", }';
Agora:
sudo service network-manager start
... para reiniciar o gerenciador de rede. Neste ponto você deve estar pronto para ir.
No futuro:
Se você precisar alterar seu IP estático para outro IP estático depois disso, será tão simples quanto sudo service network-manager stop
conforme o exemplo acima, sudo ifconfig eth0 down
, editar /etc/network/interfaces
conforme o exemplo acima e alterar o endereço IP a seu gosto, sudo ifconfig eth0 [ip address] netmask [netmask] up
conforme o exemplo acima e, em seguida, sudo network-manager start
conforme o exemplo acima, nessa ordem.
Se você quiser que o DHCP atribua endereços IP automaticamente à interface, é tão simples quanto sudo service network-manager stop
conforme o exemplo acima, sudo ifconfig eth0 down
, edite /etc/network/interfaces
conforme o exemplo acima e remove as linhas endereço, máscara de rede, transmissão, gateway e alterar a parte que diz static
a dhcp
, sudo ifconfig eth0 0.0.0.0 netmask 255.255.255.0 up
, sudo service network-manager start
. Feito.