14.1 网络基础配置

网络基础配置是指对 FreeBSD 操作系统网络通信基础设施进行设置的过程,包括 DNS 配置、网络接口管理、IP 地址设置等内容。这些配置构成了 FreeBSD 网络通信的基础,对于系统的网络连通性和可用性至关重要。

手动设置 resolv.conf 文件

DNS 配置文件的动态特性

手动编辑 /etc/resolv.conf 后,重启系统时该文件可能被重置,这是因为动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)客户端在获取网络配置时会通过 resolvconf 服务重写该文件。resolvconf 是一个管理系统 DNS 配置的框架,它协调多个来源(如 DHCP、PPP、静态配置等)对 resolv.conf 的修改,确保 DNS 配置的一致性。

防止 DNS 配置被覆写的方法

若需要使用手动配置的 DNS 服务器而不被系统自动更新覆盖,可通过禁用 resolvconf 服务实现。编辑 /etc/resolvconf.conf 文件(如果不存在则创建),写入 resolvconf=NO 一行,该配置将禁用系统对 DNS 配置文件的自动更新功能。

参考文献

ifconfig 命令

网络接口配置工具概述

ifconfig 是用于配置和显示网络接口状态的常用命令,该命令是 FreeBSD 网络配置的核心工具之一,通过与内核网络子系统交互,实现对网络接口的参数配置和状态查询。用户可以使用该命令设置 IP 地址、子网掩码、广播地址等网络参数。

网络接口识别

在进行网络配置前,需要确认系统已识别并加载了网卡驱动。使用 ifconfig 命令可查看系统中的网络接口列表及其状态。

示例输出:

lo0 是本地回环接口,用于本机内部通信,不属于物理网卡。如果 ifconfig 输出中仅包含 lo0 接口,说明系统未识别物理网卡,此时需要检查网卡硬件连接和驱动加载情况。可以通过 dmesg | grep ether 命令查看网卡驱动加载日志。

配置 DNS 文件

DNS 解析服务器配置

DNS 配置文件用于指定域名解析服务器,该文件定义了系统进行域名解析时使用的递归 DNS 服务器列表。编辑 /etc/resolv.conf 文件,可根据需要清空原有内容或保留现有配置,然后添加 DNS 服务器条目:

修改 DNS 配置后,需要重启网络服务以使配置生效。重启网络服务将重新加载 /etc/rc.conf 中的网络配置参数:

配置完成后,可使用 ping 命令测试与目标域名的连通性(按 Ctrl + C 可中断测试),示例输出如下:

若能正常收到 ICMP 响应报文,说明网络已连通。

混杂模式

混杂模式的技术原理

混杂模式(Promiscuous Mode)是一种网络接口工作模式。在该模式下,网络接口控制器(NIC)不再仅过滤目标 MAC 地址与本机地址匹配的帧,而是接收网络链路层上传输的所有数据帧,无论其目标媒体访问控制(Media Access Control,MAC)地址是否为本机。

应用场景

这种工作模式在网络协议分析、网络流量监控、安全审计、虚拟化网络环境与容器网络等场景中具有重要应用价值。

如需在系统启动时为指定网络接口配置 IPv4 地址、子网掩码并启用混杂模式,可在 /etc/rc.conf 中添加以下配置:

参考文献

/etc/rc.conf 网络配置持久化

系统启动配置文件概述

/etc/rc.conf 是 FreeBSD 系统启动配置文件,用于存储各种系统和服务的启动参数。该文件是系统初始化过程中的核心配置文件之一。

网络配置的持久化机制

使用 ifconfig 命令进行的网络配置多为一次性配置,系统重启后配置将失效。与一次性配置不同,将网络配置写入 /etc/rc.conf 文件可实现配置的持久化,系统启动时会自动读取并应用该文件中的配置参数。

网络配置相关文件结构

注意

修改 rc.conf 后,需要重启系统或运行 /etc/rc.d/netif restart 来应用网络更改。

① 在 /etc/rc.conf 中,如果需要一次性写入多个配置项,只能使用 ABC_XYZ="xxx yyy ccc ddd" 这种格式。

如果在 /etc/rc.conf 中写成以下形式:

这种形式下,后续的 ABC_XYZ 配置行会覆盖前一行,因此只有最后一行会生效。

查看网卡速率

如需实时监控网络接口的流量统计信息,可使用 systat 工具的网络接口视图。该命令以指定的刷新间隔显示各网络接口的接收和发送流量数据:

其中 -if 参数指定显示网络接口信息,数字 2 表示刷新间隔为 2 秒。

查看 FreeBSD 下载流量(bwm-ng)

如需查看更详细的网络流量统计,可安装 bwm-ng 工具,该工具提供了多种流量显示格式和交互功能:

按字母 d 可以切换流量显示格式,按 h 可以查阅更多使用方法。

课后习题

  1. 在 FreeBSD 系统上配置双静态 IP 地址,分别设置不同的 DNS 服务器,然后使用 dig 命令验证每个 DNS 服务器的解析行为,分析为什么系统允许同时配置多个 DNS 服务器而不产生冲突。

  2. 修改网络接口的 MTU 值为 9000(巨型帧),使用 ping -M do -s 8972 命令测试连通性。

  3. 禁用 resolvconf 服务,然后手动修改 /etc/resolv.conf 并重启网络服务,验证配置是否持久化。

最后更新于