「Linux」- 通过配置文件,为网络接口配置地址(Ubuntu,Debian,CentOS)

on Debian 11

How to set up static IP address on Debian Linux 10/11 – nixCraft
NetworkConfiguration – Debian Wiki

# vim /etc/network/interfaces
...
auto enp0s5
iface enp0s5 inet static
  address 192.168.2.236
  netmask 255.255.255.0
  gateway 192.168.2.254
  dns-domain sweet.home
  dns-nameservers 192.168.2.254
...

# ifup enp7s0

// 在 Debian 11 中,默认无法使用该服务
# systemctl restart networking.service

on Ubuntu 16.04 TLS

Static IP Configuration on Ubuntu 16.04 | Snel.com

# vim /etc/network/interfaces.d/ens9f0
auto ens9f0
iface ens9f0 inet static
   address 192.168.10.254
   netmask 255.255.255.0
   gateway 192.168.10.1
   dns-nameservers 223.6.6.6 223.5.5.5
   
# systemctl restart networking.service

on CentOS 6.x

Create Multiple IP Addresses to One Single Network Interface
Configure CentOS 6 Network Settings – Serverlab

在不同发行版中,网络配置方法存在很大差异。在相同发行版中,配置方法是类似的。

该部分将记录:如何在 CentOS 6 中配置网络,包括配置静态地址、动态获取地址(DHCP)、分配多个网络地址。

注意事项:
1)在 CentOS 6.x 中,Network Manager 还未成熟,存在部分问题,因此我们不使用 NetworkManager 进行配置。
2)这里我们只演示保证网络可用的最小配置,并不包含高级复杂参数。
3)关于所有选项及其含义,参考 11.2. INTERFACE CONFIGURATION FILES 文档。(未在 man 中找到说明)

方法一、终端图形界面(推荐)

修改配置文件可能会带来其他错误,建议使用系统提供的工具:

yum install -y system-config-network system-config-network-tui

system-config-network-tui

方法二、修改配置文件

配置静态地址,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:

# 配置静态地址
cat > "/etc/sysconfig/network-scripts/ifcfg-eth0" <<EOF
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TYPE="Ethernet"

IPADDR=192.168.1.5
NETMASK=255.255.0.0
GATEWAY=192.168.1.1
DNS1=192.168.1.2
EOF

# 重启网络服务
service network restart

单网卡多地址,如果要配置单网卡多网络地址,只需要:

# 配置新地址
cp "/etc/sysconfig/network-scripts/ifcfg-eth0" "/etc/sysconfig/network-scripts/ifcfg-eth0:0"
cat > "/etc/sysconfig/network-scripts/ifcfg-eth0:0" <<EOF
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=none
TYPE="Ethernet"

IPADDR=192.168.1.6
NETMASK=255.255.0.0
GATEWAY=192.168.1.1
DNS1=192.168.1.2
EOF

# 重启网络服务
service network restart

配置动态地址,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:

# 配置 DHCP 获取
cat > "/etc/sysconfig/network-scripts/ifcfg-eth0" <<EOF
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
EOF

# 重启网络服务
service network restart

相关链接

CHAPTER 10. NETWORKMANAGER
IP-Aliasing – an obsolete way to manage multiple IP-addresses/masks per interface

为网卡分配多个地址(CentOS 7.x,废弃)

网卡配置文件位于/etc/sysconfig/network-scripts/中,名称类似于ifcfg-enp0s3形式。

多个 IP-Address/Prefix/DNS 信息,其配置形式如下:

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"

NAME="enp0s3"
UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
ONBOOT="yes"
HWADDR="08:00:27:3F:AB:68"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 这是关键部分 - 开始
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
IPADDR0="192.168.1.150"
PREFIX0="24"
GATEWAY0="192.168.1.1"

IPADDR1="192.168.1.151"
PREFIX1=16

IPADDR2="192.168.1.152"

IPADDR3="10.0.0.1"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 这是关键部分 - 结束
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DNS1="192.168.1.1"