7.3.有线网络
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
待加载了正确的驱动程序,就需要配置网络适配器。FreeBSD 使用驱动程序名称后跟一个单元号来命名网络接口适配器。单元号表示适配器在启动时被检测到的顺序,或者稍后发现的顺序。
例如,em0
是系统中使用 驱动程序的第一个网络接口卡(NIC)。
要显示网络接口配置,输入以下命令:
输出应类似于以下内容:
在这个例子中,显示了以下设备:
em0
:以太网接口。
该例子显示 em0
已经启动并在运行。
关键指示项是:
UP
表示接口已配置并准备就绪。
接口具有 IPv4 地址(inet
),192.168.1.19
。
接口具有 IPv6 地址(inet6
),fe80::21f:16ff:fe0f:275a%em0
。
它有一个有效的子网掩码(netmask
),其中 0xffffff00
等同于 255.255.255.0
。
它有一个有效的广播地址,192.168.1.255
。
接口的 MAC 地址(ether
)是 00:1f:16:0f:27:5a
。
物理媒体选择处于自动选择模式(media: Ethernet autoselect (1000baseT <full-duplex>)
)。
链接状态(status
)为 active
,表示检测到载波信号。对于 em0
,当以太网电缆未插入接口时,status: no carrier
状态是正常的。
本节提供了在 FreeBSD 系统上配置静态 IPv4 地址的指南。
注意
可以通过执行以下命令设置 IP 地址:
要使更改在重启后保持,可以执行以下命令:
添加默认路由,执行以下命令:
将 DNS 记录添加到 /etc/resolv.conf:
然后通过执行以下命令重启 netif
和 routing
服务:
输出应类似于以下内容:
要使接口使用 DHCP,执行以下命令:
输出应类似于以下内容:
这样可以验证使用 DHCP 进行地址分配是否正常工作。
然后重启 netif
,执行以下命令:
输出应类似于以下内容:
IPv6 是著名的 IP 协议的新版本,也被称为 IPv4。
与 IPv4 相比,IPv6 提供了许多优势和新特性:
其 128 位地址空间允许拥有 340,282,366,920,938,463,463,374,607,431,768,211,456 个地址。这解决了 IPv4 地址短缺和最终耗尽的问题。
路由器仅在其路由表中存储网络聚合地址,从而将路由表的平均大小减少到 8192 条目。这解决了与 IPv4 相关的可扩展性问题,IPv4 需要每个分配的地址块在互联网路由器之间交换,导致路由表变得过大,无法进行有效路由。
强制使用多播地址。
内建 IPsec(IP 安全)。
简化的头部结构。
支持移动 IP。
IPv6 到 IPv4 的过渡机制。
本节将重点介绍如何配置和启用 IPv6。
IPv6 地址有三种不同类型:
单播(Unicast):发送到单播地址的数据包到达属于该地址的接口。
任播(Anycast):这些地址在语法上与单播地址相同,但它们表示一组接口。发送到任播地址的数据包会到达最近的路由器接口。任何播地址仅由路由器使用。
多播(Multicast):这些地址标识一组接口。发送到多播地址的数据包将到达属于该多播组的所有接口。IPv4 的广播地址(通常是 xxx.xxx.xxx.255
)在 IPv6 中由多播地址表示。
阅读 IPv6 地址时,规范形式表示为 xxxx:x
,其中每个 x
代表 16 位十六进制值。示例:FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
。
通常,一个地址会有很长的零子串。可以使用 ::
(双冒号)来替换地址中的一个子串。另外,每个十六进制值最多可以省略三个前导零。例如,fe80::1
等同于规范形式 fe80:0000:0000:0000:0000:0000:0000:0001
。
另一种形式是使用已知的 IPv4 表示法来写最后 32 位。例如,2002::10.0.0.1
对应的十六进制规范表示为 2002:0000:0000:0000:0000:0000:0a00:0001
,这又等同于 2002::a00:1
。
要查看 FreeBSD 系统的 IPv6 地址,执行以下命令:
输出应类似于以下内容:
在此示例中,em0
接口使用 fe80::21f:16ff:fe0f:275a%em0
,这是一个自动配置的链路本地地址,自动从 MAC 地址生成。
某些 IPv6 地址是保留的。可以查看下表了解保留地址的列表:
::
128 位
未指定地址
等同于 IPv4 中的 0.0.0.0
。
::1
128 位
回环地址
等同于 IPv4 中的 127.0.0.1
。
::00:xx:xx:xx:xx
96 位
嵌入的 IPv4 地址
低 32 位是兼容的 IPv4 地址。
::ff:xx:xx:xx:xx
96 位
IPv4 映射的 IPv6 地址
低 32 位是不支持 IPv6 的主机的 IPv4 地址。
fe80::/10
10 位
链路本地地址
等同于 IPv4 中的 169.254.0.0/16
。
fc00::/7
7 位
唯一本地地址
唯一本地地址用于本地通信,并且仅在一组合作站点内可路由。
ff00::
8 位
多播地址
2000::-3fff::
3 位
全球单播地址
所有全球单播地址都从此池中分配。前三位是 001
。
要将 FreeBSD 系统配置为 IPv6 客户端并使用静态 IPv6 地址,必须设置 IPv6 地址。
执行以下命令以满足要求:
要指定默认路由器地址,执行以下命令:
如果网络中有 DHCP 服务器,可以很容易地将网络接口配置为使用 DHCP。[dhclient(8)](https://man.freebsd.org/cgi/man.cgi?query=dhclient&sektion=8&format=html)
会自动提供 IP 地址、子网掩码和默认路由器。
要使接口在没有 DHCP 的情况下工作,执行以下命令:
本节演示如何在 IPv6 路由器上设置 [rtadvd(8)](https://man.freebsd.org/cgi/man.cgi?query=rtadvd&sektion=8&format=html)
,以广播 IPv6 网络前缀和默认路由。
要启用 [rtadvd(8)](https://man.freebsd.org/cgi/man.cgi?query=rtadvd&sektion=8&format=html)
,执行以下命令:
重要的是要指定进行 IPv6 路由器通告的接口。例如,要告诉 [rtadvd(8)](https://man.freebsd.org/cgi/man.cgi?query=rtadvd&sektion=8&format=html)
使用 em0
:
接下来,创建配置文件 /etc/rtadvd.conf
,如以下示例所示:
将 em0
替换为要使用的接口,并将 2001:db8:1f11:246::
替换为分配的前缀。
对于专用的 /64
子网,无需更改其他任何内容。否则,请将 prefixlen#
更改为正确的值。
启用 IPv6 的服务器可能需要启用 IPv4 映射的 IPv6 地址通信。此兼容性选项允许将 IPv4 地址表示为 IPv6 地址。允许 IPv6 应用程序与 IPv4 通信,反之亦然,这可能会带来安全问题。
在大多数情况下,此选项可能不是必需的,仅用于兼容性。此选项能让仅支持 IPv6 的应用程序在双栈环境中与 IPv4 一起工作。这对那些可能不支持仅 IPv6 环境的第三方应用程序最为有用。
要启用此功能,请执行以下命令:
lo0
:回环接口是一种软件回环机制,可以用于性能分析、软件测试/本地通信。更多信息请参考 。
如果 输出类似于以下内容,则表示接口未配置:
可以通过命令行使用 来执行网络接口卡配置,但除非将配置添加到 /etc/rc.conf 中,否则在重启后不会保留。
如果在安装过程中通过 配置了网络,可能已经有了某些网卡(NIC)的条目。在执行 之前,请仔细检查 /etc/rc.conf。
可以使用 测试连接:
如果网络中有 DHCP 服务器,配置网络接口使用 DHCP 非常简单。FreeBSD 使用 作为 DHCP 客户端。 会自动提供 IP 地址、子网掩码和默认路由。
可以通过手动运行以下命令使用 :
可以使用 测试连接:
地址自动配置()。
FreeBSD 包含 的 IPv6 参考实现,并附带了使用 IPv6 所需的一切。
有关 IPv6 地址结构的更多信息,请参阅 。