游乐游手机版
首页/系统平台/文章详情

英特尔千兆网卡驱动安装和VLAN启用及轮询抗DDoS

时间:2026-06-20 10:23
在FreeBSD系统中配置Intel网卡驱动,步骤虽然不算复杂,但关键细节容易被忽略。本文将系统梳理两种安装方式、常用网卡参数、VLAN配置以及用于抵御攻击的Polling模式,方便实际操作时直接参考。 编译模块 首先创建目录存放驱动源码: mkdir usr local src em 解压并进

在FreeBSD系统中配置Intel网卡驱动,步骤虽然不算复杂,但关键细节容易被忽略。本文将系统梳理两种安装方式、常用网卡参数、VLAN配置以及用于抵御攻击的Polling模式,方便实际操作时直接参考。

编译模块

首先创建目录存放驱动源码:

#mkdir /usr/local/src/em

解压并进入目录:

#tar xvfz em-5.1.5.tar.gz
#cd em-5.1.5

编译与安装一气呵成:

# make
#make install

如果需要开机自动加载模块,编辑 /boot/loader.conf,添加以下内容:

if_em_load="YES"

编译驱动到内核

此方法更为彻底,适合对稳定性要求较高的生产环境。首先返回源码目录下的 src 文件夹:

cd /usr/local/src/em/em-5.1.5/src
cp if_em* /usr/src/sys/dev/em
cp Makefile.kernel /usr/src/sys/modules/em/Makefile

接着编辑 /usr/src/sys/conf/files.i386,加入以下两行:

dev/em/if_em.c optional em
dev/em/if_em_hw.c optional em

然后修改内核配置文件(例如 GENERIC 或自定义文件),确保包含以下行:

device em

最后编译安装内核,重启后生效。

网卡设置参数

基本语法简洁明了:ifconfig_em<接口编号>="<配置参数>"。例如,强制百兆全双工模式:

ifconfig em0 10.0.0.1 media 100baseTX mediaopt full-duplex

驱动支持的 media 模式包括:

  • autoselect — 自动协商速率与双工模式
  • 10baseT/UTP — 10 Mbps,配合 mediaopt full-duplex 可启用全双工
  • 100baseTX — 100 Mbps,同样支持全双工设置
  • 1000baseTX — 1000 Mbps,驱动仅支持全双工
  • 1000baseSX — 1000 Mbps(光纤),也只支持全双工模式

修改 MTU 的命令为:ifconfig em0 10.0.0.1 mtu 9000。查看路由信息:route get 目标IP

VLAN 设置

创建 VLAN 接口:

#ifconfig vlan10 create

分配 IP 并绑定物理网卡:

ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0

删除 VLAN 接口同样简单:#ifconfig vlan10 destroy

Polling 模式

Polling 模式的设计思路值得深入说明。默认情况下,网卡通过中断通知 CPU 接收数据包;若遭遇 DoS 攻击,海量数据包会触发中断风暴,导致 CPU 彻底瘫痪。Polling 模式改为由 CPU 定期主动从网卡内存中“取货”——虽然常态下效率稍低,但抗攻击能力显著提升。

要启用此模式,内核配置需包含:

options DEVICE_POLLING

可选添加 options HZ=1000(HZ 表示 CPU 每秒轮询网卡的次数,值越大轮询间隔越短,中断次数也相应增加)。

启用后可通过 sysctl 调整以下关键参数:

  • kern.polling.enable=1 — 开启 Polling 模式
  • kern.polling.burst — 每个时间片内每个网卡最多抓取的数据包数,系统自动计算,无需手动干预
  • kern.polling.burst_max — 每次从内存中取出的数据包数量,默认150。CPU 每秒可处理的数据包上限 ≈ HZ × burst_max
  • kern.polling.each_burst — 默认5,实际影响不大
  • kern.polling.idle_poll=1 — 官方手册推荐启用
  • kern.polling.reg_frac — 检测网卡错误的间隔,默认20(单位为时间片)
  • kern.polling.user_frac=10 — 预留给用户态任务的 CPU 比例,默认50。如果是防火墙场景,建议适当调低
  • kern.polling.handlers — 已注册 Polling 模式的网卡数量,只读属性

关于 HZ 与 burst_max 的配合关系:HZ 值越大,CPU 轮询频率越高,但中断次数也随之增加。个人建议设置 options HZ=500,配合 burst_max=150,可使服务器在高流量下既保持稳定又具备较强的抗攻击能力。当然,实际环境最好通过压力测试验证,HZ 在 500~2000 之间通常效果较好,再往上则取决于硬件承受能力。

来源:https://www.jb51.net/os/Unix/1526.html
上一篇如何在FreeBSD 6.2中使用Ports完整安装配置Vsftpd服务器的方法 下一篇FreeBSD su命令报错Sorry的解决方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送