[Linux]Network Config
Network Config
1 网络接口简介
网络接口是操作系统内核连接网络软件部分与硬件部分的桥梁。
通过以下命令可以查看网络接口的信息:
1  |  | 
ifconfig 命令
ifconfig 工具用于配置网络接口。若无网络接口设置,设备驱动程序与网络将无法通信。此工具在系统启动时自动运行,并根据配置文件设置接口,但用户也可手动修改。输出结果左侧显示接口名称,右侧展示详细信息。常见的接口包括:eth0(首张以太网卡)、wlan0(无线接口)和 lo(回环接口)。回环接口用于表示本机,便于调试或访问本地服务器。
接口状态可分为启用(up)和禁用(down)。要关闭某个接口,可将其设为“down”。常用的字段包括:HWaddr(MAC地址)、inet address(IPv4地址)和 inet6(IPv6地址)。此外,子网掩码和广播地址也一目了然。可通过 /etc/network/interfaces 查看接口信息。
创建并启用接口示例:
1  |  | 
启用或禁用接口:
1  |  | 
ip 命令
ip 命令同样可用于管理系统网络栈。
使用示例:
- 显示所有接口信息:
1
$ ip link show - 显示特定接口统计信息:
1
$ ip -s link show eth0 - 显示分配给各接口的IP地址:
1
$ ip address show - 启用或禁用接口:
1
2$ ip link set eth0 up
$ ip link set eth0 down - 为接口添加IP地址:
1
$ ip address add 192.168.1.1/24 dev eth0 
2 路由管理
使用 route 命令
添加新路由:
1  |  | 
删除路由:
1  |  | 
使用 ip 命令
同样,也可以使用 ip 命令进行上述修改:
添加路由:
1  |  | 
删除路由:
指定网关删除:
1  |  | 
不指定网关删除:
1  |  | 
3 DHCP 客户端管理
dhclient 服务在系统启动时自动运行,并从 dhclient.conf 文件中获取网络接口列表。针对每个列出的接口,dhclient 尝试使用 DHCP 协议进行配置。
dhclient.leases 文件记录了跨系统重启后的租约列表。在读取 dhclient.conf 文件后,dhclient 会进一步读取 dhclient.leases 文件以了解已分配的租约情况。
获取新的 IP 地址
要为指定网络接口获取一个新的 IP 地址,执行以下命令:
1  |  | 
此命令将触发 DHCP 客户端请求新的网络配置,确保设备能够获得最新的网络参数,从而维持网络连接的高效性和可靠性。
4 网络管理
为了确保系统的网络能够自动启动并运行,大多数发行版采用 NetworkManager 守护进程来实现自动化网络配置。如果使用的是图形用户界面(GUI),通常可以在桌面任务栏中找到 NetworkManager 的小程序图标,它负责管理网络硬件和连接信息。例如,在系统启动时,NetworkManager 会收集网络硬件信息,并搜索无线、有线等连接,然后激活这些连接。
命令行工具
除了图形界面外,还有一些命令行工具可以与 NetworkManager 进行交互:
- nm-tool
 
nm-tool 工具用于报告 NetworkManager 的状态及其设备的信息。以下是一个示例输出:
1  |  | 
- nmcli
 
nmcli 命令允许用户控制和修改 NetworkManager 的配置。更多详细信息,请参阅相关手册页。
5 arp
当使用ARP查找MAC地址时,系统首先会检查本地存储的ARP缓存。可以查看此缓存:
1  |  | 
在机器启动时,ARP缓存实际上是空的。随着数据包发送到其他主机,缓存逐渐被填充。如果向一个不在ARP缓存中的目标发送数据包,则会发生以下过程:
- 源主机创建带有ARP请求包的以太网帧。
 - 源主机将此帧广播到整个网络。
 - 如果网络上的某个主机知道正确的MAC地址,它将通过包含该MAC地址的回复包和帧进行回应。
 - 源主机将IP到MAC地址的映射添加到ARP缓存中,然后继续发送数据包。
 
还可以通过ip命令查看ARP缓存:
1  |  |