一、Network Servers
-
DNS
- unbound/local_unbound
# /etc/rc.conf
local_unbound_enable="YES"
# 测试指定 DNS 服务器是否畅通且启用安全特性(DNSSEC),测试通过的 DNS 服务器地址可保留在 /etc/resolv.conf 用作 unbound 或 local_unbound(系统自带的仅用于本地服务的精简版) 的緩存源
drill -S FreeBSD.org @8.8.8.8$ drill -S FreeBSD.org
;; Number of trusted keys: 1
;; Chasing: freebsd.org. A DNSSEC Trust tree:
freebsd.org. (A)
|---freebsd.org. (DNSKEY keytag: 36786 alg: 8 flags: 256)
|---freebsd.org. (DNSKEY keytag: 32659 alg: 8 flags: 257)
|---freebsd.org. (DS keytag: 32659 digest type: 2)
|---org. (DNSKEY keytag: 49587 alg: 7 flags: 256)
|---org. (DNSKEY keytag: 9795 alg: 7 flags: 257)
|---org. (DNSKEY keytag: 21366 alg: 7 flags: 257)
|---org. (DS keytag: 21366 digest type: 1)
| |---. (DNSKEY keytag: 40926 alg: 8 flags: 256)
| |---. (DNSKEY keytag: 19036 alg: 8 flags: 257)
|---org. (DS keytag: 21366 digest type: 2)
|---. (DNSKEY keytag: 40926 alg: 8 flags: 256)
|---. (DNSKEY keytag: 19036 alg: 8 flags: 257)
;; Chase successful#启用 local_unbound,之后每个域名从第二次重复訪问时,将通过本地 DNS 緩存加速解析
service local_unbound onestart(服务启动后将会注释掉 resolv.conf 中已有的 nameserver IP)
-
FTP 服务器
- ftpd:FreeBSD 自带的一个精简实用的 ftp 服务器
# /etc/ftpusers:禁止登陆 ftp 服务器的用户名单
root
...
nobody
# /etc/ftpchroot:将所有用户锁定在指定目录(如:/home/ftp)下,禁止查看外部的目录結构
@ /home/ftp
# /etc/rc.conf
ftpd_enable="YES"-
允许匿名登陆
- 建立名为 ftp 的用户,任意客户端可使用 ftp 用户名(无需密码)登陆
- 匿名用的户的可见范围被自动锁定在 ftp 用户的 home 目录中
-
NTP 服务器
# /etc/rc.conf
ntpd_enable="YES"
# /etc/ntp.conf:用于陈列多条上游(源) NTP 服务器地址
server ntp1.nl.net
server 120.25.108.11
二、Advanced Networking
-
Gateways and Routes
# /etc/rc.conf
#设置默认路由(等效命令:route add default 10.0.0.1)
defaultrouter="10.0.0.1"
#设置静态路由(等效命令:route add -net 192.168.0.0/24 192.168.0.1)
static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"
-
USB Tethering
# Android 手机网络共享
kldload if_urndis
-
Bridging
- 基础应用
#手动创建虚拟网桥,添加网口成员,成员类型可以为物理端口或其它虚拟端口(如:vlan 等)
ifconfig bridge create #可以自定义端口名称,如:ifconfig bridge8 create,将创建名为 bridge8 的设备,仅能以 虚拟设备类型 后跟 数字的方式命名
ifconfig bridge addm alc0 addm alc1 up
# 静态设置:/etc/rc.conf
cloned_interfaces="bridge0"
ifconfig_bridge0="addm alc0 addm alc1 up inet 10.0.0.2/8"
ifconfig_alc0="up"
ifconfig_alc1="up"
# RSTP(The Rapid Spanning Tree Protocol):传统 stp 协议的升級版,用于防止产生环路
ifconfig bridge0 stp alc0 stp alc1- 高級应用
# 将多个物理网口的流量聚集到虚拟网桥,用于监控分析,被聚积的流量经过网桥后将被直接丢弃
ifconfig bridge0 addm alc0 addm alc1 addm alc2 addm alc3 monitor up
tcpdump -i bridge0
# 设定鏡像端口(span),网桥收到的所有流量都将复制一份至鏡像端口,但从鏡像口流入的流量不再进入网桥,例如本例中的 alc4 端口
ifconfig bridge0 span alc4
# 限制成员的 IP 数量,通常是 vlan 成员
ifconfig bridge0 ifmaxaddr vlan_1
-
Link Aggregation and Failover
- 多网口链路聚合技术,用于负载均衡与容灾,类似于 Linux 下的 bonding 或 teamd 的应用场景
- 创建 lacp 类型的链路聚合端口
# 需交换机支持,且成员端口必須具备相同的速率与工作模式,如:1000M 全双工
# Cisco® switch 设置# 创建 channel group
interface FastEthernet0/1
channel-group 1 mode active
channel-protocol lacp
!
interface FastEthernet0/2
channel-group 1 mode active
channel-protocol lacp# 查看端口聚合的状态
show lacp neighbor
# FreeBSD 主机设置
# 手动设置
ifconfig lagg9 create up
ifconfig lagg9 laggprotolacplaggport alc0 laggport alc1 10.0.0.3/24 #laggproto 指定端口聚合类型,实用的模式有两种:failover(仅容錯)、lacp(容錯、负载均衡)
# /etc/rc.conf
ifconfig_alc0="up"
ifconfig_alc1="up"
cloned_interfaces="lagg9"
ifconfig_lagg9="laggproto lacp laggport alc0 laggport alc1 10.0.0.3/24"- 创建 failover 类型的链路聚合端口
# 无需交换机支持,对成员端口的速率与工作模式无要求
# FreeBSD 主机设置
# 手动设置
ifconfig lagg create up
ifconfig lagg0 laggproto failover laggport alc0 laggport alc1 10.0.0.3/ #laggproto 指定端口聚合类型,实用的模式有两种:failover(仅容錯)、lacp(容錯、负载均衡)
# /etc/rc.conf
ifconfig_alc0="up"
ifconfig_alc1="up"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport alc0 laggport alc1 10.0.0.3/24"
...