一、IP 地址与子网掩码:网络通信的基础
1. 什么是 IP 地址?
IP 地址(IPv4)是由 32 位二进制数组成的标识符,通常用点分十进制表示(例如:254.254.254.254)。它就像网络中设备的 “门牌号”,用于唯一标识一台主机。
2. 子网掩码的作用
子网掩码用于划分网络区域:
- 非 0 位:对应 IP 地址的 “网络位”,表示设备所属的网络区域;
- 0 位:对应 IP 地址的 “主机位”,表示网络中的具体主机。
示例:IP 地址172.25.254.1
搭配子网掩码255.255.255.0
(即/24
),说明其网络位为前 24 位(172.25.254
),主机位为最后 8 位(1
)。
3. 如何判断两台设备能否直接通信?
当两台设备的网络位相同且主机位不同时,它们可以直接通信。例如:
172.25.254.1/24
和172.25.254.2/24
(网络位均为172.25.254
)可以直接通信;172.25.254.1/24
和172.25.0.1/16
(网络位分别为172.25.254
和172.25
)无法直接通信。
二、常用网络工具:命令行与图形界面
1. 命令行工具:快速配置网络
(1)ping
:检测网络连通性
- 基本用法:
bash
ping -c 1 -w 1 目标IP # 发送1个数据包,等待1秒响应
示例:ping -c 1 192.168.1.1
。
(2)ifconfig
:查看 / 配置网络接口
- 查看接口信息:
ifconfig
- 设定 IP 地址:
ifconfig 网卡名 IP/24
(例如:ifconfig ens160 172.25.254.100/24
) - 关闭 / 开启接口:
bash
ifconfig 网卡名 down # 关闭 ifconfig 网卡名 up # 开启 ```。
(3)ip addr
:更现代的网络接口工具
- 查看所有接口:
ip addr show
- 添加 IP 地址:
ip addr add IP/24 dev 网卡名
(例如:ip addr add 172.25.254.200/24 dev ens160
) - 删除 IP 地址:
ip addr del IP/24 dev 网卡名
。
2. 图形化工具:无需记忆命令
(1)nm-connection-editor
图形化界面工具,适合通过鼠标点击配置网络连接,支持添加、修改、删除网络配置。
(2)nmtui
基于文本的图形界面工具,通过方向键和回车键操作,提供 “编辑连接”“启用连接” 等功能,适合新手快速上手。
三、用 nmcli 命令管理网络:高效又灵活
nmcli
是 Linux 下管理网络的核心工具(需确保NetworkManager
服务已开启):
1. 查看与控制网卡状态
- 查看网卡信息:
bash
nmcli device show 网卡名 # 例如:nmcli device show ens160 nmcli device status # 查看网卡连接状态
- 启用 / 关闭网卡:
bash
nmcli device connect 网卡名 # 启用(如:nmcli device connect ens160) nmcli device disconnect 网卡名 # 关闭 ```。
2. 管理网络连接
- 查看所有连接:
nmcli connection show
- 激活 / 关闭连接:
bash
nmcli connection up 连接名 # 激活(如:nmcli connection up westos) nmcli connection down 连接名 # 关闭
- 删除连接:
nmcli connection delete 连接名
。
3. 添加与修改网络连接
- 添加静态 IP 连接:
bash
nmcli connection add type ethernet con-name westos ifname ens160 ip4 172.25.254.100/24
con-name
:连接名称;ifname
:网卡名;ip4
:指定 IPv4 地址及子网掩码。
- 修改 IP 地址:
bash
nmcli connection modify westos ipv4.addresses 172.25.254.200/24 ```。
四、网络配置文件:手动配置的核心
网络配置文件存储在/etc/sysconfig/network-scripts/
目录下,文件名通常为ifcfg-网卡名
(如ifcfg-ens160
),常见参数如下:
DEVICE
:网卡名称(如ens160
);BOOTPROTO
:网络模式(dhcp
动态获取,static
或none
静态配置);ONBOOT
:是否随系统启动激活网卡(yes
/no
);IPADDR
:静态 IP 地址;NETMASK
:子网掩码(或用PREFIX
表示前缀长度,如PREFIX=24
)。
1. DHCP 动态配置(自动获取 IP)
编辑配置文件:
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
ONBOOT=yes
BOOTPROTO=dhcp # 动态获取IP
保存后重启网络:systemctl restart network
。
2. 静态 IP 配置(手动指定 IP)
编辑配置文件:
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=172.25.254.100 # 静态IP
NETMASK=255.255.255.0 # 子网掩码
BOOTPROTO=none # 关闭DHCP
保存后重启网络:systemctl restart network
。
3. 单网卡配置多个 IP
在配置文件中添加多个 IP 地址:
bash
vim /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
ONBOOT=yes
IPADDR0=172.25.254.100 # 第一个IP
NETMASK0=255.255.255.0
IPADDR1=172.25.0.100 # 第二个IP
PREFIX1=24 # 子网掩码前缀(等价于255.255.255.0)
BOOTPROTO=none
重启网络后用ip addr show ens160
查看生效情况。
五、网关与 DNS:让网络连通更完整
1. 网关配置
网关是设备访问其他网络的 “出口”,配置方式有两种:
- 全局网关:编辑
/etc/sysconfig/network
,添加GATEWAY=网关IP
(对所有网卡生效); - 单网卡网关:在网卡配置文件中添加
GATEWAY=网关IP
(仅对当前网卡生效)。
2. DNS 配置(域名解析)
DNS 用于将域名(如www.baidu.com
)转换为 IP 地址,配置方法:
- 临时配置:直接编辑
/etc/resolv.conf
,添加nameserver DNS服务器IP
(如nameserver 114.114.114.114
),立即生效; - 永久配置:在网卡配置文件中添加
DNS1=DNS服务器IP
(如DNS1=114.114.114.114
),需重启网络生效。
注意:若使用 DHCP 动态获取 IP,可在网卡配置文件中添加PEERDNS=no
避免自动覆盖 DNS 设置。
六、本地解析与优先级设置
1. 本地解析文件(/etc/hosts
)
直接将域名与 IP 绑定,优先级高于 DNS 服务器。例如:
bash
vim /etc/hosts
172.25.254.100 www.westos.com # 将域名www.westos.com指向IP 172.25.254.100
配置后无需重启,直接通过ping www.westos.com
测试。
2. 解析优先级调整
通过修改/etc/nsswitch.conf
文件,调整解析顺序:
hosts: files dns
:先查本地/etc/hosts
,再查 DNS;hosts: dns files
:先查 DNS,再查本地/etc/hosts
。
七、DHCP 服务器配置:自动分配 IP
1. 安装 DHCP 服务
bash
rpm -ivh dhcp-server # 安装DHCP服务器(需提前准备安装包)
2. 配置 DHCP 服务
复制模板文件并编辑:
bash
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
关键配置说明:
subnet
:定义子网范围(如subnet 172.25.254.0 netmask 255.255.255.0
);range
:IP 地址池(如range 172.25.254.160 172.25.254.200
);option routers
:网关地址(如option routers 172.25.254.250
);option domain-name-servers
:DNS 服务器地址(如option domain-name-servers 114.114.114.114
)。
3. 启动服务并测试
bash
systemctl restart dhcpd # 重启DHCP服务
systemctl stop firewalld # 关闭防火墙(测试环境)
在客户端将网卡设置为 DHCP 模式,重启网络后即可自动获取 IP、网关和 DNS。
八、常见问题解决
- 问题:配置静态 IP 后无法上网
- 检查
BOOTPROTO
是否为none
或static
,ONBOOT
是否为yes
; - 确认网关(
GATEWAY
)和 DNS(DNS1
)配置正确。
- 检查
- 问题:
ping
域名提示 “未知主机”- 用
ping IP地址
测试网络连通性,若正常则检查 DNS 配置; - 确保
/etc/resolv.conf
或网卡配置文件中存在有效的 DNS 服务器地址。
- 用
- 问题:DHCP 无法获取 IP
- 检查 DHCP 服务器是否启动,IP 地址池是否包含可用 IP;
- 客户端重启网络或尝试手动指定
BOOTPROTO=dhcp
并重启。