`use_tempaddr` 和 `temp_valid_lft ` 和 `temp_prefered_lft ` 笔记250405

news2025/4/6 5:39:14

use_tempaddrtemp_valid_lft temp_prefered_lft 笔记250405

以下是 Linux 系统中与 IPv6 临时隐私地址相关的三个关键参数 use_tempaddrtemp_valid_lfttemp_prefered_lft 的详细说明及协作关系:


📜 参数定义与功能

参数作用默认值依赖关系
use_tempaddr控制是否生成 IPv6 临时隐私地址,并指定其使用优先级。1(启用)autoconf=1(启用地址自动配置)。
temp_valid_lft定义临时地址的 总有效时间(从生成到失效)。604800(7天)仅在 use_tempaddr=12 时生效。
temp_prefered_lft定义临时地址的 首选时间(在此期间地址处于“首选”状态,之后进入“废弃”状态)。86400(1天)必须 ≤ temp_valid_lft

🌐 协作机制

  1. 地址生成流程

    • 步骤 1use_tempaddr=12 → 系统生成临时地址。
    • 步骤 2temp_prefered_lft 定义地址的“首选有效期”(在此期间地址优先用于新连接)。
    • 步骤 3temp_valid_lft 定义地址的“总有效期”(超时后地址被删除)。
  2. 生命周期示例

    # 假设配置:
    use_tempaddr=2
    temp_prefered_lft=43200  # 12 小时
    temp_valid_lft=86400     # 24 小时
    
    • 前 12 小时:地址为首选状态,用于所有新连接。
    • 12-24 小时:地址为废弃状态,仅处理现有连接,不用于新连接。
    • 24 小时后:地址被移除。

🛠️ 配置方法

         1. 临时地址全配置示例

# 启用临时地址并优先使用
sysctl -w net.ipv6.conf.eth0.use_tempaddr=2

# 设置总有效期为 2 天(172800 秒)
sysctl -w net.ipv6.conf.eth0.temp_valid_lft=172800

# 设置首选时间为 6 小时(21600 秒)
sysctl -w net.ipv6.conf.eth0.temp_prefered_lft=21600

         2. 永久生效
在配置文件(如 /etc/sysctl.d/99-ipv6.conf)中添加:

net.ipv6.conf.eth0.use_tempaddr = 2
net.ipv6.conf.eth0.temp_valid_lft = 172800
net.ipv6.conf.eth0.temp_prefered_lft = 21600

执行 sysctl -p 加载配置。


🔍 验证操作

  1. 查看参数值

    sysctl net.ipv6.conf.eth0.{use_tempaddr,temp_valid_lft,temp_prefered_lft}
    
  2. 检查地址状态

    ip -6 addr show dev eth0
    # 输出示例:
    # inet6 2001:db8::1234:5678:9012:3456/64 scope global temporary dynamic
    #    valid_lft 172800sec preferred_lft 21600sec
    

🌟 典型场景

         1. 移动设备(高隐私保护)

# 优先使用临时地址,快速轮换
sysctl net.ipv6.conf.wlan0.use_tempaddr=2
sysctl net.ipv6.conf.wlan0.temp_prefered_lft=21600   # 6 小时
sysctl net.ipv6.conf.wlan0.temp_valid_lft=86400      # 24 小时

         2. 服务器(禁用临时地址)

# 完全禁用临时地址
sysctl net.ipv6.conf.eth0.use_tempaddr=0

         3. 平衡隐私与稳定性

# 启用临时地址但不优先使用
sysctl net.ipv6.conf.eth0.use_tempaddr=1
sysctl net.ipv6.conf.eth0.temp_prefered_lft=604800   # 7 天
sysctl net.ipv6.conf.eth0.temp_valid_lft=1209600     # 14 天

⚠️ 注意事项

  1. 参数逻辑约束

    • temp_prefered_lft 必须 ≤ temp_valid_lft,否则地址可能提前失效。
  2. 依赖服务

    • 临时地址的生成需满足以下条件:
      • autoconf=1(启用 SLAAC 地址自动配置)。
      • accept_ra=1(接受路由通告)。
  3. 网络转发冲突

    • 若启用 IPv6 转发(forwarding=1),需设置 accept_ra=2 以允许接收 RA。

📊 生命周期状态图

临时地址生成
首选状态: temp_prefered_lft
废弃状态
有效状态: temp_valid_lft
地址失效

通过合理配置这三个参数,可精准控制 IPv6 临时地址的生成与生命周期,平衡隐私性、稳定性与兼容性,适用于从物联网终端到企业服务器的全场景需求。











详解 use_tempaddrtemp_valid_lfttemp_prefered_lft:IPv6 隐私扩展控制

这三个参数共同管理 IPv6 临时地址的生成策略与生命周期,用于增强网络隐私保护,减少设备在互联网上的可追踪性。以下是它们的核心作用、协同配置及实际场景分析:


1. 参数功能对比

参数作用默认值依赖关系
use_tempaddr控制是否生成临时地址及优先级:
0=禁用,1=生成但优先公有地址,2=优先临时地址。
1accept_ra=1autoconf=1
temp_valid_lft临时地址的 总有效时间(秒)。604800(7天)use_tempaddr=12
temp_prefered_lft临时地址的 首选使用时间(秒)。超过后生成新地址,旧地址进入废弃状态。86400(1天)use_tempaddr=12

2. 协同工作流程

          +-----------------+
          |  use_tempaddr=2  | ← 启用隐私扩展,优先使用临时地址
          +--------+--------+
                   |
                   ↓
+----------------+   生成临时地址    +-------------------+
| temp_valid_lft | ← 控制总有效期 → | temp_prefered_lft |
+----------------+                 +-------------------+
                   ↓
           临时地址生命周期管理:
           - 前 1 天(86400s)优先使用临时地址。
           - 后 6 天作为废弃地址(仍有效但不主动使用)。
           - 7 天后完全失效,生成新地址。

3. 配置方法与示例

         3.1 临时修改(重启失效)

# 启用隐私扩展并优先使用临时地址
echo 2 | sudo tee /proc/sys/net/ipv6/conf/eth0/use_tempaddr

# 调整临时地址生命周期(有效 3 天,首选 12 小时)
echo 259200 | sudo tee /proc/sys/net/ipv6/conf/eth0/temp_valid_lft  # 3天=259200秒
echo 43200 | sudo tee /proc/sys/net/ipv6/conf/eth0/temp_prefered_lft  # 12小时=43200秒

         3.2 永久生效
通过 sysctl 配置文件(如 /etc/sysctl.d/):

# 创建或编辑配置文件
echo "net.ipv6.conf.eth0.use_tempaddr = 2" | sudo tee -a /etc/sysctl.d/99-ipv6.conf
echo "net.ipv6.conf.eth0.temp_valid_lft = 259200" | sudo tee -a /etc/sysctl.d/99-ipv6.conf
echo "net.ipv6.conf.eth0.temp_prefered_lft = 43200" | sudo tee -a /etc/sysctl.d/99-ipv6.conf

# 加载配置
sudo sysctl -p /etc/sysctl.d/99-ipv6.conf

4. 典型场景

         场景 1:移动设备(高隐私需求)

  • 需求:在公共 Wi-Fi 中最大化隐私保护。
  • 配置
    use_tempaddr=2                  # 优先使用临时地址
    temp_valid_lft=172800           # 2天(172800秒)
    temp_prefered_lft=21600         # 6小时(21600秒)
    
  • 效果:每 6 小时生成新临时地址,旧地址 2 天后失效。

         场景 2:服务器(禁用临时地址)

  • 需求:服务器需固定 IP 以简化防火墙规则。
  • 配置
    use_tempaddr=0                  # 禁用临时地址
    

         场景 3:平衡隐私与稳定性

  • 需求:家庭网络设备需隐私保护,但避免频繁地址变化。
  • 配置
    use_tempaddr=2
    temp_valid_lft=604800           # 7天(默认)
    temp_prefered_lft=172800        # 2天(172800秒)
    

5. 验证与调试

         查看临时地址

ip -6 addr show dev eth0 | grep "temporary"
# 输出示例:
# inet6 2001:db8::1a2b:c3ff:fe4d:5e6f/64 scope global temporary dynamic

         检查参数值

cat /proc/sys/net/ipv6/conf/eth0/{use_tempaddr,temp_valid_lft,temp_prefered_lft}
# 预期输出:
# 2
# 259200
# 43200

         抓包分析地址使用

sudo tcpdump -i eth0 -nn "icmp6"  # 观察临时地址是否作为源地址

6. 安全建议

  1. 优先使用 use_tempaddr=2
    避免基于 EUI-64 地址的 MAC 追踪(如 2001:db8::1a2b:c3ff:fe4d:5e6f 包含 MAC 1a:2b:c3:4d:5e:6f)。
  2. 缩短首选时间
    减少 temp_prefered_lft(如 6 小时)以提高隐私性,但需平衡地址稳定性。
  3. 禁用公有地址生成(激进策略):
    sysctl -w net.ipv6.conf.eth0.addr_gen_mode=2  # 仅生成临时地址(需内核 ≥4.1)
    

7. 注意事项

  • 兼容性问题
    某些应用(如旧版 VPN)可能依赖稳定 IPv6 地址,需测试兼容性。
  • 防火墙规则
    若基于 IPv6 地址过滤流量,需适应临时地址的动态变化。
  • 日志追踪
    临时地址变化可能导致日志分析复杂化,建议结合主机名或用户 ID 追踪。

总结

  • use_tempaddr:隐私扩展的总开关,决定是否生成临时地址及其优先级。
  • temp_valid_lft:控制临时地址的“最大生存周期”,到期后地址失效。
  • temp_prefered_lft:控制临时地址的“活跃使用周期”,到期后生成新地址。
  • 协同配置
    • 高隐私场景use_tempaddr=2 + 短 temp_prefered_lft
    • 平衡场景use_tempaddr=2 + 默认生命周期。
    • 服务器场景use_tempaddr=0(禁用临时地址)。
  • 持久化管理:通过 sysctl 配置文件确保重启后生效。










以下是 use_tempaddrtemp_valid_lfttemp_prefered_lft 的详细解释,结合知识库信息和实际配置方法:


1. use_tempaddr

         作用
控制 IPv6 临时地址(Temporary Address) 的生成和使用行为,属于 隐私扩展机制(RFC 4941)。

  • 临时地址 是随机生成的地址,用于替代基于 MAC 地址的永久地址,以避免长期跟踪。

         取值与行为

行为适用场景
0禁用临时地址,仅使用永久地址。服务器、路由器(需固定地址)。
1启用临时地址,但默认使用永久地址通信。临时地址仅在特定场景(如隐私需求)使用。隐私需求较低,但保留临时地址选项。
2强制使用临时地址进行外部通信。临时地址优先于永久地址。普通用户设备(高隐私需求)。

         配置方法

# 全局启用临时地址(永久生效)
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
sudo sysctl -w net.ipv6.conf.default.use_tempaddr=2
echo "net.ipv6.conf.all.use_tempaddr = 2" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.use_tempaddr = 2" >> /etc/sysctl.conf
sudo sysctl -p

2. temp_valid_lft(有效时间)

         作用
定义临时地址的 总有效时间(Lifetime)。超过此时间后,地址将被系统自动删除。

  • 默认值:通常为 7 天7d)。

         行为说明

  • 地址在有效期内始终存在,但超过 优先时间temp_prefered_lft)后,系统将不再使用该地址进行新连接。
  • 有效期结束后,系统会生成新的临时地址替代旧地址。

         查看当前值
通过 ip 命令查看接口的 IPv6 地址信息:

ip -6 addr show dev <接口名>

示例输出:

inet6 2001:db8::1234/64 scope global dynamic temporary valid_lft 604800sec preferred_lft 86400sec
  • valid_lft 604800sec:有效时间为 7 天(604800 = 7*24*60*60)。
  • preferred_lft 86400sec:优先时间为 1 天(86400 = 24*60*60)。

         调整方法
临时地址的时间由内核自动管理,通常无需手动设置。但可通过以下方式间接影响:

  • 修改内核参数 net.ipv6.addr_gen_mode(控制地址生成模式)。
  • 通过 ip 命令手动删除并重新生成地址:
    sudo ip addr del <临时地址>/<前缀长度> dev <接口名>
    sudo ip link set dev <接口名> down && sudo ip link set dev <接口名> up
    

3. temp_prefered_lft(优先使用时间)

         作用
定义临时地址的 优先使用时间。在此期间,系统会优先使用该地址进行新连接。

  • 默认值:通常为 1 天1d)。
  • 优先时间结束后,地址仍有效但不再用于新连接,直到有效时间结束。

         行为说明

  • 系统会在优先时间结束前自动生成新地址,替换旧地址。
  • 新连接会自动使用新地址,旧地址在有效期内仍处理现有连接。

         查看当前值
temp_valid_lft 一同通过 ip 命令查看:

ip -6 addr show dev <接口名>

         调整方法
temp_valid_lft无需手动设置。时间由内核根据 use_tempaddr 和系统策略自动管理。


三者关系与协作

参数作用默认值依赖关系
use_tempaddr控制是否启用临时地址及使用方式(强制/默认/禁用)。0(部分系统默认)无(核心开关)
temp_valid_lft临时地址的总有效期(超过后删除)。7 天依赖 use_tempaddr ≥ 1
temp_prefered_lft临时地址的优先使用时间(超过后不再用于新连接)。1 天依赖 use_tempaddr ≥ 1

配置示例

         场景 1:启用临时地址并查看有效期

# 启用临时地址(强制使用)
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2

# 查看 eth0 接口的 IPv6 地址
ip -6 addr show dev eth0

# 输出示例:
# inet6 2001:db8::1234/64 scope global dynamic temporary valid_lft 604800sec preferred_lft 86400sec

         场景 2:手动刷新临时地址

# 删除现有临时地址(假设地址为 2001:db8::1234/64)
sudo ip -6 addr del 2001:db8::1234/64 dev eth0

# 重启接口以生成新地址
sudo ip link set dev eth0 down && sudo ip link set dev eth0 up










use_tempaddrtemp_valid_lfttemp_prefered_lft 都是与 Linux 系统中 IPv6 临时地址配置相关的参数,下面为你详细介绍这三个参数及其相互关系。

use_tempaddr

         功能
use_tempaddr 用于控制设备是否使用临时 IPv6 地址。临时 IPv6 地址是动态生成的,有一定有效期,定期更换可增强用户隐私,避免基于固定地址的长期跟踪。

         取值含义

  • 0:禁用临时 IPv6 地址,设备仅使用基于接口标识(如 MAC 地址)生成的永久 IPv6 地址进行网络通信。
  • 1:启用临时 IPv6 地址,设备在通信时除使用永久地址外,还会生成并使用临时 IPv6 地址。

         配置方式

  • 临时配置(重启后失效):使用 sysctl 命令修改,例如全局启用临时地址:
sysctl -w net.ipv6.conf.all.use_tempaddr=1

针对特定接口(如 ens33)启用:

sysctl -w net.ipv6.conf.ens33.use_tempaddr=1
  • 永久配置:编辑 /etc/sysctl.conf 文件,添加或修改相应配置项,如全局启用:
net.ipv6.conf.all.use_tempaddr = 1

特定接口(如 ens33)启用:

net.ipv6.conf.ens33.use_tempaddr = 1

修改后执行 sysctl -p 使配置立即生效。

temp_valid_lft

         功能
temp_valid_lft 用于设置临时 IPv6 地址的有效生存期(Valid Lifetime)。在这个时间段内,临时地址被认为是有效的,可以用于网络通信。

         取值含义
该参数的值是一个时间值,单位为秒。例如,设置 temp_valid_lft = 86400 表示临时地址的有效生存期为一天(86400 秒)。当超过这个时间后,临时地址将不再有效,设备会生成新的临时地址。

         配置方式
配置方式与 use_tempaddr 类似,可通过 sysctl 命令进行临时配置,通过编辑 /etc/sysctl.conf 文件进行永久配置。例如,全局设置临时地址有效生存期为 43200 秒(12 小时):

sysctl -w net.ipv6.conf.all.temp_valid_lft=43200

永久配置则在 /etc/sysctl.conf 中添加:

net.ipv6.conf.all.temp_valid_lft = 43200

然后执行 sysctl -p 使配置生效。

temp_prefered_lft

         功能
temp_prefered_lft 用于设置临时 IPv6 地址的首选生存期(Preferred Lifetime)。在这个时间段内,临时地址是首选使用的地址,当超过这个时间后,虽然地址仍然有效,但不再是首选,设备可能会逐渐切换到新的临时地址。

         取值含义
同样是一个时间值,单位为秒。通常 temp_prefered_lft 的值小于等于 temp_valid_lft 的值。例如,设置 temp_prefered_lft = 21600 表示临时地址在 6 小时(21600 秒)内是首选使用的,超过 6 小时后,设备可能会开始准备使用新的临时地址,但原地址在 temp_valid_lft 规定的时间内仍然可以使用。

         配置方式
与上述参数配置方式相同,例如全局设置临时地址首选生存期为 10800 秒(3 小时):

sysctl -w net.ipv6.conf.all.temp_prefered_lft=10800

永久配置在 /etc/sysctl.conf 中添加:

net.ipv6.conf.all.temp_prefered_lft = 10800

执行 sysctl -p 使配置生效。

三者关系

  • use_tempaddrtemp_valid_lfttemp_prefered_lft 生效的前提条件。只有当 use_tempaddr 设置为 1,即启用临时 IPv6 地址时,temp_valid_lfttemp_prefered_lft 才会起作用。
  • temp_prefered_lfttemp_valid_lft 共同管理临时地址的使用周期。temp_prefered_lft 规定了临时地址的首选使用时间,temp_valid_lft 规定了临时地址的整个有效时间。在 temp_prefered_lft 时间内,设备优先使用该临时地址;在 temp_prefered_lfttemp_valid_lft 之间的时间段,地址仍然有效但不再是首选;超过 temp_valid_lft 后,临时地址失效,设备会生成新的临时地址。










use_tempaddrtemp_valid_lfttemp_prefered_lft 是 Linux 系统中用于控制 IPv6 隐私扩展(Privacy Extensions)的参数。它们共同决定了设备是否使用临时地址以及这些地址的生命周期。

1. use_tempaddr

  • 定义:控制是否生成临时隐私地址。
  • 取值
    • 0:禁用隐私扩展,不使用临时地址。
    • 1:生成临时地址,但优先使用永久地址。
    • 2:生成临时地址并优先使用(增强隐私)。
  • 作用:通过启用隐私扩展,可以提高设备的隐私性,避免基于 MAC 地址的跟踪。

2. temp_valid_lft

  • 定义:设置临时地址的有效生命周期(秒)。
  • 默认值604800(7 天)。
  • 作用:临时地址在该时间段内有效,超过该时间后将被删除。
  • 影响:较短的生命周期可以提高隐私性,但可能导致连接中断。

3. temp_prefered_lft

  • 定义:设置临时地址的首选生命周期(秒)。
  • 默认值86400(1 天)。
  • 作用:在首选生命周期内,临时地址是首选的;超过该时间后,新连接将不再使用该地址,但地址仍然有效,直到 temp_valid_lft 到期。
  • 影响:较短的首选生命周期可以提高隐私性,但可能导致连接重新建立。

配置方法

         查看当前值

cat /proc/sys/net/ipv6/conf/ens33/use_tempaddr
cat /proc/sys/net/ipv6/conf/ens33/temp_valid_lft
cat /proc/sys/net/ipv6/conf/ens33/temp_prefered_lft

         修改值
通过直接写入值到文件:

# 启用隐私扩展并优先使用临时地址
echo 2 > /proc/sys/net/ipv6/conf/ens33/use_tempaddr

# 设置临时地址的有效生命周期为 14 天(1209600 秒)
echo 1209600 > /proc/sys/net/ipv6/conf/ens33/temp_valid_lft

# 设置临时地址的首选生命周期为 2 天(172800 秒)
echo 172800 > /proc/sys/net/ipv6/conf/ens33/temp_prefered_lft

         使用 sysctl 命令

# 查看当前值
sysctl net.ipv6.conf.ens33.use_tempaddr
sysctl net.ipv6.conf.ens33.temp_valid_lft
sysctl net.ipv6.conf.ens33.temp_prefered_lft

# 修改值
sysctl -w net.ipv6.conf.ens33.use_tempaddr=2
sysctl -w net.ipv6.conf.ens33.temp_valid_lft=1209600
sysctl -w net.ipv6.conf.ens33.temp_prefered_lft=172800

# 永久修改(编辑 /etc/sysctl.conf)
echo "net.ipv6.conf.ens33.use_tempaddr = 2" >> /etc/sysctl.conf
echo "net.ipv6.conf.ens33.temp_valid_lft = 1209600" >> /etc/sysctl.conf
echo "net.ipv6.conf.ens33.temp_prefered_lft = 172800" >> /etc/sysctl.conf
sysctl -p

注意事项

  • 优先级:接口特定设置的优先级最高,全局设置次之,默认设置优先级最低。
  • 隐私保护:启用隐私扩展可以提高设备的隐私性,但可能会导致某些网络服务出现问题,因为临时地址会定期变化。
  • 应用场景:在需要提高隐私保护的场景中,可以将 use_tempaddr 设置为 2,并根据需要调整 temp_valid_lfttemp_prefered_lft 的值。

通过合理配置这些参数,可以灵活控制设备是否使用临时 IPv6 地址,以满足不同的网络需求和隐私保护要求。










use_tempaddrtemp_valid_lfttemp_prefered_lft 是与 IPv6 网络配置相关的参数,具体含义如下:

use_tempaddr

  • 含义:控制是否使用临时地址。
  • 作用
    • 当该参数设置为 1 时,系统会为每个网络接口生成临时 IPv6 地址。
    • 当设置为 0 时,系统不会生成临时地址,只会使用永久地址。
  • 隐私保护
    • 启用临时地址可以有效保护用户的隐私和安全,避免将真实的 IPv6 地址暴露给外部网络。

temp_valid_lft

  • 含义:临时地址的有效生存时间(Time to Live)。
  • 作用
    • 该参数设置临时地址在网络接口上有效的总时间。
    • 时间到达后,临时地址将被自动删除,并可能生成新的临时地址。
  • 配置示例
    • 设置临时地址的有效生存时间为 1 小时:
      net.ipv6.conf.eth0.temp_valid_lft = 3600
      

temp_prefered_lft

  • 含义:临时地址的首选生存时间。
  • 作用
    • 该参数设置临时地址作为首选地址的有效时间。
    • 在首选生存时间内,临时地址将优先于永久地址使用。
    • 时间到达后,临时地址仍然有效,但不再作为首选地址,系统可能会切换回永久地址。
  • 配置示例
    • 设置临时地址的首选生存时间为 15 分钟:
      net.ipv6.conf.eth0.temp_prefered_lft = 900
      

配置方法

  • 编辑 /etc/sysctl.conf 文件,添加或修改相关参数:
    net.ipv6.conf.eth0.use_tempaddr = 2
    net.ipv6.conf.eth0.temp_valid_lft = 3600
    net.ipv6.conf.eth0.temp_prefered_lft = 900
    
  • 使配置生效:
    sudo sysctl -p
    










以下是关于 use_tempaddrtemp_valid_lfttemp_prefered_lft 的详细解释:


1. use_tempaddr(使用临时地址)

  • 作用:控制 IPv6 临时地址(Privacy Extensions)的生成策略,用于增强隐私保护(防止通过固定 IPv6 地址追踪设备)。
  • 取值
    • 0禁用临时地址,仅使用固定的 EUI-64 格式地址。
    • 1启用临时地址,但优先使用公有地址(固定地址)。
    • 2启用临时地址,并优先使用临时地址
  • 应用场景:在需要保护用户隐私的网络环境(如移动设备、公共 Wi-Fi)中,建议设置为 2
  • 配置文件
    通常在 Linux 系统的 /etc/sysctl.conf 或接口配置文件中设置,例如:
    net.ipv6.conf.eth0.use_tempaddr = 2
    

2. temp_valid_lft(临时地址有效生命周期)

  • 作用:定义临时 IPv6 地址的最大有效时间(单位:秒)。超过此时间后,地址完全失效。
  • 默认值:通常与路由公告(RA)中的 valid_lft 一致,默认约 7 天(604800 秒)。
  • 示例
    设置为 3 天有效:
    temp_valid_lft = 259200   秒 \text{temp\_valid\_lft} = 259200 \, \text{秒} temp_valid_lft=259200

3. temp_prefered_lft(临时地址首选生命周期)

  • 作用:定义临时 IPv6 地址的首选使用时间(单位:秒)。超过此时间后,地址仍有效但不再作为首选(优先使用新生成的临时地址)。
  • 默认值:通常与路由公告中的 preferred_lft 一致,默认约 1 天(86400 秒)。
  • 示例
    设置为 12 小时首选:
    temp_prefered_lft = 43200   秒 \text{temp\_prefered\_lft} = 43200 \, \text{秒} temp_prefered_lft=43200

参数关系与工作流程

  1. 生成临时地址:当 use_tempaddr=1/2 时,系统自动生成临时地址。
  2. 生命周期管理
    • temp_prefered_lft 时间内,临时地址为首选
    • 超过 temp_prefered_lft 但未超过 temp_valid_lft 时,地址降级为次要
    • 超过 temp_valid_lft 后,地址失效并删除。

配置示例(Linux 系统)

# 启用临时地址并优先使用
sysctl -w net.ipv6.conf.eth0.use_tempaddr=2

# 设置有效生命周期为 3 天,首选生命周期为 12 小时
sysctl -w net.ipv6.conf.eth0.temp_valid_lft=259200
sysctl -w net.ipv6.conf.eth0.temp_prefered_lft=43200

注意事项

  • 兼容性:需确保网络设备支持 IPv6 隐私扩展(现代操作系统默认支持)。
  • 动态调整:某些网络(如企业内网)可能通过路由公告(RA)动态覆盖这些设置。
  • 临时地址冲突:极少数情况下,临时地址可能重复,系统会自动检测并重新生成。

如有具体配置需求,可提供网络环境细节,进一步分析参数优化方案!










use_tempaddrtemp_valid_lfttemp_prefered_lft 的详解

这三个参数共同管理 Linux 系统中 IPv6 临时地址(Temporary Address) 的生成与生命周期,旨在增强网络隐私保护。以下是它们的核心功能、关系及配置策略:


         一、参数功能总览

参数功能默认值依赖关系
use_tempaddr控制是否生成临时 IPv6 地址,并决定其优先级。0(禁用)需接口启用 SLAAC(autoconf=1
temp_valid_lft定义临时地址的 总有效期(从生成到失效的时间)。604800 秒(7 天)use_tempaddr≥1 生效。
temp_prefered_lft定义临时地址的 优先使用期(在此期间地址为首选,之后生成新地址)。86400 秒(1 天)use_tempaddr≥1 生效。

         二、参数间关系与行为
               1. 生命周期流程
地址生成
use_tempaddr=12 时,系统基于 RA 中的前缀生成临时地址,接口标识符(后 64 位)通过 随机算法 生成(避免暴露 MAC 地址)。
优先使用期
temp_prefered_lft 时间内,该地址为 首选通信地址
示例:若 temp_prefered_lft=86400(1 天),则地址生成后 24 小时内优先使用。
总有效期
超过 temp_valid_lft 后,地址完全失效并从接口移除。
示例:若 temp_valid_lft=604800(7 天),则地址在生成 7 天后失效。

               2. 地址刷新机制
优先期结束前:系统生成新临时地址,旧地址进入 废弃状态(Deprecated),但仍可接收流量直至总有效期结束。
新地址优先级:新地址的优先使用期重新计算,旧地址逐渐被淘汰。


         三、配置场景与示例
               1. 增强隐私保护(移动设备/家用主机)

# 启用临时地址并优先使用(use_tempaddr=2)
sysctl -w net.ipv6.conf.eth0.use_tempaddr=2

# 缩短生命周期以频繁更换地址
sysctl -w net.ipv6.conf.eth0.temp_valid_lft=172800    # 总有效期 48 小时
sysctl -w net.ipv6.conf.eth0.temp_prefered_lft=43200  # 优先期 12 小时

效果:每 12 小时生成新地址,旧地址在 48 小时后失效,降低被长期追踪的风险。

               2. 服务器/网络设备(禁用临时地址)

# 禁用临时地址,使用稳定 SLAAC 地址
sysctl -w net.ipv6.conf.eth0.use_tempaddr=0

适用场景:需固定 IP 提供服务的 Web 服务器、数据库等,避免地址变更导致连接中断。

               3. 混合模式(临时地址与稳定地址共存)

# 启用临时地址但不优先使用(use_tempaddr=1)
sysctl -w net.ipv6.conf.eth0.use_tempaddr=1

# 延长生命周期以减少刷新频率
sysctl -w net.ipv6.conf.eth0.temp_valid_lft=2592000   # 总有效期 30 天
sysctl -w net.ipv6.conf.eth0.temp_prefered_lft=604800  # 优先期 7 天

效果:临时地址与稳定地址共存,适合需要兼顾隐私和稳定性的场景。


         四、验证与调试
               1. 查看临时地址状态

ip -6 addr show dev eth0 | grep "temporary"

输出示例:

inet6 2001:db8::1234:5678:90ab:cdef/64 scope global temporary dynamic

               2. 检查参数值

sysctl net.ipv6.conf.eth0.use_tempaddr \
       net.ipv6.conf.eth0.temp_valid_lft \
       net.ipv6.conf.eth0.temp_prefered_lft

               3. 强制刷新临时地址

# 清除所有临时地址(需重新生成)
ip -6 addr flush temporary dev eth0

         五、注意事项与常见问题
               1. 内核兼容性
旧内核限制
• 内核 ❤️.14 可能不支持 temp_prefered_lft,需升级或使用替代方案。
• 部分嵌入式系统(如 OpenWRT)需手动启用 IPv6 隐私扩展。

               2. 与 DHCPv6 的冲突
地址优先级:若同时使用 DHCPv6 和临时地址,DHCPv6 分配的地址可能优先于临时地址,需调整 DHCP 客户端配置。

               3. 防火墙与访问控制
动态地址挑战
临时地址频繁变更可能导致基于 IP 的防火墙规则失效,建议改用以下方案:
基于 IPv6 前缀的规则(如允许 2001:db8::/64)。
基于 DNS 或应用层认证(如 OAuth)。


         六、总结
use_tempaddr:总开关,决定是否生成临时地址及其优先级。
temp_valid_lft:控制地址的存活周期。
temp_prefered_lft:管理地址的活跃使用期。

推荐配置策略
隐私敏感场景use_tempaddr=2 + 短生命周期(如 temp_prefered_lft=1小时)。
服务稳定性优先use_tempaddr=0 或长生命周期(如 temp_valid_lft=30天)。
混合环境:差异化配置不同接口(如服务器接口禁用,用户接口启用)。

通过合理调节这些参数,可在隐私保护、网络稳定性与管理复杂度之间取得平衡。










use_tempaddrtemp_valid_lfttemp_prefered_lft 详解

这三个参数共同管理 Linux 系统中 IPv6 临时地址(Temporary Address) 的生成与生命周期,旨在增强网络隐私保护。以下是其核心功能、配置策略及典型应用场景:


         一、参数功能与关系

参数功能默认值依赖关系
use_tempaddr控制是否生成临时 IPv6 地址,并决定其优先级:
0:禁用
1:启用,但优先使用稳定地址
2:启用且优先使用临时地址
0(禁用)需接口启用 SLAAC(autoconf=1
temp_valid_lft定义临时地址的 总有效期(从生成到失效的时间)604800 秒(7 天)use_tempaddr≥1 生效
temp_prefered_lft定义临时地址的 优先使用期(在此期间地址为首选,之后生成新地址)86400 秒(1 天)use_tempaddr≥1 生效

参数间逻辑
地址生成:当 use_tempaddr=12 时,系统基于 RA 前缀生成随机化接口标识符的临时地址。
生命周期
优先期:在 temp_prefered_lft 时间内,地址优先用于通信。
总有效期:超过 temp_valid_lft 后,地址从接口移除。
刷新机制:优先期结束后生成新地址,旧地址进入废弃状态但仍可接收流量直至总有效期结束。


         二、配置方法
               1. 临时配置(立即生效)

# 启用临时地址并优先使用
sysctl -w net.ipv6.conf.eth0.use_tempaddr=2
# 调整生命周期参数
sysctl -w net.ipv6.conf.eth0.temp_valid_lft=172800    # 总有效期 48 小时
sysctl -w net.ipv6.conf.eth0.temp_prefered_lft=43200  # 优先期 12 小时

               2. 永久配置(重启生效)
编辑 /etc/sysctl.conf/etc/sysctl.d/ 下的文件:

net.ipv6.conf.eth0.use_tempaddr = 2
net.ipv6.conf.eth0.temp_valid_lft = 2592000   # 总有效期 30 天
net.ipv6.conf.eth0.temp_prefered_lft = 604800  # 优先期 7 天

加载配置:

sysctl -p

               3. 验证与调试

# 查看临时地址状态
ip -6 addr show dev eth0 | grep "temporary"
# 检查参数值
sysctl net.ipv6.conf.eth0.use_tempaddr temp_valid_lft temp_prefered_lft

         三、典型应用场景
               1. 隐私敏感场景(移动设备/家用主机)
配置

use_tempaddr=2 + 短生命周期(如 `temp_prefered_lft=1小时`

效果:频繁更换地址,降低被长期追踪的风险。

               2. 服务器/网络设备(禁用临时地址)
配置

use_tempaddr=0

原因:服务器需稳定 IP 对外服务,避免因地址变更导致连接中断。

               3. 混合模式(临时与稳定地址共存)
配置

use_tempaddr=1 + 长生命周期(如 `temp_valid_lft=30`

适用场景:兼顾隐私与稳定性(如开发测试环境)。


         四、注意事项

  1. 内核兼容性
    • 旧内核(❤️.14)可能不支持 temp_prefered_lft,需升级或调整方案。
  2. 防火墙与访问控制
    • 动态地址可能导致基于 IP 的规则失效,建议改用 前缀匹配域名白名单
  3. 与 DHCPv6 的冲突
    • 若同时使用 DHCPv6,需调整优先级或禁用临时地址。

         五、总结
use_tempaddr:总开关,决定地址生成策略。
temp_valid_lft:控制地址存活周期。
temp_prefered_lft:管理地址活跃期。

推荐策略
隐私优先use_tempaddr=2 + 短生命周期。
稳定性优先use_tempaddr=0 或长生命周期。
混合环境:差异化配置接口参数。

通过合理调节这些参数,可在隐私保护、网络稳定性与管理复杂度间取得平衡。











use_tempaddrtemp_valid_lfttemp_prefered_lft 参数详解


         1. 核心参数功能对比

参数作用路径
use_tempaddr控制是否自动生成和使用临时 IPv6 地址(增强隐私)。/proc/sys/net/ipv6/conf/<interface>/use_tempaddr
temp_valid_lft设置临时地址的总有效期(地址存在的总时间)。/proc/sys/net/ipv6/conf/<interface>/temp_valid_lft
temp_prefered_lft设置临时地址的首选有效期(地址被优先使用的期限)。/proc/sys/net/ipv6/conf/<interface>/temp_prefered_lft

         2. 参数详解


               (1) use_tempaddr

  • 功能
    决定是否启用 IPv6 隐私扩展(RFC 4941),自动生成临时地址以防止设备被长期跟踪。

  • 默认值

    • Linux2(较新内核,默认启用定期更换临时地址)。
  • 可选值

    行为
    0禁用临时地址,仅使用稳定地址(如基于 MAC 的 EUI-64 地址)。
    1启用临时地址,仅在网络前缀变化时重新生成。
    >1启用临时地址,并定期更换(值越大,更换周期越长)。
    • 更换周期公式周期 = 2^(n+3) * 600 秒(例如,n=2时,周期为 2^(2+3)*600 = 32*600 = 19200秒 ≈ 5.3小时)。

               (2) temp_valid_lft

  • 功能
    设置临时地址的总有效期,超过此时间后地址会被删除。
  • 默认值90 天(内核默认)。
  • 可选值
    • 单位为,范围通常为 0-4294967295
    • 若设为 0,地址立即失效;若设为 -1(或 infinite),地址永不过期(不推荐)。

               (3) temp_prefered_lft

  • 功能
    设置临时地址的首选有效期,在此期限内地址会被优先使用。
  • 默认值1 天(内核默认)。
  • 可选值
    • 单位为,范围通常为 0-4294967295
    • 若超过此期限,地址仍有效但会被标记为“非首选”,系统可能不再主动使用它。
    • 若设为 0,地址立即失效;若设为 -1(或 infinite),地址始终为首选。

         3. 参数协作关系

  • 临时地址生命周期
    1. 生成阶段:通过 use_tempaddr 启用后,系统生成临时地址。
    2. 首选阶段:在 temp_prefered_lft 时间内,地址被优先用于新连接。
    3. 非首选阶段:超过 temp_prefered_lft 后,地址仍存在但不再被优先使用。
    4. 失效阶段:超过 temp_valid_lft 后,地址被删除。

         4. 典型配置场景


               场景 1:增强隐私(普通用户)

# 启用临时地址并设置较短更换周期(如每周更换)
echo 2 > /proc/sys/net/ipv6/conf/all/use_tempaddr  # 默认值,周期约 28 天
echo 604800 > /proc/sys/net/ipv6/conf/all/temp_valid_lft  # 7天(604800秒)
echo 518400 > /proc/sys/net/ipv6/conf/all/temp_prefered_lft  # 6天(518400秒)

               场景 2:服务器场景(禁用临时地址)

# 禁用临时地址,确保地址稳定
echo 0 > /proc/sys/net/ipv6/conf/all/use_tempaddr

               场景 3:自定义有效期

# 设置临时地址有效期为 30 天,首选期为 7 天
echo 3 > /proc/sys/net/ipv6/conf/all/use_tempaddr  # 更换周期延长(2^(3+3)*600 ≈ 23天)
echo 2592000 > /proc/sys/net/ipv6/conf/all/temp_valid_lft  # 30天(2592000秒)
echo 604800 > /proc/sys/net/ipv6/conf/all/temp_prefered_lft  # 7天(604800秒)

         5. 验证配置

# 查看参数值
sysctl net.ipv6.conf.all.use_tempaddr
sysctl net.ipv6.conf.all.temp_valid_lft
sysctl net.ipv6.conf.all.temp_prefered_lft

# 查看接口的 IPv6 地址(临时地址标记为 `temporary`)
ip -6 addr show dev eth0
# 示例输出:
# inet6 2001:db8::1234/64 scope global dynamic mngtmpaddr  # 稳定地址
# inet6 2001:db8::5678/64 scope global dynamic temporary   # 临时地址

         6. 注意事项

  1. 隐私与稳定性权衡

    • 启用临时地址(use_tempaddr>0)会定期更换地址,但可能导致某些服务(如远程登录)中断。
    • 服务器建议禁用临时地址(use_tempaddr=0)以确保地址固定。
  2. 有效期设置逻辑

    • 必须满足 temp_prefered_lft < temp_valid_lft,否则系统可能忽略 temp_prefered_lft
  3. 动态与持久化配置

    • 动态修改需通过 sysctl 或直接写入 /proc
    • 持久化配置需添加到 /etc/sysctl.conf/etc/sysctl.d/ 下的配置文件。

         7. 持久化配置示例

# 编辑 /etc/sysctl.conf 或创建 /etc/sysctl.d/99-ipv6.conf:
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.all.temp_valid_lft = 2592000  # 30天
net.ipv6.conf.all.temp_prefered_lft = 604800  # 7天

# 应用配置
sysctl -p

总结

  • use_tempaddr:控制是否生成临时地址及更换频率。
  • temp_valid_lfttemp_prefered_lft:分别控制地址的总有效期和优先使用期限。
  • 三者协同工作,可在隐私保护与网络稳定性之间找到平衡。根据场景选择配置策略(如普通用户增强隐私,服务器禁用临时地址)。










use_tempaddrtemp_valid_lfttemp_prefered_lft 是与 Linux 系统中 IPv6 隐私扩展(Privacy Extensions)相关的内核参数,它们共同控制着临时地址的使用行为。以下是关于这三个参数的详细解释:

  1. use_tempaddr

    • 作用:决定是否使用临时地址(Temporary Address)。当设置为大于 0 的值时,启用隐私扩展功能,系统将生成并使用临时地址进行通信;当设置为 0 时,不使用临时地址,而是使用基于设备 MAC 地址的永久地址。
    • 取值含义
      • 0:禁用隐私扩展,不使用临时地址。
      • 1:生成隐私地址,但在可能的情况下更倾向于使用公开地址(基于 MAC 地址的永久地址)。
      • 2:强制使用隐私地址,即使有可用的公共地址也不使用。
    • 配置方法:可以通过编辑 /etc/sysctl.conf 文件或使用 sysctl 命令来设置该参数。例如,要将所有接口的 use_tempaddr 设置为 2,可以在 /etc/sysctl.conf 文件中添加 net.ipv6.conf.all.use_tempaddr = 2,然后运行 sysctl -p 使更改生效;或者直接使用 sysctl -w net.ipv6.conf.all.use_tempaddr=2 命令来临时设置。
  2. temp_valid_lft

    • 作用:定义临时地址的有效生命周期(Lifetime),即临时地址在多长时间内被认为是有效的。在这个时间段内,系统可以使用该临时地址进行通信。
    • 取值含义:以秒为单位指定有效时间。默认情况下,这个值可能是 604800 秒(7 天),但具体值可以根据系统的需求和安全策略进行调整。
    • 配置方法:同样可以通过编辑 /etc/sysctl.conf 文件或使用 sysctl 命令来设置。例如,要将所有接口的临时地址有效生命周期设置为 2 天(172800 秒),可以在 /etc/sysctl.conf 文件中添加 net.ipv6.conf.all.temp_valid_lft = 172800,然后运行 sysctl -p
  3. temp_prefered_lft

    • 作用:确定临时地址的首选生命周期(Preferred Lifetime),即在该时间段内,临时地址被认为是首选地址,并且更愿意被用于新的连接。超出这个时间段后,虽然临时地址仍然有效,但在选择地址时可能会考虑其他因素。
    • 取值含义:也是以秒为单位。默认值通常是 86400 秒(1 天),但可以根据需要进行调整。
    • 配置方法:与上述两个参数类似,可以通过编辑配置文件或使用 sysctl 命令来设置。例如,要将所有接口的临时地址首选生命周期设置为 12 小时(43200 秒),可以在 /etc/sysctl.conf 中添加 net.ipv6.conf.all.temp_prefered_lft = 43200,然后运行 sysctl -p

总之,合理配置这些参数能够有效提升 IPv6 网络环境下的隐私保护水平,用户可依据自身需求灵活调整,在隐私与连接稳定性之间找到平衡,确保网络通信既安全可靠又能满足不同业务场景的要求。










在DHCPv6协议中,use_tempaddrtemp_valid_lfttemp_prefered_lft 是控制临时地址分配与生命周期的关键参数,其作用及配置逻辑如下:


     一、参数定义与作用

参数名功能描述典型值范围配置层级
use_tempaddr控制是否启用临时地址分配功能
(启用后客户端将同时持有固定地址和临时地址)
true/false服务器全局配置
temp_valid_lft临时地址的总有效生命周期(从分配到失效的时间)
超过此时间后地址不可用
秒级(如86400地址池/客户端配置
temp_prefered_lft临时地址的首选生命周期
(在有效期内,前N秒为优选阶段,适合新连接)
秒级(如14400地址池/客户端配置

     二、交互逻辑与策略

  1. 地址分配流程

    • 当客户端请求IPv6地址时,若服务器配置了use_tempaddr=true,会同时分配固定地址(通过SLAAC或DHCPv6)和临时地址(通过DHCPv6的临时选项)。
    • 临时地址的temp_valid_lfttemp_prefered_lft由服务器下发至客户端(通过DHCPv6选项IA_TA)。
  2. 生命周期管理

    • 优选阶段0 < t ≤ temp_prefered_lft):
      临时地址可用于新连接建立,且不会被本地路由缓存淘汰。
    • 非优选阶段temp_prefered_lft < t ≤ temp_valid_lft):
      地址仍可用于现有连接,但不会被用于新连接(避免地址漂移影响业务连续性)。
    • 失效阶段t > temp_valid_lft):
      地址被标记为废弃,客户端需发起续租或重新获取新地址。
  3. 更新策略

    • 客户端在t = temp_prefered_lft/2时发起Renew请求尝试续租。
    • 若续租失败,则在t = temp_valid_lft/2时发起Rebind广播请求其他服务器响应。

     三、配置示例与场景
         1. 服务器端配置(ISC DHCP)

# 启用临时地址分配
option dhcp6.use-tempaddr true;

# 定义地址池及生命周期
subnet6 2001:db8::/64 {
  range6 2001:db8::1000 2001:db8::1fff;
  temp-valid-lifetime 86400;    # 24小时总有效期
  temp-preferred-lifetime 14400; # 6小时优选期
}

         2. 典型应用场景

  • 隐私敏感场景(如公共WiFi):
    缩短temp_prefered_lft至1小时,强制客户端频繁更换临时地址,降低追踪风险。
  • 企业网络管理
    延长temp_valid_lft至7天,减少地址变更频率,同时通过日志分析追踪设备行为。
  • 移动设备优化
    设置temp_prefered_lft=3600秒(1小时),平衡隐私保护与连接稳定性需求。

     四、兼容性与注意事项

  1. 客户端支持

    • 需客户端支持RFC 4941(临时地址生成)及RFC 6939(DUID-MAC绑定)。
    • Android系统默认禁用DHCPv6临时地址,需通过dhcp6.use_tempaddr=true强制开启。
  2. 安全风险

    • 过短的temp_prefered_lft可能导致频繁地址变更,影响QoS标记和会话保持。
    • 建议结合防火墙规则,对废弃地址进行快速回收(如dhcp6.temp-valid-lifetime=86400 + dhcp6.temp-preferred-lifetime=14400)。
  3. 日志溯源

    • 通过DUID+IAID标识客户端,结合DHCPv6租约日志实现地址-终端映射。

     五、扩展参考

  • RFC 4941:定义SLAAC隐私扩展的临时地址生成算法。
  • RFC 6939:通过DHCPv6传递客户端MAC地址,增强双栈环境下的设备关联管理。
  • RFC 8064:推荐使用稳定接口标识符生成算法,减少地址随机性带来的管理复杂性。



















Linux的: /proc/sys/net/ipv6/conf/ 笔记250404

Linux的: /proc/sys/net/ipv6/conf/ 笔记250405



















本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode详解之如何一步步优化到最佳解法:20. 有效的括号

LeetCode详解系列的总目录&#xff08;持续更新中&#xff09;&#xff1a; LeetCode详解之如何一步步优化到最佳解法&#xff1a;前100题目录&#xff08;更新中...&#xff09;-CSDN博客 LeetCode详解系列的上一题链接&#xff1a; LeetCode详解之如何一步步优化到最佳解法…

Mydumper备份数据库

介绍&#xff1a; MyDumper是一个MySQL逻辑备份工具。它有2个工具&#xff1a; mydumper负责导出 MySQL 数据库的一致备份myloader从 mydumper 读取备份&#xff0c;连接到目标数据库并导入备份。 这两个工具都使用多线程功能。 下载链接&#xff1a; https://github.com/m…

BN测试和训练时有什么不同, 在测试时怎么使用?

我们来彻底搞懂 Batch Normalization&#xff08;BN&#xff09; 在训练和测试阶段的区别&#xff0c;以及 测试时怎么用。 &#x1f9e0; 一句话总结&#xff1a; 训练时&#xff1a;使用 当前 mini-batch 的均值和方差 测试时&#xff1a;使用 整个训练集估计的“滑动平均均值…

JavaWeb 课堂笔记 —— 02 JavaScript

本系列为笔者学习JavaWeb的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程&#xff0c;实现javaweb企业开发全流程&#xff08;涵盖SpringMyBatisSpringMVCSpringBoot等&#xff09;》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习…

多GPU训练

写在前面 限于财力不足&#xff0c;本机上只有一个 GPU 可供使用&#xff0c;因此这部分的代码只能够稍作了解&#xff0c;能够使用的 GPU 也只有一个。 多 GPU 的数据并行&#xff1a;有几张卡&#xff0c;对一个小批量数据&#xff0c;有几张卡就分成几块&#xff0c;每个 …

如何在 Linux 上安装 Python

本指南介绍如何在Linux机器上安装 Python。Python 已成为开发人员、数据科学家和系统管理员必不可少的编程语言。它用于各种应用&#xff0c;包括 Web 开发、数据科学、自动化和机器学习。 本综合指南将引导您完成在 Linux 系统上安装Python的过程&#xff0c;涵盖从基本包管理…

系统与网络安全------Windows系统安全(6)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 共享文件夹 发布共享文件夹 Windows共享概述 微软公司推出的网络文件/打印机服务系统 可以将一台主机的资源发布给其他主机共有 共享访问的优点 方便、快捷相比光盘 U盘不易受文件大小限制 可以实现访问…

复古千禧Y2风格霓虹发光酸性镀铬金属短片音乐视频文字标题动画AE/PR模板

踏入时光机&#xff0c;重温 21 世纪初大胆、未来主义和超光彩的美学&#xff01;这是一个动态的 After Effects 模板&#xff0c;旨在重现千禧年的标志性视觉效果——铬反射、霓虹灯发光、闪亮的金属和流畅的动态图形。无论您是在制作时尚宣传片、怀旧音乐视频还是时尚的社交媒…

如何设计一个本地缓存

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 Java技术小馆官网https://www.yuque.com/jtostring 如何设计一个本地缓存 随着系统的复杂性和数据量的增加&#xff0c;如何快速响应用户请求、减…

SpringBoot洗衣店订单管理系统设计与实现

一个基于SpringBoot的洗衣店订单管理系统的设计与实现。 系统概述 支持管理员管理顾客与店家信息、店家管理店铺与洗衣信息&#xff0c;以及顾客预约、查看洗衣信息与交流等功能。 部分功能模块 1. 管理员模块 ​顾客信息管理 ​店家信息管理 2. 店家模块 ​店铺信息管 …

模版的特性及其编译分离

1.模版的分类 模版参数分为 类型形参 和 非类型形参 类型形参&#xff1a;出现在模版参数列表中&#xff0c;跟在class和typename之后的参数类型名称 非类型形参&#xff1a;就是用一个常量作为类&#xff08;函数&#xff09;模版的一个参数&#xff0c;在类&#xff08;函…

NO.66十六届蓝桥杯备战|基础算法-贪心-区间问题|凌乱的yyy|Rader Installation|Sunscreen|牛栏预定(C++)

区间问题是另⼀种⽐较经典的贪⼼问题。题⽬⾯对的对象是⼀个⼀个的区间&#xff0c;让我们在每个区间上做出取舍。 这种题⽬的解决⽅式⼀般就是按照区间的左端点或者是右端点排序&#xff0c;然后在排序之后的区间上&#xff0c;根据题⽬要求&#xff0c;制定出相应的贪⼼策略&…

搭建redis主从同步实现读写分离(原理剖析)

搭建redis主从同步实现读写分离(原理剖析) 文章目录 搭建redis主从同步实现读写分离(原理剖析)前言一、搭建主从同步二、同步原理 前言 为什么要学习redis主从同步&#xff0c;实现读写分析。因为单机的redis虽然是基于内存&#xff0c;单机并发已经能支撑很高。但是随着业务量…

Rust切片、结构体、枚举

文章目录 切片类型字符串切片其他结构的切片 结构体结构体实例元组结构体结构体所有权输出结构体结构体的方法结构体关联函数单元结构体 枚举match语法Option枚举类if let 语句 切片类型 切片&#xff08;Slice&#xff09;是对数据值的部分“引用” 我们可以从一个数据集合中…

【学习笔记】深度学习环境部署相关

文章目录 [AI硬件科普] 内存/显存带宽&#xff0c;从 NVIDIA 到苹果 M4[工具使用] tmux 会话管理及会话持久性[A100 02] GPU 服务器压力测试&#xff0c;gpu burn&#xff0c;cpu burn&#xff0c;cuda samples[A100 01] A100 服务器开箱&#xff0c;超微平台&#xff0c;gpu、…

股票日数据使用_未复权日数据生成前复权日周月季年数据

目录 前置&#xff1a; 准备 代码&#xff1a;数据库交互部分 代码&#xff1a;生成前复权 日、周、月、季、年数据 前置&#xff1a; 1 未复权日数据获取&#xff0c;请查看 https://blog.csdn.net/m0_37967652/article/details/146435589 数据库使用PostgreSQL。更新日…

【LeetCode Solutions】LeetCode 146 ~ 150 题解

CONTENTS LeetCode 146. LRU 缓存&#xff08;中等&#xff09;LeetCode 147. 对链表进行插入排序&#xff08;中等&#xff09;LeetCode 148. 排序链表&#xff08;中等&#xff09;LeetCode 149. 直线上最多的点数&#xff08;困难&#xff09;LeetCode 150. 逆波兰表达式求值…

《 如何更高效地学习》

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;个人谈心 &#x1f30d;文章目入 一、明确学习目标二、制定学习计划三、选择合适的学习方法&#xff08;一&#xff09;主动学习&#xff08;二&#xff09;分散学习&#xff08;三&#…

分布式数据一致性场景与方案处理分析|得物技术

一、引言 在经典的CAP理论中一致性是指分布式或多副本系统中数据在任一时刻均保持逻辑与物理状态的统一&#xff0c;这是确保业务逻辑正确性和系统可靠性的核心要素。在单体应用单一数据库中可以直接通过本地事务(ACID)保证数据的强一致性。 然而随着微服务架构的普及和业务场…

JAVA:使用 Curator 进行 ZooKeeper 操作的技术指南

1、简述 Apache Curator 是一个基于 ZooKeeper 的 Java 客户端库&#xff0c;它极大地简化了使用 ZooKeeper 的开发工作。Curator 提供了高层次的 API&#xff0c;封装了很多复杂的 ZooKeeper 操作&#xff0c;例如连接管理、分布式锁、Leader 选举等。 在分布式系统中&#…