Como configurar um IP estático para o gerenciador de rede no Virtual Box no Ubuntu Server

12

Oi, alguém está familiarizado com a versão não gui do ubuntus network Manager?

Gostaria de configurar um IP estático com ele no virtualbox sem tocar no arquivo /etc/network/interfaces.

  • IP: 192.168.56.101
  • Gateway: 102.168.1.1
  • Máscara de rede: 255.255.255.0

Além disso, eu gostaria de configurar uma segunda interface de rede com um IP dinâmico para se conectar à Internet com o Vbox.

Josh
fonte

Respostas:

6

Você precisa usar o Network Manger na linha de comando, este é nmcli .

Primeiro, você pode listar as conexões disponíveis que o Network Manager conhece com o seguinte: é importante encontrar o nome, pois a identificação do dispositivo não é usada:

# nmcli con show

Isso lhe dará algo como:

NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  7a3b674a-f346-3cfb-8b30-ff70e6db1b60  802-3-ethernet  enp0s3

Você pode modificar a conexão com o seguinte:

nmcli con mod "Wired connection 1"
  ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"
  ipv4.gateway "IP_GATEWAY"
  ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"
  ipv4.dns-search "DOMAIN_NAME"
  ipv4.method "manual"

Quando você digitar o acima, use uma linha, eu apenas o dividi em linhas separadas para torná-lo mais claro.

Se você deseja configurar a conexão para usar o DHCP, pode usar o seguinte:

nmcli con mod "Wired connection 1"
  ipv4.addresses ""
  ipv4.gateway ""
  ipv4.dns ""
  ipv4.dns-search ""
  ipv4.method "auto"

Você precisa de todas as aspas vazias, pois elas removem as configurações que possuem anteriormente.

Para adicionar uma rede, use:

nmcli con add ...

Com parâmetros semelhantes.

Para ativar as configurações, reinicie. (Tentei reiniciar o Network Manager, mas isso não pareceu ativar as alterações, mas uma reinicialização.)

John Simmonds
fonte
A bandeira de tipo não era óbvia para mim. Eu configurei eth1como a interface de rede interna usando IP estático. sudo nmcli con add type "ethernet" ifname "eth1" con-name "intnet" autoconnect "yes" ip4 "192.168.0.1/24" gw4 "192.168.0.2"
Jack Miner Ewes
6

Para aqueles que querem a abordagem do NetworkManager, acabei de passar por isso, adotando a abordagem sugerida pelo ms. Há um toque de informações no wiki Debian e documentação completa das opções no site do desenvolvedor do GNOME . (Nos documentos do RHEL7, parece que a versão deles nmclitem suporte adicional, por isso espero que isso aconteça.)

O IP dinâmico é bem simples (basta fazer a configuração da rede, lembre-se, não do lado da VBox):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 1
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=disabled

[ipv4]
method=auto

Use uuidgen(pacote uuid-runtime) para criar o uuid e, é claro, preencha o endereço MAC corretamente. (Geralmente é melhor fazer isso do que especificar um nome de dispositivo.)

Para o IP estático (observe o ponto-e-vírgula na matriz DNS!):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 2
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=ignore

[ipv4]
method=manual
dns=8.8.8.8;8.8.4.4;
address1=192.168.56.101/24,192.168.1.1
jtniehof
fonte
1
Este é o diretório em que o arquivo /etc/NetworkManager/system-connections/
fica
3

Normalmente eu edito o arquivo /etc/network/interfacese modifico as informações para algo assim:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1 (u had 102.168.1.1. So, I guessed it was a mistake)
AcidRod75
fonte
5
O OP disse, ele não queria touch / etc / network / interfaces
guntbert
Você está certo, eu gostaria de fazê-lo através do gerenciador de rede. Mas, como a documentação deste item não toca no arquivo de interfaces, tudo bem.
21713 Josh
2

Como a pergunta é específica sobre o NetworkManager: nunca configurei uma conexão NM a partir do CLI e a nmcliferramenta não parece ter uma opção para criar uma conexão. Mas você pode dar uma olhada no que a GUI faz quando declara uma conexão como uma conexão do sistema. Ele cria um arquivo, /etc/NetworkManager/system-connectionsmas não sei se o formato do arquivo está documentado em qualquer lugar.

Você deve poder habilitar uma dessas conexões via nmcli con up $name.

mss
fonte
2

Editar:

Para adicionar outra interface que possa acessar a Internet no Vbox, use a guia rede do menu de configurações. Em seguida, ative uma interface adicional e defina-a como NAT (pois essa é a maneira mais fácil de acessar a Internet). E na máquina wirtual, adicione outra interface com dhcp da seguinte forma: allow-hotplug eth1e após uma quebra de linhaiface eth1 inet dhcp

(Por algum motivo, minha formatação ficou ruim.)

E dessa forma, você pode acessar a rede usando a conexão do sistema operacional host.


A linha de comando "cliente" do gerenciador de rede é confusa e praticamente inútil quando comparada à maneira padrão de gerenciar interfaces no Linux (e na maioria dos outros unixes). Normalmente, você primeiro desativaria a interface de rede já ativada (se ativada) {execute o ifconfig para descobrir}:

ifconfig eth0 down #note: I assume you want to configure eth0, replace it if not

Depois disso, edite o arquivo / etc / network / interfaces (eu prefiro usar o nano):

sudo nano /etc/network/interfaces

E adicione uma seção ao longo das linhas de:

allow-hotplug eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

Lembre-se também de que você precisa remover qualquer outra presença de eth0 do arquivo, para que o sistema não consiga analisar o arquivo corretamente e você não terá uma conexão de rede. E, finalmente, você precisará reativar a interface:

ifup eth0

E isso deve fazer com que o seu ubuntu configure automaticamente a interface com os parâmetros desejados sempre que detectar que o "cabo está conectado".

Além disso, se você realmente deseja evitar a edição do arquivo de interfaces, pode usar:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Eu acho que desta forma as alterações não serão permanentes (você vai perdê-los entre reboots, etc.), mas eu não tinha testado que eu.

Wolfer
fonte
Você poderia ter dito sobre o comando ip- ifconfigestá em declínio.
guntbert
2

Atualmente, as versões do Ubuntu têm o Network Manager ativado.

Você pode obter o nome da conexão com o comando:

nmcli con show

Você pode modificar seu endereço IP estático na linha de comando:

sudo nmcli con mod "Connection name" ipv4.addresses xxx.xxx.xxx.xxx/24

Nota: / 24 define a máscara de rede para 255.255.255.0

Arquivo /ect/network/interfacesé ignorado se você tem a propriedade managed=falsede/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=**false**
Juanjo
fonte
0

assumindo que você quis dizer 192.168.1.1 em vez de 102.168.1.1. 192.168.56.101 e 192.168.1.1 estão em redes diferentes e não falam sem ajuda. o que você precisa é isso:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

supondo que você tenha uma caixa (switch router / layer3, etc) com um ip 192.168.56.1 para responder.

Com um / 24 (255.255.255.0), é necessário que os três primeiros octetos correspondam ao host e ao gateway padrão, 192.168.56.X ou 192.168.1.X.

user125242
fonte
1
O OP disse que ele não queria tocar em / etc / network / interfaces.
guntbert
Está certo. Eu disse que sim. Enquanto isso, preciso de uma solução para o netplan. O comando nmcli abaixo também funciona quando o netplan é usado
Josh
0

Configure facilmente o IP estático com gateway e DNS:

$ sudo nmcli con mod Your-Network ipv4.addr 172.17.100.118/23 gw4 172.17.100.1 ipv4.dns 1.1.1.1,1.0.0.1
Vinicius Torino
fonte
É compatível com o netplan?
Josh