Linux网络属性配置详解:从入门到实战

大家好!今天我们来深入探讨Linux系统中的网络属性配置。无论你是刚接触Linux的新手,还是有一定经验的运维人员,这篇文章都将帮你系统地梳理网络配置的知识体系。

一、计算机网络基础回顾

在动手配置之前,我们先快速回顾几个关键概念:

1. TCP/IP协议栈 vs OSI七层模型

  • TCP/IP:实际使用的协议栈
  • ISO/OSI:学习参考的理论模型

2. 通信子网与资源子网

  • 通信子网:负责数据传输、转发与通信控制
  • 资源子网:由主机、终端组成,提供数据处理和资源共享

3. 网络分层核心要素

image

一句话总结:MAC负责本地通信,IP定位通信主机,Port界定具体进程。

二、IP地址详解

IPv4地址结构

32位二进制,通常表示为点分十进制:8bits.8bits.8bits.8bits

范围:0.0.0.0 ~ 255.255.255.255

IP地址分类

A类地址 (1-126)

  • 网络号:第一段,首位为0
  • 默认子网掩码:255.0.0.0 (/8)
  • 网络数量:126个
  • 每个网络主机数:2^24 - 2
  • 私网地址:10.0.0.0/8
  • 特殊地址:127.0.0.0/8为回环地址

B类地址 (128-191)

  • 网络号:前两段,首位为10
  • 默认子网掩码:255.255.0.0 (/16)
  • 网络数量:2^14个
  • 每个网络主机数:2^16 - 2
  • 私网地址:172.16.0.0/12

C类地址 (192-223)

  • 网络号:前三段,首位为110
  • 默认子网掩码:255.255.255.0 (/24)
  • 网络数量:2^21个
  • 每个网络主机数:2^8 - 2
  • 私网地址:192.168.0.0/16

D类地址 (224-239)

  • 组播地址,无子网掩码概念

E类地址 (240-255)

  • 科研实验用途,现RFC规定全部保留

特别注意:169.254.0.0/16是Windows系统未收到DHCP响应时的自动分配地址

三、Linux接入网络的三大要素

要将一台Linux主机接入网络,需要配置三个核心参数:

  1. IP地址/子网掩码:用于本地通信
  2. 路由(网关):用于跨网络通信
  3. DNS服务器地址:用于基于域名的通信

四、配置方式概览

静态配置 vs 动态分配

image

配置工具家族

Linux下有三大家族配置工具:

  1. ifcfg家族:ifconfig, route, netstat(传统,逐渐淘汰)
  2. iproute2家族:ip, ss(现代推荐)
  3. nm家族:nmcli, nmtui(CentOS 7+,图形化友好)

五、ifcfg家族实战

1. ifconfig命令

查看所有接口信息

ifconfig -a

配置IP地址

# 方式一:CIDR格式
ifconfig eth0 192.168.1.100/24

# 方式二:传统格式
ifconfig eth0 192.168.1.100 netmask 255.255.255.0

启用/禁用接口

ifconfig eth0 up
ifconfig eth0 down

注意:ifconfig配置立即生效,但重启后失效。

2. route命令

查看路由表

route -n

添加路由

# 添加网络路由
route add -net 10.0.0.0/8 gw 192.168.1.1 dev eth0

# 添加默认路由
route add default gw 192.168.1.1

删除路由

route del -net 10.0.0.0/8
route del default

3. netstat命令

查看路由表

netstat -rn

查看网络连接

# 查看所有TCP监听端口
netstat -tnl

# 查看所有连接
netstat -tan

# 显示进程信息
netstat -tunlp

常用组合

  • -tan:所有TCP连接,数字格式
  • -uan:所有UDP连接,数字格式
  • -tnl:TCP监听端口
  • -tunlp:所有监听端口及对应进程

六、iproute2家族(推荐使用)

1. ip命令

管理链路层设备

# 查看所有网卡
ip link show

# 启用/禁用网卡
ip link set eth0 up
ip link set eth0 down

# 修改MTU
ip link set eth0 mtu 9000

# 重命名接口(需先down)
ip link set eth0 name eth1

管理IP地址

# 添加IP地址
ip addr add 192.168.1.100/24 dev eth0

# 添加带标签的地址
ip addr add 192.168.1.200/24 dev eth0 label eth0:0

# 删除IP地址
ip addr del 192.168.1.100/24 dev eth0

# 查看IP地址
ip addr show eth0

# 清空所有地址
ip addr flush dev eth0

管理路由

# 添加路由
ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0

# 添加默认路由
ip route add default via 192.168.1.1

# 删除路由
ip route del 10.0.0.0/8

# 查看路由表
ip route show

# 测试路由
ip route get 8.8.8.8

2. ss命令(替代netstat)

# 查看所有TCP连接
ss -tan

# 查看监听端口
ss -tunl

# 显示进程信息
ss -tunlp

# 过滤特定端口
ss -tan '( dport = :22 or sport = :22 )'

# 过滤连接状态
ss -tan state ESTABLISHED

七、配置文件方式(永久生效)

主要配置文件

接口配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE

示例配置:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

路由配置文件/etc/sysconfig/network-scripts/route-IFACE

支持两种格式(不能混用):

格式一(一行一条):

10.0.0.0/8 via 192.168.1.1

格式二(三行一组):

ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=192.168.1.1

DNS配置

编辑 /etc/resolv.conf

nameserver 8.8.8.8
nameserver 114.114.114.114

主机名配置

CentOS 6:编辑 /etc/sysconfig/network

HOSTNAME=my-server

CentOS 7+

hostnamectl set-hostname my-server

重启网络服务

CentOS 6

service network restart

CentOS 7

systemctl restart network

Anolis 8 / CentOS 8

nmcli connection reload
nmcli connection up eth0
# 或
systemctl restart NetworkManager

八、nmcli命令(NetworkManager)

基本操作

# 查看所有连接
nmcli connection show

# 查看设备状态
nmcli device status

# 启用/禁用连接
nmcli connection up eth0
nmcli connection down eth0

修改配置

# 修改IP地址
nmcli connection modify eth0 ipv4.address 192.168.1.100/24

# 修改网关
nmcli connection modify eth0 ipv4.gateway 192.168.1.1

# 修改DNS
nmcli connection modify eth0 ipv4.dns "8.8.8.8 114.114.114.114"

# 设置为静态IP
nmcli connection modify eth0 ipv4.method manual

# 应用更改
nmcli connection up eth0

九、配置多个IP地址

方法一:使用ifconfig别名

ifconfig eth0:0 192.168.1.200/24
ifconfig eth0:1 192.168.1.201/24

方法二:使用ip addr

ip addr add 192.168.1.200/24 dev eth0 label eth0:0

方法三:创建配置文件

复制 ifcfg-eth0ifcfg-eth0:0,修改其中的 DEVICEeth0:0

十、网络排错常用命令

连通性测试

ping -c 4 8.8.8.8

DNS解析测试

# 安装bind-utils后
dig -t A www.baidu.com
nslookup www.baidu.com
host www.baidu.com

反向解析

dig -x 8.8.8.8

追踪路由

traceroute 8.8.8.8
mtr 8.8.8.8

总结

Linux网络配置看似复杂,但只要掌握了核心思路就很简单:

  1. 理解三层模型:MAC → IP → Port
  2. 记住三大要素:IP/掩码、网关、DNS
  3. 选择合适工具:推荐使用iproute2家族
  4. 分清临时与永久:命令即时生效,配置文件持久保存

希望这篇博客能帮助你更好地理解和配置Linux网络。如果你有任何疑问或想深入了解某个方面,欢迎在评论区留言讨论!

posted @ 2026-09-09 14:26  GuiGui321  阅读(7)  评论(0)    收藏  举报