Jak skonfigurować statyczny adres IP dla menedżera sieci w Virtual Box na Ubuntu Server

14

Cześć, czy ktoś zna obcojęzyczną wersję Ubuntus Network Manager?

Chciałbym skonfigurować z nim statyczny adres IP w virtualboxie bez dotykania pliku /etc/network/interfaces.

  • IP: 192.168.56.101
  • Brama: 102.168.1.1
  • Maska sieci: 255.255.255.0

Dodatkowo chciałbym skonfigurować drugi interfejs sieciowy z dynamicznym adresem IP, aby połączyć się z Internetem za pomocą Vbox.

Josh
źródło

Odpowiedzi:

7

Musisz użyć Network Mangera z wiersza poleceń, to jest nmcli .

Po pierwsze, możesz wymienić dostępne połączenia, o których Menedżer sieci wie o następujących sprawach: ważne jest, aby znaleźć nazwę, ponieważ identyfikator urządzenia nie jest używany:

# nmcli con show

To da ci coś takiego:

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

Następnie możesz zmodyfikować połączenie w następujący sposób:

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"

Kiedy wpiszesz powyższe, użyj jednej linii, właśnie podzieliłem ją na osobne linie, aby była bardziej przejrzysta.

Jeśli chcesz ustawić połączenie tak, aby korzystało z DHCP, możesz użyć następujących opcji:

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

Potrzebujesz wszystkich pustych cytatów, ponieważ usuwają wszystkie ustawienia, które wcześniej miały.

Aby dodać sieć, użyj:

nmcli con add ...

O podobnych parametrach.

Aby aktywować ustawienia, uruchom ponownie. (Próbowałem ponownie uruchomić Network Managera, ale to nie wydawało się aktywować zmian, ale zrestartowało się).

John Simmonds
źródło
Flaga typu nie była dla mnie oczywista. Skonfigurowałem eth1jako interfejs sieci wewnętrznej za pomocą statycznego adresu IP. 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

Dla tych, którzy chcą podejścia NetworkManager, właśnie to przeszedłem, przyjmując sugerowane MS tack. Na wiki Debiana znajduje się odrobina informacji i pełna dokumentacja opcji na stronie programistycznej GNOME . (Z dokumentów RHEL7 wygląda na to, że ich wersja nmclima obsługę dodaną, więc mam nadzieję, że to się uda.)

Dynamiczny adres IP jest dość prosty (wystarczy wykonać konfigurację sieci, nie po stronie 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

Użyj uuidgen(pakiet uuid-runtime), aby utworzyć identyfikator użytkownika i oczywiście poprawnie wypełnij adres MAC. (Zwykle lepiej to zrobić niż podać nazwę urządzenia).

Dla statycznego adresu IP (zwróć uwagę na średnik w tablicy 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
źródło
1
To jest katalog, w którym plik pokazuje życie/etc/NetworkManager/system-connections/
Aaron Lelevier
3

Zwykle edytuję plik /etc/network/interfacesi modyfikuję informacje w taki sposób:

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
źródło
5
OP powiedział, że nie chce dotykać / etc / network / interfaces
guntbert
Masz rację, chciałbym to zrobić przez menedżera sieci. Ale ponieważ w dokumentacji tego brakuje dotknięcia pliku interfejsów będzie w porządku.
Josh
2

Ponieważ pytanie dotyczy konkretnie NetworkManagera: nigdy nie konfigurowałem połączenia NM z cli, a nmclinarzędzie nie wydaje się mieć opcji tworzenia połączenia. Ale możesz chcieć sprawdzić, co robi GUI, kiedy deklarujesz połączenie jako połączenie systemowe. Tworzy plik, /etc/NetworkManager/system-connectionsale nie wiem, czy format pliku jest gdziekolwiek udokumentowany.

Powinieneś być w stanie włączyć jedno z tych połączeń przez nmcli con up $name.

mss
źródło
2

Edytować:

Aby dodać kolejny interfejs, który może uzyskać dostęp do Internetu w Vbox, skorzystaj z karty sieci w menu ustawień. Następnie włącz dodatkowy interfejs i ustaw go na NAT (ponieważ jest to najłatwiejszy sposób na dostęp do Internetu). A w maszynie wirtualnej dodaj kolejny interfejs z dhcp, taki jak: allow-hotplug eth1i po przełamaniu liniiiface eth1 inet dhcp

(Z jakiegoś powodu moje formatowanie poszło źle.)

W ten sposób możesz uzyskać dostęp do sieci za pomocą połączenia systemu operacyjnego hosta.


Wiersz polecenia „klienta” menedżera sieci jest mylący i prawie bezużyteczny w porównaniu ze standardowym sposobem zarządzania interfejsami pod Linuksem (i większością innych uniksów). Zwykle najpierw usuniesz już włączony interfejs sieciowy (jeśli jest włączony) {uruchom ifconfig, aby się dowiedzieć}:

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

Następnie edytuj plik / etc / network / interfaces (wolę używać nano):

sudo nano /etc/network/interfaces

I dodaj sekcję wzdłuż linii:

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

Pamiętaj również, że musisz usunąć każdą inną obecność eth0 z pliku, w przeciwnym razie system nie będzie w stanie poprawnie przeanalizować pliku i nie będziesz mieć połączenia sieciowego. I na koniec musisz ponownie włączyć interfejs:

ifup eth0

Powinno to spowodować, że Twoje Ubuntu automatycznie skonfiguruje interfejs z żądanymi parametrami, gdy tylko wykryje, że „kabel jest podłączony”.

Również jeśli naprawdę chcesz uniknąć edycji pliku interfejsów, możesz użyć:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Myślę , że w ten sposób zmiany nie będą trwałe (stracisz je między restartami itp.), Ale sam tego nie testowałem.

Wolfer
źródło
Mógłbyś powiedzieć o poleceniu ip- ifconfigspada.
guntbert
2

Obecnie wersje Ubuntu mają włączonego Network Managera.

Możesz uzyskać nazwę połączenia za pomocą polecenia:

nmcli con show

Możesz zmodyfikować swój statyczny adres IP z wiersza poleceń:

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

Uwaga: / 24 definiuje maskę sieci na 255.255.255.0

Plik /ect/network/interfacesjest ignorowany, jeśli mają tę właściwość managed=falsena/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=**false**
Juanjo
źródło
1

zakładając, że miałeś na myśli 192.168.1.1 zamiast 102.168.1.1. 192.168.56.101 i 192.168.1.1 są w różnych sieciach i nie będą rozmawiać bez pomocy. potrzebujesz tego:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

zakładając, że masz skrzynkę (przełącznik routera / warstwy 3 itp.) z adresem IP 192.168.56.1, aby odpowiedzieć.

W przypadku a / 24 (255.255.255.0) musisz dopasować pierwsze trzy oktety na hoście i bramie domyślnej 192.168.56.X lub 192.168.1.X.

użytkownik125242
źródło
1
OP powiedział, że nie chce dotykać / etc / network / interfaces.
guntbert
Zgadza się. Tak powiedziałem. W międzyczasie potrzebuję rozwiązania dla Netplan. Czy poniższe polecenie nmcli działa również, gdy używany jest netplan
Josh
0

Łatwo skonfiguruj statyczny adres IP za pomocą bramy i 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
źródło
Czy jest kompatybilny z Netplan?
Josh