防火墙IPSec (无固定IP地址---一对多)
目录
前言
一、场景:
二、实现
1.拓扑图
2.配置思路
①基础通信配置
②PPPoE配置
③总部的模版IPSec配置
④分部的IPSec配置
⑤NAT配置
3.具体配置
①基础配置
②详细配置和顺序
效果测试:
③PPPOE
①配置PPPoE
②策略放行
③IPSec与NAT的配置
④NAT配置
效果测试:
前言
IPSec VPN的概述与配置可查看这篇文章
【华为】IPSec VPN(动态)的原理与配置
(此篇文章的配置可配合链接中的配置对比理解)
一、场景:
以FW1所在的站点为总部,以FW2、FW3、FW4所在的站点为分部
目的:实现三个分部能够通过IPSec VPN访问总部(FW1),但三个分部之间无法通信
其中分部(FW4)所在的防火墙通过PPPoE获取IP地址,实现分部为无固定IP地址与总部固定IP地址通信
分部(FW2、FW3)假设为无固定地址去与总部固定IP地址通信
二、实现
1.拓扑图

2.配置思路
(详细的配置和顺序等都在具体配置体现出来了)
①基础通信配置
(此基础配置部分可看文章开头的链接)
②PPPoE配置
(此配置本文章先是将其他分部的IPSec配置结束之后才进行此分部的PPPoE与IPSec VPN配置)
③总部的模版IPSec配置
因为分部的设备都是无固定IP地址,所以总部无法得知分部具体的公网IP地址所以在配置里不能体现
④分部的IPSec配置
因为分部的设备都是无固定IP地址,所以分部的配置中不能体现本端公网的IP地址,但总部的IP地址需要体现
⑤NAT配置
3.具体配置
①基础配置
测试通信

②详细配置和顺序
FW1总部:
[FW1]acl number 3002
[FW1-acl-adv-3002]rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
[FW1-acl-adv-3002]rule 20 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255
[FW1-acl-adv-3002]rule 20 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.4.0 0.0.0.255
#创建IKE安全提议
[FW1-acl-adv-3002]ike proposal 5
[FW1-ike-proposal-5]encryption-algorithm aes-256
[FW1-ike-proposal-5]dh group14
[FW1-ike-proposal-5]authentication-algorithm sha2-512
[FW1-ike-proposal-5]authentication-method pre-share
[FW1-ike-proposal-5]integrity-algorithm hmac-sha2-256
[FW1-ike-proposal-5]prf hmac-sha2-256
#创建IKE邻居分支
[FW1]ike peer branch
[FW1-ike-peer-branch]undo version 2
[FW1-ike-peer-branch]pre-shared-key Huawei@123
[FW1-ike-peer-branch]ike-proposal 5
[FW1-ike-peer-branch]exchange-mode main
#创建IPSec 安全提议
[FW1]ipsec proposal p
[FW1-ipsec-proposal-p]transform ah-esp
[FW1-ipsec-proposal-p]ah authentication-algorithm sha2-256
[FW1-ipsec-proposal-p]esp authentication-algorithm sha2-512
[FW1-ipsec-proposal-p]esp encryption-algorithm aes-256
配置IPSec模版
[FW1]ipsec policy-template branch_tem 10
[FW1-ipsec-policy-templet-branch_tem-10]security acl 3002
[FW1-ipsec-policy-templet-branch_tem-10]ike-peer branch
[FW1-ipsec-policy-templet-branch_tem-10]proposal p
绑定
[FW1]ipsec policy po 5 isakmp template branch_tem
[FW1]interface GigabitEthernet1/0/0
[FW1-GigabitEthernet1/0/0] ipsec policy po
nat策略配置
[FW1]nat-policy
[FW1-policy-nat]rule name ipsec_onat
[FW1-policy-nat-rule-ipsec_onat] source-zone trust
[FW1-policy-nat-rule-ipsec_onat] destination-zone untrust
[FW1-policy-nat-rule-ipsec_onat] source-address 192.168.1.0 mask 255.255.255.0
[FW1-policy-nat-rule-ipsec_onat] destination-address 192.168.2.0 mask 255.255.255.0
[FW1-policy-nat-rule-ipsec_onat] destination-address 192.168.3.0 mask 255.255.255.0
[FW1-policy-nat-rule-ipsec_onat] destination-address 192.168.4.0 mask 255.255.255.0
[FW1-policy-nat-rule-ipsec_onat] action no-natFW2:分部
#匹配感兴趣流量
[FW2]acl number 3001
[FW2-acl-adv-3001]rule 10 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
#创建安全IKE提议
[FW2-acl-adv-3001]ike proposal 5
[FW2-ike-proposal-5]encryption-algorithm aes-256
[FW2-ike-proposal-5]dh group14
[FW2-ike-proposal-5]authentication-algorithm sha2-512
[FW2-ike-proposal-5]authentication-method pre-share
[FW2-ike-proposal-5]integrity-algorithm hmac-sha2-256
[FW2-ike-proposal-5]prf hmac-sha2-256
#创建IKE
[FW2]ike peer B
[FW2-ike-peer-B]undo version 2
[FW2-ike-peer-B]pre-shared-key Huawei@123
[FW2-ike-peer-B]ike-proposal 5
[FW2-ike-peer-B]remote-address 15.15.15.15
#总部固定 IP 地址
[FW2]exchange-mode main
[FW2-ike-peer-B]ipsec proposal p
[FW2-ipsec-proposal-p]transform ah-esp
[FW2-ipsec-proposal-p]ah authentication-algorithm sha2-256
[FW2-ipsec-proposal-p]esp authentication-algorithm sha2-512
[FW2-ipsec-proposal-p]esp encryption-algorithm aes-256
创建IPSec安全策略
[FW2]ipsec policy po 10 isakmp
[FW2-ipsec-policy-isakmp-po-10]security acl 3001
[FW2-ipsec-policy-isakmp-po-10]ike-peer B
[FW2-ipsec-policy-isakmp-po-10]proposal p
[FW2-ipsec-policy-isakmp-po-10]interface GigabitEthernet1/0/0
[FW2-GigabitEthernet1/0/0] ipsec policy poFW3:分部
[FW3]#匹配感兴趣流量
[FW3]acl number 3001
[FW3-acl-adv-3001]rule 10 permit ip source 192.168.3.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
#创建安全IKE提议
[FW3]ike proposal 5
[FW3-ike-proposal-5]encryption-algorithm aes-256
[FW3-ike-proposal-5]dh group14
[FW3-ike-proposal-5]authentication-algorithm sha2-512
[FW3-ike-proposal-5]authentication-method pre-share
[FW3-ike-proposal-5]integrity-algorithm hmac-sha2-256
[FW3-ike-proposal-5]prf hmac-sha2-256
#创建IKE
[FW3]ike peer C
[FW3-ike-peer-C]undo version 2
[FW3-ike-peer-C]pre-shared-key Huawei@123
[FW3-ike-peer-C]ike-proposal 5
[FW3-ike-peer-C]remote-address 15.15.15.15
#总部固定 IP 地址
[FW3]exchange-mode main
[FW3-ike-peer-C]ipsec proposal p
[FW3-ipsec-proposal-p]transform ah-esp
[FW3-ipsec-proposal-p]ah authentication-algorithm sha2-256
[FW3-ipsec-proposal-p]esp authentication-algorithm sha2-512
[FW3-ipsec-proposal-p]esp encryption-algorithm aes-256
#创建IPSec安全策略
[FW3]ipsec policy po 10 isakmp
[FW3-ipsec-policy-isakmp-po-10]security acl 3001
[FW3-ipsec-policy-isakmp-po-10]ike-peer C
[FW3-ipsec-policy-isakmp-po-10]proposal p
接口调用策略
[FW3]interface GigabitEthernet1/0/0
[FW3-GigabitEthernet1/0/0] ipsec policy po
效果测试:




但总部无法主动访问分部,只有当分部访问之后总部才能被动的访问分布


③PPPOE
配置
①配置PPPoE
R5:ISP
[R5]ip pool D
[R5-ip-pool-D]network 45.45.45.0 mask 255.255.255.0[R5]aaa
[R5-aaa]local-user huawei password cipher Huawei@123
[R5-aaa]local-user huawei service-type ppp[R5]int Virtual-Template 1
[R5-Virtual-Template1]ppp authentication-mode chap
[R5-Virtual-Template1]remote address pool D
[R5-Virtual-Template1]ip add 45.45.45.5 24
[R5]int g1/0/0
[R5-GigabitEthernet1/0/0]pppoe-server bind virtual-template 1FW4 出口防火墙
[FW4]int Dialer 1
[FW4-Dialer1]link-protocol ppp
[FW4-Dialer1]ppp chap user huawei
[FW4-Dialer1]ppp chap password cipher Huawei@123
[FW4-Dialer1]ip address ppp-negotiate
[FW4-Dialer1]dialer user huawei
[FW4-Dialer1]dialer bundle 1
[FW4-Dialer1]dialer-group 1[FW4]dialer-rule 1 ip permit [FW4]int g1/0/0
[FW4-GigabitEthernet1/0/0]pppoe-client dial-bundle-number 1
[FW4-GigabitEthernet1/0/0]undo shutdown
[FW4]ip route-static 0.0.0.0 0.0.0.0 Dialer 1[FW4]firewall zone untrust
[FW4-zone-untrust]add interface Dialer 1

②策略放行
FW4
同时也记得在总部放行此分部的策略
[FW4]security-policy
[FW4-policy-security] rule name ike_l2u
[FW4-policy-security-rule-ike_l2u] source-zone local
[FW4-policy-security-rule-ike_l2u] destination-zone untrust
[FW4-policy-security-rule-ike_l2u] destination-address 15.15.15.0 mask 255.255.255.0
[FW4-policy-security-rule-ike_l2u] action permit
[FW4-policy-security] rule name ike_u2l
[FW4-policy-security-rule-ike_u2l] source-zone untrust
[FW4-policy-security-rule-ike_u2l] destination-zone local
[FW4-policy-security-rule-ike_u2l] source-address 15.15.15.0 mask 255.255.255.0
[FW4-policy-security-rule-ike_u2l] action permit
[FW4-policy-security] rule name t2u
[FW4-policy-security-rule-t2u] source-zone trust
[FW4-policy-security-rule-t2u] destination-zone untrust
[FW4-policy-security-rule-t2u] source-address 192.168.4.0 mask 255.255.255.0
[FW4-policy-security-rule-t2u] destination-address 192.168.1.0 mask 255.255.255.0
[FW4-policy-security-rule-t2u] action permit
[FW4-policy-security] rule name u2t
[FW4-policy-security-rule-u2t] source-zone untrust
[FW4-policy-security-rule-u2t] destination-zone trust
[FW4-policy-security-rule-u2t] source-address 192.168.1.0 mask 255.255.255.0
[FW4-policy-security-rule-u2t] destination-address 192.168.4.0 mask 255.255.255.0
[FW4-policy-security-rule-u2t] action permit
③IPSec与NAT的配置
FW4
[FW4]acl 3001
[FW4-acl-adv-3001] rule 15 permit ip source 192.168.4.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
IKE安全提议
[FW4]ike proposal 5
[FW4-ike-proposal-5]encryption-algorithm aes-256
[FW4-ike-proposal-5]dh group14
[FW4-ike-proposal-5]authentication-algorithm sha2-512
[FW4-ike-proposal-5]authentication-method pre-share
[FW4-ike-proposal-5]integrity-algorithm hmac-sha2-256
[FW4-ike-proposal-5]prf hmac-sha2-256[FW4]ike peer D
[FW4-ike-peer-D]undo version 2
[FW4-ike-peer-D]pre-shared-key Huawei@123
[FW4-ike-peer-D]ike-proposal 5
[FW4-ike-peer-D]remote-address 15.15.15.15
[FW4-ike-peer-D]exchange-mode main [FW4]ipsec proposal p
[FW4-ipsec-proposal-p]transform ah-esp
[FW4-ipsec-proposal-p]ah authentication-algorithm sha2-256
[FW4-ipsec-proposal-p]esp authentication-algorithm sha2-512
[FW4-ipsec-proposal-p]esp encryption-algorithm aes-256[FW4]ipsec policy po 100 isakmp
[FW4-ipsec-policy-isakmp-po-100]security acl 3001
[FW4-ipsec-policy-isakmp-po-100]ike-peer D
[FW4-ipsec-policy-isakmp-po-100]proposal p[FW4]int Dialer 1
[FW4-Dialer1] ipsec policy po[FW1-acl-adv-3002]rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.4.0 0.0.0.255
④NAT配置
安全策略放行
[FW4-policy-security-rule-nat] rule name nat
[FW4-policy-security-rule-nat] source-zone trust
[FW4-policy-security-rule-nat] destination-zone untrust
[FW4-policy-security-rule-nat] source-address 192.168.4.0 mask 255.255.255.0
[FW4-policy-security-rule-nat] action permit
NAT策略
[FW4-policy-nat]nat-policy
[FW4-policy-nat] rule name nat
[FW4-policy-nat-rule-nat] source-zone trust
[FW4-policy-nat-rule-nat] destination-zone untrust
[FW4-policy-nat-rule-nat] source-address 192.168.4.0 mask 255.255.255.0
[FW4-policy-nat-rule-nat] action source-nat easy-ip
[FW4-policy-nat-rule-nat] rule name ipsec_nonat
[FW4-policy-nat-rule-ipsec_nonat] source-zone trust
[FW4-policy-nat-rule-ipsec_nonat] destination-zone untrust
[FW4-policy-nat-rule-ipsec_nonat] source-address 192.168.4.0 mask 255.255.255.0
[FW4-policy-nat-rule-ipsec_nonat] destination-address 192.168.1.0 mask 255.255.255.0
[FW4-policy-nat-rule-ipsec_nonat] action no-nat[FW4-policy-nat]rule move ipsec_nonat before nat
效果测试:



相关文章:
防火墙IPSec (无固定IP地址---一对多)
目录 前言 一、场景: 二、实现 1.拓扑图 2.配置思路 ①基础通信配置 ②PPPoE配置 ③总部的模版IPSec配置 ④分部的IPSec配置 ⑤NAT配置 3.具体配置 ①基础配置 ②详细配置和顺序 效果测试: ③PPPOE ①配置PPPoE ②策略放行 ③IPSec与NA…...
基于SpringBoot的智能问诊系统设计与隐私保护策略
通过SpringBoot框架,我们可以快速搭建一个智能问诊系统,为用户提供便捷的线上医疗服务。然而,在系统设计和实现过程中,如何保障用户的隐私和数据安全,始终是一个亟需关注的问题。本文将探讨基于SpringBoot的智能问诊系…...
DeepSeek进阶应用(一):结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)
🌟前言: 在软件开发、项目管理和系统设计等领域,图表是表达复杂信息的有效工具。随着AI助手如DeepSeek的普及,我们现在可以更轻松地创建各种专业图表。 名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者&…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数
nei声明在 src/core/ngx_cycle.h ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);实现在 src/core/ngx_cycle.c ngx_cycle_t * ngx_init_cycle(ngx_cycle_t *old_cycle) {void *rv;char **senv;ngx_uint_t i, n;ngx_log_t …...
【redis】数据类型之geo
Redis的GEO数据类型用于存储地理位置信息(如经纬度),并提供高效的地理位置查询功能(如计算两地距离、搜索附近地点等)。其底层基于Sorted Set(有序集合)实现,通过Geohash编码将经纬度…...
vue3 vite或者vue2 百度地图(卫星图)离线使用详细讲解
1、在Windows上下载瓦片,使用的工具为: 全能电子地图下载器3.0最新版(推荐) 下载后解压,然后进入目录"全能电子地图下载器3.0最新版(推荐)\全能电子地图下载器3.0\MapTileDownloader" 在这个目录…...
《Python实战进阶》No17: 数据库连接与 ORM(SQLAlchemy 实战)
No17: 数据库连接与 ORM(SQLAlchemy 实战) 摘要 本文深入探讨SQLAlchemy在复杂场景下的高级应用,涵盖四大核心主题: 会话生命周期管理:通过事件钩子实现事务监控与审计追踪混合继承映射:结合单表/连接表继…...
工程化与框架系列(27)--前端音视频处理
前端音视频处理 🎥 引言 前端音视频处理是现代Web应用中的重要组成部分,涉及音频播放、视频处理、流媒体传输等多个方面。本文将深入探讨前端音视频处理的关键技术和最佳实践,帮助开发者构建高质量的多媒体应用。 音视频技术概述 前端音视…...
芋道打包时报错:缺失@unocss插件
在遇到打包时,报这个错误,提示构建失败是因为 ESLint 在加载 unocss 插件时,找不到 unocss/eslint-plugin 模块 解决办法:安装缺失的依赖:保证unocss/eslint-plugin已经被正确安装, 使用以下命令安装&…...
PY32MD320单片机 QFN32封装,内置多功能三相 NN 型预驱。
PY32MD320单片机是普冉半导体的一款电机专用MCU,芯片采用了高性能的 32 位 ARM Cortex-M0 内核,主要用于电机控制。PY32MD320嵌入高达 64 KB Flash 和 8 KB SRAM 存储器,最高工作频率 48 MHz。PY32MD320单片机的工作温度范围为 -40 ~ 105 ℃&…...
深入解析 configService.addListener 使用中的注意事项
在使用 Nacos 的 configService.addListener 方法进行配置监听时,为了确保程序的稳定性、可靠性以及高效性,有诸多注意事项需要我们关注。下面将对这些关键要点进行详细阐述。 一、连接稳定性 1.1 网络连接问题 Nacos 客户端与服务端通过网络进行通信&…...
Windows控制台函数:控制台读取输入函数ReadConsoleA()
目录 什么是 ReadConsoleA? 它长什么样? 怎么用它? 它跟 std::cin 有什么不一样? 注意事项 什么是 ReadConsoleA? ReadConsoleA 是一个 Windows API 函数,用来从控制台读取用户输入。想象一下&#…...
奇安信 2025 年护网蓝队初选笔试题(附答案解析)
🔥 爆款 CSDN 题库 | 超全护网蓝队笔试真题 | 含详细答案解析 🔥 熬夜为大家整理了 奇安信 2025 年护网蓝队初选笔试题,(关注我我会持续更新)涵盖 SQL 注入、Web 安全、渗透测试、二进制安全 等核心知识点,…...
国产编辑器EverEdit - Web预览设置
1 设置-高级-Web预览 1.1 设置说明 选择主菜单工具 -> 设置 -> 常规,在弹出的选项窗口中选择Web预览分类,如下图所示: 1.1.1 本地浏览HTML文件 如果用户只是在本地浏览HTML文件,即直接用浏览器打开HTML文件,确…...
P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 or Set--lower_bound()的解法!!!
P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 题目 并查集解析代码【并查集解】 Set 解法解析lower_bound代码 题目 并查集解析 首先先让所有的f(i)i,即每个人最开始的祖先都是自己,然后就每一次都让轮到那个数的父亲1(…...
HTML 编辑器推荐与 VS Code 使用教程
在进行 HTML 编程时,选择一款合适的 HTML 编辑器能极大地提高开发效率。以下为大家推荐几款常用且功能强大的 HTML 编辑器,同时详细介绍如何使用 VS Code 创建和预览 HTML 文件。 一、HTML 编辑器推荐 VS Code:由微软开发,是一款…...
MyBatis增删改查:静态与动态SQL语句拼接及SQL注入问题解析
MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。本文将深入探讨 MyBatis 中的增删改查操作,重点讲解静态与动态 SQL 语句的拼接,并分析 S…...
在运维工作中,Lvs、nginx、haproxy工作原理分别是什么?
在运维工作中,LVS、NGINX和HAProxy都是常用的负载均衡和反向代理工具,它们在高可用性和负载均衡场景中发挥重要作用。以下是其原理和应用场景详解: LVS(Linux Virtual Server) 工作原理 LVS是基于Linux内核的负载均…...
linux学习(五)(服务器审查,正常运行时间负载,身份验证日志,正在运行的服务,评估可用内存)
服务器审查 在 Linux 中审查服务器的过程包括评估服务器的性能、安全性和配置,以确定需要改进的领域或任何潜在问题。审查的范围可以包括检查安全增强功能、检查日志文件、审查用户帐户、分析服务器的网络配置以及检查其软件版本。 Linux 以其稳定性和安全性而闻名…...
Java在小米SU7 Ultra汽车中的技术赋能
目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
