CentOS7配置静态IP

avatar
作者
猴君
阅读量:0

查看网络接口使用情况

查看当前服务器的网络接口使用情况

nmcli device status

 

在 Linux 系统中,特别是使用 Docker 等容器化工具时,可能会看到许多网络接口。这些接口可能包括:

  1. 物理网络接口:如 p7p1p2p1
  2. Docker 虚拟网络接口:如 docker0 和许多以 veth 开头的接口。
  3. 本地回环接口:如 lo

网络接口lo

在 Linux 系统中,lo 是指本地回环接口(loopback interface)。它的主要功能是在本地机器上进行网络通信测试,或在本地计算机上运行网络应用程序时用于环回通信。lo 接口的 IP 地址通常是 127.0.0.1,也被称为 localhost。这是一个特殊的网络接口,它不会与外部网络通信。

以下是一些关于 lo 接口的详细信息:

  1. 功能lo 接口用于本地通信,不会通过任何物理网络接口发送数据。它的主要用途包括本地测试和调试网络应用程序。

  2. 配置lo 接口通常默认配置,无需手动设置。它在大多数 Linux 发行版中默认启用,并且配置为 127.0.0.1/8

  3. 重要性:许多系统服务和应用程序依赖于 lo 接口来进行本地通信,因此它对于系统的正常运行非常重要。

p7p1与p2p1区别

p7p1p2p1 都是你的物理以太网接口,它们之间的主要区别在于它们所连接的物理网络端口不同。你可以选择其中一个接口来配置静态 IP 地址,具体选择哪个接口取决于你希望哪个网络接口用于网络通信。

网络接口的类型

在 CentOS 7 中配置网络接口时,TYPE 字段用于指定网络接口的类型。以下是一些常见的 TYPE 类型:

Ethernet:标准的以太网接口,这是物理网络接口最常见的类型。

TYPE=Ethernet

Bridge:网桥接口,用于将多个网络接口连接在一起,形成一个逻辑网络。

TYPE=Bridge 

Bond:绑定接口,用于将多个网络接口绑定在一起,提高带宽或提供冗余。

TYPE=Bond 

VLAN:虚拟局域网接口,用于创建基于标签的虚拟局域网。

TYPE=Vlan 

Team:类似于绑定接口,用于将多个网络接口聚合在一起,但使用不同的机制提供负载均衡和故障转移。

TYPE=Team 

Wireless:无线网络接口,通常用于 Wi-Fi 连接。

TYPE=Wireless 

InfiniBand:用于高速网络接口,通常在高性能计算环境中使用。

TYPE=InfiniBand 

PPP:点对点协议接口,用于点对点网络连接。

TYPE=PPP 

示例

配置以太网接口的示例:
TYPE=Ethernet BOOTPROTO=none NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4 
配置网桥接口的示例:
TYPE=Bridge BOOTPROTO=none NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4 
配置绑定接口的示例:
TYPE=Bond BOOTPROTO=none NAME=bond0 DEVICE=bond0 ONBOOT=yes BONDING_OPTS="mode=active-backup miimon=100" IPADDR=192.168.1.150 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4 
配置VLAN接口的示例:
TYPE=Vlan BOOTPROTO=none NAME=vlan10 DEVICE=eth0.10 ONBOOT=yes VLAN=yes IPADDR=192.168.10.100 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=8.8.8.8 DNS2=8.8.4.4 

 进入网络配置目录

cd /etc/sysconfig/network-scripts/

编辑网络配置文件

网络配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,以 ifcfg- 开头,后面跟着网络接口的名称。我的服务器网络接口名称是 p7p1,则配置文件为 ifcfg-p7p1。使用文本编辑器打开该文件:

sudo vi /etc/sysconfig/network-scripts/ifcfg-p7p1

修改的配置内容:

# 告诉系统这是一个标准的以太网接口 TYPE=Ethernet # 配置为静态IP地址,因此不使用DHCP或其他协议来动态获取IP地址 BOOTPROTO=none # 定义这个配置文件所对应的网络接口名称 NAME=p7p1 # 定义实际的网络接口设备 DEVICE=p7p1 # 确保系统启动时自动激活并配置这个网络接口 ONBOOT=yes # 设置此网络接口的IP, 静态固定ip IPADDR=静态IP # 设置子网掩码 NETMASK=子网掩码 # 设置网关 GATEWAY=网关 # 设置DNS服务器 DNS1=DNS服务器 # 可选的第二DNS服务器,非必要设置 DNS2=DNS服务器 

查看当前服务器的IP、子网掩码、网关、DNS

查看 IP 地址和子网掩码

ip addr show p7p1

  • inet:表示 IPv4 地址。
  • 172.16.3.249:这是分配给该接口的 IPv4 地址。
  • /22:表示子网掩码的前缀长度。/22 对应的子网掩码是 255.255.252.0。这意味着网络部分占据了 22 位,剩下的 10 位用于主机地址。

 子网掩码的前缀长度(例如 /22)表示了子网掩码中网络部分的位数。了解如何计算这个长度是很重要的,因为它决定了一个网络中有多少个 IP 地址可以分配给主机。

 计算方法
子网掩码的二进制表示

子网掩码是由一系列连续的 1 后跟一系列连续的 0 组成。例如,/22 对应的子网掩码是 255.255.252.0。将其转换为二进制表示是:

11111111.11111111.11111100.00000000
前缀长度的定义

/22 表示前面有 22 位是 1,后面是 0。这意味着前 22 位是网络部分,剩下的 32 - 22 = 10 位是主机部分。

计算可用的 IP 地址
  • 主机位数:剩余的 10 位是用于主机地址。
  • 可用主机数:主机位数为 n 时,可用的主机数是 2n−22^n - 22n−2,其中减去 2 是因为其中一个地址用作网络地址,另一个用作广播地址。

对于 /22 子网,主机位数是 10 位, 因此,/22 子网可以分配 1022 个 IP 地址给主机使用。

2^10 - 2 = 1024 - 2 = 1022
总结:

/22 子网掩码表示网络部分占据了 22 位,剩下的 10 位用于主机地址。通过这种方式计算,可以确定一个特定子网掩码可以支持的 IP 地址数量和其分配给主机的能力。

查看默认网关

ip route

 其中,default via 172.16.1.1 表示默认网关是 172.16.1.1

查看 DNS 服务器

DNS 服务器信息通常存储在 /etc/resolv.conf 文件中,可以使用 cat 命令查看

cat /etc/resolv.conf

其中,nameserver行表示配置的 DNS 服务器。

重启网络服务

sudo systemctl restart network

验证配置

可以再次使用ip addrnmcli命令来验证新的 IP 配置是否生效:

ip addr show p7p1

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!