Ubuntu 18.04配置靜態IP地址

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

 

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

特整理一下,放這兒!vim

轉自: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網絡守護程序(稱爲渲染程序 ,您能夠選擇使用其中的哪個)一塊兒做爲內核的接口。app

它讀取/etc/netplan/*.yaml中描述的網絡配置,而且能夠將全部網絡接口的配置存儲在這些文件中。編輯器

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

列出Ubuntu上的全部活動網絡接口

首先,您須要肯定要配置的網絡接口。 您可使用ifconfig命令列出系統中全部鏈接的網絡接口,如圖所示。spa

$ 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服務器。 若是您有任何疑問,請經過下面的評論表單與咱們分享。

相關文章
相關標籤/搜索