首页>教程>FreeBSD 教程> 网络配置 >FreeBSD 中识别网络适配器

FreeBSD 中识别网络适配器

目前,FreeBSD 支持绝大多数的有线或无线网卡,配置前可以先查看系统中有哪些网络适配器。

查看网络适配器

使用如下的命令查看系统中的网络设备:

pciconf -lv | grep -A1 -B3 network

根据你系统中安装的设备,会输出类似如下的信息:

em0@pci0:0:25:0:        class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x10f5 subvendor=0x17aa subdevice=0x20ee
    vendor     = 'Intel Corporation'  # 网卡厂商
    device     = '82567LM Gigabit Network Connection'  # 网卡型号
    class      = network
    subclass   = ethernet  # 有线以太网网卡
--
iwn0@pci0:3:0:0:        class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x4237 subvendor=0x8086 subdevice=0x1211
    vendor     = 'Intel Corporation'
    device     = 'PRO/Wireless 5100 AGN Network Connection'  # 无线网卡型号
    class      = network

注:@ 符号前面的 em0/iwn0 是网卡驱动名称+序号,如果要查看具体内容,可查看其对应的手册 em(4)iwn(4)

加载网卡驱动模块

如果 FreeBSD 系统未能自动识别并加载网卡,那么就需要手动加载显卡驱动模块,加载的方式有如下两种:

  • 临时加载,重启后就会失效
  • 开机自动加载

临时加载驱动

以加载 alc 驱动为例,使用如下的命令加载驱动:

kldload if_alc

解释说明:

  • kldload:FreeBSD 的内核模块加载命令
  • if_alc:网卡驱动模块名称,名称的形式为 if_驱动名

开机自动加载

将驱动加载指令写入 /boot/loader.conf 文件中,实现开机自动加载网卡驱动。

1)编辑 /boot/loader.conf 文件:

sudo vi /boot/loader.conf

2)添加如下内容:

if_alc_load="YES"

配置项解析:

  • if_alc_load:驱动加载指定,YES 表示启用;
  • /boot/loader.conf:FreeBSD 内核启动模块配置文件,修改后需要重启后才能生效。

查看网卡状态

使用 ifconfig 命令查看所有网卡的详细配置:

ifconfig

输出信息会与你自己的系统相关,会输出类似如下的信息:

em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=481249b<RXCSUM,TXCSUM,VLAN_MTU,...>  # 网卡硬件特性
        ether 00:1f:16:0f:27:5a  # 网卡MAC地址
        inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255  # IPv4地址/掩码/广播地址
        inet6 fe80::21f:16ff:fe0f:275a%em0 prefixlen 64 scopeid 0x1  # IPv6链路本地地址
        media: Ethernet autoselect (1000baseT <full-duplex>)  # 协商速率与双工模式
        status: active  # 链路状态:active=已连接;no carrier=未插网线
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000  # 本地回环地址
        inet6 ::1 prefixlen 128  # IPv6回环地址

网卡说明:

  • em0:以太网网卡
  • lo0:回环网卡

关键信息说明:

  • UP:网卡已启用
  • RUNNING:网卡正在运行
  • status: active:物理链路已连通
  • inet:配置的 IPv4 地址
  • inet6:配置的 IPv6 地址