Login

Navigation

This articles is published 192 days ago and last updated 191 days ago, some information may be out of date.

Linux設置靜態IP地址

Cover.jpg

image from unsplash

前言:
通常,在大多數網路裝置,IP 地址由路由器 DHCP 伺服器動態分配。但在伺服器上使用靜態IP地址,使提供的服務更穩定。假如DHCP伺服器不工作,會影響到區域網路的電腦穫取IP地址,從而影響服務的存取,而設定了靜態IP的伺服器則不受影響,所以靜態IP也是必需的(在提供服務的裝置)。
在RHEL/CentOS/Fedora中配置靜態IP地址:

要在RHEL / CentOS / Fedora中設定靜態IP地址

首先查看本機的網絡界面名稱:

2022-03-18_121212.png

上圖示,本機的網路介面名稱是eth0,代表編輯的網絡文件是ifcfg-eth0

使用nano或者vim編輯:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

ifcfg-eth0檔案中,根據自身網絡進行更改:

DEVICE="eth0"
BOOTPROTO="static"
DNS1="8.8.8.8"
DNS2="1.1.1.1"
GATEWAY="192.168.0.1"
HOSTNAME="linux.kingtam.win"
HWADDR="00:19:99:A4:46:AB"
IPADDR="192.68.0.100"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="8105c095-799b-4f5a-a445-c6d7c3681f07"

需要編輯以下各項的設定:

  • BOOTPROTO 是使用dhcp(預設) 或者 static(靜態)
  • DNS1 和 DNS2 可以使用公共DNS服務如8.8.8.8, 1.1.1.1
  • 閘道(GATEWAY) 即路由或者防火牆的IP
  • 主機名(HOSTNAME) 自定義
  • 網路掩碼(NETMASK) 通常是255.255.255.0 (/24) 根據自身網絡參數修改
  • IP地址(IPADDR) 本機的IP地址
  • ONBOOT 是否開機自啟動 是yes或者no

接着編輯:resolve.conf

resolve.conf用來設定 DNS 用戶端要求名稱解析時,所定義的各項內容。
vim /etc/resolv.conf
nameserver 8.8.8.8 # 修改自定的DNS地址
nameserver 1.1.1.1 # 修改自定的DNS地址

使用以下命令重新啟動網路(套用所有設定):2選1

/etc/init.d/network restart
systemctl restart network
在 Debian / Ubuntu(17.10以前版本) 中設置靜態 IP 地址:

要在 Debian/Ubuntu(17.10以前版本) 中設定靜態 IP 地址,請打開以下檔:

vim /etc/network/interfaces

預設是dhcp

 no-auto-down eth0 # 也可能是 auto eth0
 iface eth0 inet dhcp

使用nano或者vim編輯,根據自身網絡進行更改:

no-auto-down eth0
iface eth0 inet static 
  address 192.168.0.100
  netmask 255.255.255.0
  gateway 192.168.0.1
  dns-nameservers 1.1.1.1
  dns-nameservers 8.8.8.8

需要編輯以下各項的設定:

  • iface eth0 inet dhcp(預設) 修改為iface eth0 inet static(靜態)
  • dns-nameservers 可以是多組,如使用公共DNS服務如8.8.8.8, 1.1.1.1
  • gateway (閘道) 即路由或者防火牆的IP
  • netmask (網路掩碼) 通常是255.255.255.0 (/24) 根據自身網絡參數修改
  • address 本機的IP地址

儲存interfaces設定後,接着進行編輯:/etc/resolv.conf

vim /etc/resolv.conf
nameserver 8.8.8.8 # 修改自定的DNS地址
nameserver 1.1.1.1 # 修改自定的DNS地址

使用以下命令重新啟動網路(套用所有設定):2選1

/etc/init.d/network restart
systemctl restart network
在Ubuntu(較新版本) 中設置靜態 IP 地址:
Ubuntu 在17.10 及更高版本開始使用 Netplan 作為預設的網路管理工具。

網絡配置文件存放在/etc/netplan/目錄內的*.yaml文件

我這裡是/etc/netplan/00-installer-config.yaml,預設內容是:

network:
  ethernets:
    eth0:
      dhcp4: true
  version: 2

使用nano或者vim編輯00-installer-config.yaml配置文件:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
     dhcp4: no
     addresses: [192.168.1.2/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,1.1.1.1]

需要編輯以下各項的設定:

  • renderer: networkd 指定此接口由systemd-networkd服務接管
  • dhcp4: no 轉為手動設置靜態 IP 地址
  • addresses 本機的IP地址及網段
  • nameservers DNS伺服器

    • addresses [8.8.8.8,1.1.1.1] 可以是多組IP地址

儲存00-installer-config.yaml設定

使用以下命令套用網絡設定

netplan apply
結語:
每個Linux的發行版在設定靜態 IP 地址位置會有所不一樣,但都是大同小異。
參考資料:

How to Set Static IP Address and Configure Network in Linux (tecmint.com)

如何在Ubuntu Server 18.04 LTS中配置靜態IP地址 - soso101 - 博客園 (cnblogs.com)