Cara mengatur IP statis pada Ubuntu Server 18.04

29

Saya telah melihat beberapa orang mengatakan file untuk mengatur ip statis masih /etc/network/interfaces

Dan saya telah melihat orang lain mengatakan bahwa pada 18,04 sekarang /etc/netplan(yang orang tampaknya tidak senang)

Saya sudah mencoba meletakkan ini:

version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.9/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

Dalam saya /etc/netplan/50-cloud-init.yamldan melakukan sudo netplan applytetapi itu hanya membunuh koneksi server ke internet.

final20
sumber
Apakah itu desktop atau server?
user68186
Apakah ini pemasangan baru 18,04 atau meningkatkan dari versi lain?
WinEunuuchs2Unix
Maaf saya seharusnya mengatakan ini dalam teks, ini adalah instalasi baru dari server 18.04.
final 20
Solusi paling sederhana bagi saya adalah, untuk menentukan alamat IPv4 statis saat instalasi (bersama dengan subnet, gateway, dll.). Cukup isi beberapa bidang penyihir, tanpa mengacaukan file konfigurasi.
Uwe Keim
Anda juga dapat melakukan ini di router. Langkah-langkahnya sudah jelas dalam konfigurasi router.
Staf EODCraft

Jawaban:

13

Ini diatur instruksi IP statis di Ubuntu-Server 18.04

$ sudo nano /etc/netplan/50-cloud-init.yaml

Kemudian ganti konfigurasi Anda, misalnya, baris berikut:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
     dhcp4: no
     addresses: [192.168.1.137/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

Menerapkan perubahan:

$ sudo netplan apply

Jika Anda mengalami beberapa masalah, jalankan:

$ sudo netplan --debug apply

[ CATATAN ]:

  • /24 setara dengan 255.255.255.0
  • ens160 adalah nama ethernet Anda, Anda bisa menggunakannya $ ifconfig
  • Ubuntu 16.04 dan 14.04 konfigurasi antarmuka jaringan memiliki metode yang berbeda.
  • File dalam format YAML : Gunakan spasi, tanpa tab.
Benyamin Jafari
sumber
tidak dapat melakukan ping setelah menetapkan alamat IP statis
user2763554
OK .... Saya bisa melakukan ping setelah melakukanservice networking restart
user2763554
1
Saya tidak akan melakukan itu karena file itu dihasilkan oleh CloudInit
Ludovic Kuty
13

Semua jawaban yang memberitahu Anda untuk mengedit langsung /etc/netplan/50-cloud-init.yamlsalah karena CloudInit digunakan dan akan menghasilkan file itu. Di Ubuntu 18.04.2 tertulis dengan jelas di dalam file:

$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eno1:
            dhcp4: true
    version: 2

Jadi Anda tidak boleh mengedit file itu tetapi file yang di bawah /etc/cloud/cloud.cfg.d/jika Anda masih ingin menggunakan CloudInit.

Cara lain adalah menonaktifkan CloudInit terlebih dahulu dengan membuat file kosong /etc/cloud/cloud-init.disabled(lihat https://cloudinit.readthedocs.io/en/latest/topics/boot.html ) dan kemudian jawaban lainnya OK. Di bawah Ubuntu 18.04.2 saya harus menggunakannya dpkg-reconfigure cloud-inituntuk memperhitungkan file /etc/cloud/cloud-init.disabled. Saya pikir ini agak aneh.

Saya menyarankan Anda untuk mengganti nama file (bukan nama yang tepat karena 50-cloud-init.yamlbiarkan kami pikir itu masih menggunakan CloudInit).

Maka Anda mungkin berakhir dengan nama file /etc/netplan/01-netcfg.yamlyang berisi konfigurasi di bawah ini. Catat penggunaan networkdrenderer alih-alih NetworkManagerkarena konfigurasi ada di server.

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses: [192.168.1.246/24]
      gateway4: 192.168.1.1
      nameservers:
         addresses: [192.168.1.1]
Ludovic Kuty
sumber
2
Ini bekerja dengan baik. Ini harus menjadi jawaban terbaik. 50-cloud-init.yaml sebagaimana dinyatakan tidak boleh dimodifikasi.
Peninggalan
2
Jika masih menggunakan CloudInit, Anda perlu melakukan sudo cloud-init clean -runtuk mendapatkan perubahan yang diambil, sesuai jawaban veperr (setidaknya untuk saya di Ubuntu Server 18.04.3).
Stuart Rossiter
1
... ditambah rendererbaris tidak lagi valid sepertinya (dan tidak ada dalam versi dasar file yang Anda edit).
Stuart Rossiter
6

Ubuntu 18.04 sekarang menggunakan Netplan untuk mengkonfigurasi antarmuka jaringan, sehingga konfigurasi harus dilakukan dalam file /etc/netplan/50-cloud-init.yaml, dokumentasi menyarankan untuk tidak mengacaukan lagi dengan file lama /etc/network/interfaces. Saya telah menggunakan konfigurasi ini dengan mesin virtual Ubuntu Server saya dan itu berfungsi sejauh ini, hanya pastikan info sudah benar; yang optional: truepengaturan seharusnya mempercepat waktu booting dengan tidak memverifikasi jika antarmuka terhubung atau tidak, ini adalah default, juga tidak perlu dengan nilai-nilai mendeklarasikan tidak digunakan, misalnya DHCP, jika mereka tidak hadir mereka diambil sebagai cacat, juga renderer default di Ubuntu Server adalah networkdjadi tidak perlu mendeklarasikannya. Mengambil informasi dari pos Anda, seharusnya seperti ini:

network:
    ethernets:
        eht0:
            addresses:
            - 192.168.1.9/24
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]
            optional: true
    version: 2

Setelah Anda menyimpan file, jalankan sudo netplan --debug applydengan debugInfo bendera akan menampilkan lebih banyak dan dapat membantu untuk mendeteksi kesalahan. Periksa kabel ethernet, jika dalam virtual review konfigurasi VM. Jika menggunakan WLAN saya telah membaca bahwa ini sedikit lebih rumit untuk diatur tetapi saya belum menyiapkan mesin yang terhubung ke WiFi dengan versi server ini.

Jika Anda ingin info lebih lanjut tentang Netplan ada sebuah situs web, ada beberapa contoh konfigurasi dasar.

https://netplan.io/

badger_8007
sumber
5

File konfigurasi dalam format YAML : Jangan gunakan TAB saat mengkonfigurasi file. Ini hanya berfungsi dengan SPACE .

Ini masalah saya.

HubbleT
sumber
4

Saya telah menemukan cara lain menggunakan cloud-init.

  1. Edit file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg- isinya sepertinya sama dengan di / etc / netplan.
  2. bersihkan, reboot, dan inisialisasi ulang cloud-initdengan perintah ini:

    sudo cloud-init clean -r
    
  3. Itu dia! Sistem Anda akan reboot, cloud-initakan menginisialisasi ulang dan mengambil perubahan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfgdan menerapkannya /etc/netplan/50-cloud-init.yamldan semua akan baik-baik saja. Verifikasi dengan ifconfig.

veperr
sumber
0

Ini adalah pengaturan yang membuatnya bekerja.

$sudo nano /etc/netplan/50-cloud-init.yaml

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
  version: 2  

$sudo netplan apply

restart server

ubah eth0 ke adaptor Anda, cari tahu adaptor Anda menggunakan ifconfig.

Gali
sumber
0

Untuk menemukan antarmuka ethernet yang tersedia gunakan ip link show

Kemudian edit file 50-cloud-init.yaml menggunakan $sudo nano /etc/netplan/50-cloud-init.yaml

Tambahkan konfigurasi untuk antarmuka yang tersedia seperti eth0: dan eth1:

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
     eth0:
     addresses:
     - 192.168.1.9/24
     dhcp: false
  version: 2  

Kemudian gunakan perintah $sudo netplan applyuntuk menerapkan perubahan.

Anand Prakash Singh
sumber
0

Cara mengatur IP statis pada Ubuntu Server 18.04

Kemudian edit file 50-cloud-init.yaml menggunakan$sudo vim /etc/netplan/50-cloud-init.yaml


network:
  ethernets:
    eno1:
        addresses:
        - 10.0.1.10/24
        dhcp4: false
        gateway4: 10.0.1.1
        nameservers:
            addresses:
            - 10.0.1.2
            search: []
version: 2

Menerapkan perubahan:

$ sudo netplan apply

yousif3350
sumber
Saya tidak akan melakukan itu karena file itu dihasilkan oleh CloudInit.
Ludovic Kuty
Mengapa oh mengapa setiap panduan untuk menetapkan IP statis pada 18,04 memberitahu saya untuk mengedit file yaml yang mengatakan itu adalah file yang dibuat secara dinamis yang tidak akan bertahan? Lelucon kejam lain dari para pengembang Ubuntu yang menganggap tidak masalah untuk merusak barang-barang secara default ...
Bigtexun
0

Konfigurasi jaringan pada 18.04 dikelola melalui netplan dan dikonfigurasikan dengan cloud-init. Untuk mengubah konfigurasi jaringan Anda, edit 50-curtin-networking.cfgfile di /etc/cloud/cloud.cfg.d/. Jika file ini tidak ada maka buatlah.

Temukan nama antarmuka Anda

ip address show

Edit / buat file konfigurasi jaringan cloud-init

sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

Untuk mengatur alamat IP statis, gunakan kunci alamat, yang mengambil daftar (IPv4 atau IPv6), alamat bersama dengan panjang awalan subnet (misalnya / 24). Informasi Gateway dan DNS juga dapat diberikan:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.9/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

Anda dapat menemukan lebih banyak opsi konfigurasi di https://netplan.io/examples

Muat ulang konfigurasi cloud-init. Ini akan mem-boot ulang server Anda.

sudo cloud-init clean -r
Ryan
sumber