Ubuntu 18.04配置靜態IP地址


在本文中,我們將解釋如何使用Netplan實用程序在Ubuntu 18.04中為網絡接口配置網絡靜態或動態IP地址。

 

想把ubuntu的ip地址設置成靜態ip,折騰了一段時間,還是無法成功,特從網上搜了一下,發現設置ip的方式改了。

特整理一下,放這兒!

轉自:http://blog.sina.com.cn/s/blog_5373bcf40102xk5g.html

 

2018年4月26日,ubuntu 18.04發行,第一時間下載安裝了SERVER版本。使用VM14版本的虛擬機,開始使用DHCP獲得IP地址,沒有意外,可以直接上網。然而在更改VM的網絡模式為橋接模式時,想把虛擬機設為固定IP時,出現故障,一直不能獲得地址,也上不了網。經常無數次測試,有以下經驗可供參考。

ubuntu從17.10開始,已放棄在/etc/network/interfaces里固定IP的配置,即使配置也不會生效,而是改成netplan方式 ,配置寫在/etc/netplan/01-netcfg.yaml或者類似名稱的yaml文件里,18.04的server版本安裝好以后,配置文件是:/etc/netplan/50-cloud-init.yaml,修改配置以后不用重啟,執行 netplan apply 命令可以讓配置直接生效。以前的重啟網絡服務命令/etc/init.d/networking restart或者services network restrart也都會提示為無效命令。
$sudo vim /etc/netplan/50-cloud-init.yaml,配置文件可按如下內容修改。
 
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:   #配置的網卡名稱
      dhcp4: no    #dhcp4關閉
      dhcp6: no    #dhcp6關閉
      addresses: [192.168.1.55/24]   #設置本機IP及掩碼
      gateway4: 192.168.1.254   #設置網關
      nameservers:
          addresses: [114.114.114.114, 8.8.8.8]   #設置DNS
 
注意點:
1.以上配置文件共11行,其中第2,3,6,7四行可以不寫,測試過沒有這四行,網絡也能工作正常,第5行的ens33為虛擬網卡,可以使用ifconfig -a查看本機的網卡。
2.配置文件里在冒號:號出現的后面一定要空一格,不空格則在運行netplan apply時提示出錯。
3.關鍵之關鍵是看清配置總共分為五個層次,逐層向后至少空一格,
第一層-network:
第二層-- ethernets:
第三層--- ens33:
第四層----addresses:  [192.168.1.55/24]
第四層----gateway4:  192.168.1.254
第四層----nameservers:
第五層-----addresses: [114.114.114.114, 8.8.8.8]
 
出現類似錯誤:line8 column 6:cloud not find expected ':'  #提示是冒號:后面沒加空格
出現類似錯誤:netplan found character that cannot start any token,#提示是沒有按五個層次寫配置文檔,一定要下一層比上一層多空一格或以上。
 
----------------------------------------------------------------------------------------------------------------
 

NetplanUbuntu 17.10中引入的一種新的命令行網絡配置實用程序,用於在Ubuntu系統中輕松管理和配置網絡設置。 它允許您使用YAML抽象來配置網絡接口。 它可與NetworkManagersystemd-networkd網絡守護程序(稱為渲染程序 ,您可以選擇使用其中的哪一個)一起作為內核的接口。

它讀取/etc/netplan/*.yaml中描述的網絡配置,並且可以將所有網絡接口的配置存儲在這些文件中。

在本文中,我們將解釋如何使用Netplan實用程序在Ubuntu 18.04中為網絡接口配置網絡靜態或動態IP地址。

列出Ubuntu上的所有活動網絡接口

首先,您需要確定要配置的網絡接口。 您可以使用ifconfig命令列出系統中所有連接的網絡接口,如圖所示。

$ ifconfig -a
檢查Ubuntu中的網絡接口

檢查Ubuntu中的網絡接口

從上述命令的輸出中,我們有3個連接到Ubuntu系統的接口 : 2個以太網接口環回接口 。 但是, enp0s8以太網接口尚未配置,並且沒有靜態IP地址。

在Ubuntu 18.04中設置靜態IP地址

在這個例子中,我們將為enp0s8以太網網絡接口配置一個靜態IP。 如圖所示,使用文本編輯器打開netplan配置文件。

重要提示 :如果YAML文件不是由發行版安裝程序創建的,則可以使用此命令為渲染器生成所需的配置。

$ sudo netplan generate 

另外,自動生成的文件可能在桌面,服務器,雲實例等(例如01-network-manager-all.yaml01-netcfg.yaml )上有不同的文件名,但是/etc/netplan/*.yaml下的所有文件將被netplan讀取。

$ sudo vim /etc/netplan/01-netcfg.yaml 

然后在ethernet部分下添加以下配置。

enp0s8: dhcp4: no dhcp6: no addresses: [192.168.56.110/24, ] gateway4: 192.168.56.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]

哪里:

  • enp0s8 - 網絡接口名稱。
  • dhcp4dhcp6 - 接受IPv4和IPv6接口的dhcp屬性。
  • 地址 - 接口的靜態地址序列。
  • gateway4 - 默認網關的IPv4地址。
  • Nameservers - Nameservers的IP地址序列。

添加完成后,您的配置文件現在應該具有以下內容,如以下屏幕截圖所示。 第一個接口enp0s3配置為使用DHCP , enp0s8將使用靜態IP地址。

接口的地址屬性期望有一個序列條目,例如[192.168.14.2/24,“2001:1 :: 1/64”][192.168.56.110/24,] (有關更多信息請參見netplan手冊頁 )。

# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: yes enp0s8: dhcp4: no dhcp6: no addresses: [192.168.56.110/24, ] gateway4: 192.168.56.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
在Ubuntu中配置靜態IP

在Ubuntu中配置靜態IP

保存該文件並退出。 然后使用以下netplan命令應用最近的網絡更改。

$ sudo netplan apply

現在再次驗證所有可用的網絡接口, enp0s8以太網接口現在應連接到本地網絡,並具有IP地址,如以下屏幕截圖所示。

$ ifconfig -a
在Ubuntu中驗證網絡接口

在Ubuntu中驗證網絡接口

在Ubuntu中設置動態DHCP IP地址

要將enp0s8以太網接口配置為通過DHCP動態接收IP地址,只需使用以下配置即可。

# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp0s8: dhcp4: yes dhcp6: yes

保存該文件並退出。 然后應用最近的網絡更改並使用以下命令驗證IP地址。

$ sudo netplan apply
$ ifconfig -a

從現在起,您的系統將從路由器動態獲取IP地址。

你可以通過查看netplan手冊頁找到更多信息和配置選項。

$ man netplan

恭喜! 您已成功將網絡靜態IP地址配置到您的Ubuntu服務器。 如果您有任何疑問,請通過下面的評論表單與我們分享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM