Centos7中利用docker搭建openwrt旁路由

https://blog.csdn.net/ndd1996/article/details/109185747

1.查询当前网卡名称(以下均以网卡名eth0为例,请注意替换)

2.打开网卡混杂模式

3.创建虚拟网络

4.拉取openwrt镜像(以lean大神的openwrt为例)

拉取完毕之后查看一下拉取结果

5.创建并运行openwrt容器

6.查看openwrt容器运行状态,如果STATUS是UP则说明运行成功

7.进入openwrt容器

8.编辑配置文件

修改lan口内容

9.重启网络

docker中搭建openwrt到此结束,具体openwrt旁路由配置请参照百度或者google

CentOS7系统配置firewalld使用NAT方法将网络共享给内部局域网机器

1,用 Linux 打造路由器 zebra,

2,Linux系统下安装Vmware

3,linux+openwrt

4,firewalld+nat

5,iptables

自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源。
而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个公网 IP 使用,所以更加坚定了让负载均衡后端服务器释放公网 IP 的想法。
可是,后端服务器也不是简单释放公网 IP 就能正常工作的,正在运行的系统很多模块依然需要具有连接外网获取数据的能力。

所以就想到了用 CentOS 做一个软路由(内网 NAT 转发),如果能实现的话,就满足了我的需求。
搜索并试验了一番,目前发现用 iptables 是可行的,而且已经被我验证有效的方案。

由于用到了 iptables,需要停止并禁用内置的 firewalld 防火墙服务。

☼ 停止内置的 firewalld

systemctl stop firewalld
systemctl disable firewalld

☼ 打开系统的 IP 转发功能

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

☼ 安装 iptables 服务

yum -y install iptables-services
# 移除 iptables 服务
#yum -y remove iptables-services

☼ 查看 iptables 规则

iptables -L

☼ 清空默认的 filter 表

iptables -F

☼ 清空默认的 nat 表

iptables -t nat -F

☼ 默认规则,禁止所有入站,允许所有出站

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

☼ 默认规则,允许所有本地环回通信,出入站

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

☼ 重点,开启 NAT 功能

iptables -t nat -A POSTROUTING -j MASQUERADE

☼ 完整的命令

可以在命令行下粘贴批量执行

systemctl stop firewalld
systemctl disable firewalld


yum -y install iptables-services


iptables -F
iptables -t nat -F
iptables -P INPUT  DROP
iptables -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.66.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 你的可信任远程管理IP -j ACCEPT


iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

iptables-save > /etc/sysconfig/iptables
systemctl restart iptables



☼ 其他

# 允许已建立的传入连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许DHCP传入连接
iptables -A INPUT -i eth1 -p udp --dport 67:68 -j ACCEPT

# 默认禁止路由转发
iptables -P FORWARD DROP

# 允许内网路由转发
iptables -A FORWARD -s 192.168.66.0/24 -j ACCEPT

☼ 后记,补充 2017-12-13 20:28

捣鼓了一下午,NAT 转发当路由器供内网服务器上网终于搞定了,结果CentOS重启后,发现 iptables 的配置丢失,竟然没有永久保存?
太扯淡!

网上说这个问题的还很多,有人说可以制作自启动脚本,在启动时自动将 iptables 的规则重新注册一次,
也算是一个解决办法。

不过,思来想起,既然 CentOS 已经抛弃了 iptables ,那肯定是有一定道理的,firewalld 一定也有办法实现同样的功能吧!


firewall-cmd --permanent --zone=public --add-masquerade

# 调整防火墙策略,开放 vrrp 协议,给 Keepalived 使用
# 否则可能导致【脑裂】问题,争抢VIP,或者master挂掉之后backup无法正常工作
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens33 --protocol vrrp -j ACCEPT
firewall-cmd --reload
#

搞定了。

当然其他功能端口的开放,这里就不啰嗦了 (0^0)。

other page1

环境介绍:

一台CentOS6 主机,双网卡,两网段

网口设定如下:

[root@CentOS ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
[root@CentOS ~]# 

[root@CentOS ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static

IPADDR=192.168.66.1
NETMASK=255.255.255.0

[root@CentOS ~]# service network restart


[root@CentOS ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:37:00:93  
          inet addr:172.16.20.183  Bcast:172.16.255.255  Mask:255.255.0.0

		  
eth1      Link encap:Ethernet  HWaddr 00:0C:29:37:00:9D  
          inet addr:192.168.66.1  Bcast:192.168.66.255  Mask:255.255.255.0		

打开网卡转发

[root@CentOS ~]# vim /etc/sysctl.conf  
net.ipv4.ip_forward = 1

立即生效

[root@CentOS ~]# sysctl -p

转发规则:

[root@CentOS ~]# iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -j SNAT --to 172.16.20.183 #出口为静态IP选这个
[root@CentOS ~]# iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -o eth0 -j MASQUERADE #出口为动态IP选这个

查看/保存转发规则

[root@CentOS ~]# iptables -t nat -nL
[root@CentOS ~]# service iptables save

other page2

学校实验室有台服务器申请了固定的公网IP,能连接外部网络,同时该机器和其它几台内部服务器连接在一个路由器上。需要将该服务器的网络共享给其它内网服务器。进行如下设置即可。

首先,外网服务器有两根网线连接,一根和外网相连,一根和内网路由器相连。在外网服务器进行NAT转发设置:

第一种方法:
开启NAT转发
# firewall-cmd --permanent --zone=public --add-masquerade
开放DNS使用的53端口,否则可能导致内网服务器虽然设置正确的DNS,但是依然无法进行域名解析。
# firewall-cmd --zone=public --add-port=53/tcp --permanent
重启防火墙
# systemctl restart firewalld.service
# 检查是否允许NAT转发
firewall-cmd --query-masquerade
# 关闭NAT转发
firewall-cmd --remove-masquerade

第二种方法:
开启ip_forward转发
在/etc/sysctl.conf配置文件尾部添加
net.ipv4.ip_forward=1
然后让其生效
# sysctl -p
执行firewalld命令进行转发:
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o enoxxxxxx -j MASQUERADE -s 192.168.1.0/24
注意enoxxxxxx对应外网网口名称。
重启防火墙
# systemctl restart firewalld.service

设置外网服务器的IP地址为192.168.1.1,然后,在内网服务器中对配置文件/etc/sysconfig/network-scripts/ifcfg-enxxxxxx进行修改,设置网卡的网关为外网服务器的IP地址:

ONBOOT=yes
IPADDR=192.168.1.2
PREFIX=24
GATEWAY=192.168.1.1
DNS1=119.29.29.29

重启内网服务器的网络服务,即可访问外网了。

# systemctl restart network.service

M.2固态硬盘

M.2是固态硬盘的接口类型,PCI-e是通道类别,两者概念不同。
目前市面上的SSD主要分为三种规格(ngff接口就是M.2接口):
① 2.5英寸SATA接口SSD;
② M.2接口SSD(走SATA通道);
③ M.2接口SSD(走PCI-E通道且支持NVMe协议)
第一种2.5英寸SATA接口的SSD只要是主板上有SATA接口的都可以使用,优点就是兼容性较强,而且普遍比NVME SSD便宜些,缺点就是速度相对较慢(但比机械快很多),最快连续读写一般也无法超过550MB/s。
第二种M.2接口SSD(走SATA通道)是最具迷惑性的,很多人误以为M.2接口的SSD就是走PCI-E通道,性能很强,但事实上绝大部分M.2接口的SSD除非标注PCI-E通道(或者NVMe标志),否则肯定是SATA通道产品,本质性能上和第一种完全一致,很多奸商(尤其是整机)很喜欢用这种SSD来迷惑消费者。最具代表性的产品就是三星CM871/PM871之类的产品,还有浦科特M7VG(人傻钱多浦科特)等,非常不建议购买这一类!
第三种M.2接口SSD(走PCI-E通道且支持NVMe协议)是高性能的代表,也是未来的主流,因为现在主板上的M.2接口一般都可以支持NVMe协议,所以想买M.2接口SSD的用户务必购买这一类,这一类产品读写速度很容易达到1000MB/s甚至3000MB/s以上,比如三星PM961/SM961等,价格也不贵。购买的SSD只要有NVMe标志,就说明一定是PCI-E通道的,但是走PCI-E通道的产品未必支持NVMe协议(早期的M.2 PCI-E SSD一般都不支持)。

都是走pcie通道,支持nvme协议,只有接口不一样。

pcie的ssd拆开之后里面就是一张m.2的ssd,只不过是用了转接卡而已,贵出的价钱就是转接卡了,除了带灯,就没什么优点了。

就是改善一下适配而已,一个专门给台式机用,一个笔记本台式机都可以用,速度差不多。PCIE的是给无M2接口的老机子上的主板用的,通常是用在服务器上。

写入性能和读取性能:两个接口,分一二代,以前的m2走的是sata3标准路线,理论峰值6g 速度为六七百兆,最新的的m2走的是pcle3.0×4路线峰值是老款的五倍,旧款的pcle走的是2.0路线比老款的m2快,反正两个接口最新款的都是一条路线,pcle的理论上散热好些

M2好像除了是新东西外,实际使用好像没见得比PCIE快了什么。而M2有很多麻烦,首先装系统,我必须要把U盘弄成光驱,然后把ISO写入假光驱,然后安装系统,然后我发现居然还装不了,后来才发现我不能事先分区,而是必须在ISO的镜像引导里分区才可以装系统。
以前那种GHOST装系统的基本装不了,因为没有M2驱动,而有M2驱动的特制系统盘我网上找来找去都没有找到真的。pcie固态反而没这问题。
另外一个问题就是只能用WIN10或者WIN8.1。用WIN7会读不到系统,PCIE也没这问题。
所以M2如果你会装系统而且习惯用WIN10,那就用也无所谓,对于小白可能PCIE方便些。

详细介绍

PCI-E

如果说sata固态硬盘是固态硬盘中的老大哥,PCI-E接口就是固态硬盘接口中的贵族。

而PCI Express的接口根据总线位宽不同,还可分为X1、X4、X8和X16。目前使用较多的是PCIe X4,市面上流通较多的是PCI-E 2.0版本和3.0版本,对应的X4带宽为16Gbps/32Gbps,折算成传输速率约为2GB/s和3.93GB/s,相比SATA接口,这已经是非常恐怖的速率了。

M.2

M.2原名为NGFF接口,标准名称为PCI Express M.2 Specification。它是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来基于mini PCIe改良而来的msata固态硬盘。无论是更小巧的规格尺寸还是更高的传输性能M.2都远胜于mSATA。随着SATA接口瓶颈不断凸显,越来越多的主板厂商也开始在自家产品线上预留M.2接口,主流的M.2接口有三种尺寸,分别是M.2 2242、2260、2280。

另外通常我们把支持NVMe协议的高性能SSD叫做NVMe M.2 SSD。NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),,是一个逻辑设备接口规范,通常是指使用PCI-E通道的SSD的一种协议规范,此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时。

Centos开ssh

在虚拟机(Vmware Workstation)下,安装了CentOS7,现在想通过SSH工具连接虚拟机中的CentOS7

1、  首先,要确保CentOS7安装了  openssh-server,在终端中输入  yum list installed | grep openssh-server

此处显示已经安装了  openssh-server,如果又没任何输出显示表示没有安装  openssh-server,通过输入  yum install openssh-server

来进行安装openssh-server

2、  找到了  /etc/ssh/  目录下的sshd服务配置文件 sshd_config,用Vim编辑器打开

将文件中,关于监听端口、监听地址前的 # 号去除

然后开启允许远程登录

最后,开启使用用户名密码来作为连接验证

保存文件,退出

3、  开启  sshd  服务,输入 sudo service sshd start

检查  sshd  服务是否已经开启,输入ps -e | grep sshd

或者输入netstat -an | grep 22  检查  22 号端口是否开启监听

4、  在Vmware Workstation中,查看CentOS7的属性,发现网络连接方式是采用的  NAT  方式连接的

5、 在Vmware Workstation中,点击编辑=》虚拟网络编辑器,进入虚拟网络编辑器,查看发现 NAT 模式的连接采用的网络适配器名称为VMnet8

6、在 windows 主机中,在命令行中输入ipconfig 查看主机IP,找到 VMnet8 的连接信息,此处 ip 为192.168.30.1

7、在CentOS中,输入ifconfig查看网络连接地址,发现CentOS的网络地址为192.168.112.128

8、在CentOS中,输入ping 192.168.30.1 测试是否能连通主机,发现可以连通

9、在主机中,输入 ping 192.168.112.128,测试主机是否能连通CentOS,发现连不通

如果可以连得通,可以直接跳至第12 步

10、在主机,打开网络配置,选择网络适配器 VMnet8 的  TCP/IPv4   的属性,进行一下网络配置

要求子网掩码、默认网关均和CentOS一致,并将IP地址修改为 192.168.112.1,即保证主机的  IP  和  CentOS  的  IP  在同一网络区段中

11、再在主机中,输入 ping 192.168.112.128,已经可以连接得通了

12、在SSH工具(此处使用的XShell)中,新建连接,输入  CentOS   的  IP  地址、用户名、密码即可连接成功

连接成功

13、为了免去每次开启 CentOS 时,都要手动开启  sshd 服务,可以将 sshd 服务添加至自启动列表中,输入systemctl enable sshd.service

可以通过输入systemctl list-unit-files | grep sshd,查看是否开启了sshd 服务自启动

CentOS 7.6 网络配置

1、进入网络配置文件目录

查看网卡信息

ip addr

网络配置文件目录下的文件

cd /etc/sysconfig/network-scripts/

ls 找到网卡文件,比如这个是ifcfg-ens33,然后用VI命令编辑这个文件,进VI后用 i 表示编辑状态

vim ifcfg-ens33

1.1、编辑配置文件

TYPE=Ethernet
BOOTPROTO=static #启用静态IP地址
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=030344c0-c51d-4b0d-85a1-7277154a93df
DEVICE=eno16777736
ONBOOT=yes #开启自动启用网络连接
IPADDR0=192.168.72.141 #设置IP地址
PREFIXO0=255.255.255.0 #设置子网掩码
GATEWAY0=192.168.72.203 #设置网关
DNS1=192.168.99.100 #设置主DNS
DNS2=192.168.100.125 #设置备DNS
1.2 保存并退出

:wq! #保存退出
1.3 重启网卡

service network restart #重启网络

ping www.baidu.com #测试网络是否正常

ip addr #查看IP地址

UltraISO刻录U盘安装centos7.6报错

我第一次的时候用UltraISO刻录到我闲置的U盘上,跟着网上的教程修改了路径,并且坚信没问题可以安装的上…查阅很多资料,都看了很多,也分析了很多,有很多繁琐的解决方法,尝试了很多,但安装时还是报错! 提示 cut:/

第二天早上起来,我觉得我要不重新刻录下吧,说不定是我路径设置问题,实际证明了

这个问题因为路径错误,找不到正确的安装文件造成的…

正式教程

1、查看UltraISO 刻录好的 U 盘,先查看 U 盘的盘符名称

这里正常应该是 CentOS 7 x86-64,但是却命名成-CentOS 7 x8,这是因为超过了 Windows 10 系统的盘符命名长度

2、通过U 盘启动,到了选择安装界面(如下)时

按E键进行修改(系统版本问题有的是TAB键)

然后,你可以清晰的看到选择界面下面出现

vmlinuz initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
U 盘的名字是 CentOS 7 x8,但这里指向了 CentOS\x207\x20x86_64 ,所以出错的地方就在这里~

3、开始修改路径并且进行安装

既然我们知道了问题出在哪里了,那解决不就是洒洒水了吗?删除该条命令中路径后面的 6_64 就行了嘛~

将:

 > vmlinuz initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
修改为:

 > vmlinuz initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x8 rd.live.check quiet
(PS:路径中的 x20 就是空格)

修改完后,按Ctrl+X键进行执行就可以了正常进入 CentOS 的安装界面啦

Serverless,SaaS,PaaS,LaaS,

Serverless是由Server和less两个词根组成的词。从字面上理解,就是“无服务器”。行业通常所说的Serverless,主要是指“无服务器计算(Serverless Computing)”。那么问题来了,这年头,就连小学生都知道,服务器是具有很强计算能力的计算机,是我们现在最主要的计算工具。“无服务器计算”,如果不采用服务器,那该怎么算呢?事实上,Serverless所谓的“无服务器计算”,并不是真的不需要服务器,而是说,对于用户,服务器变得“不可见”了(或者说“无感知”了)。

云计算的本质,不是算力资源的简单堆砌,而是池化——它将大量的零散算力资源(廉价的算力资源)进行打包、汇聚,实现更高可靠性、更高性能、更低成本的算力。具体来说,在云计算中,CPU、GPU、内存、硬盘等计算资源被集合起来,通过软件的方式,组成一个虚拟的可无限扩展的“算力资源池”。如果用户有算力需求,“算力资源池”就会动态地进行算力资源的分配,构建一个虚拟的“计算机”。用户按需使用、付费,即可。相比于用户自购设备、自建机房、自己运维,云计算有明显的成本优势,可以节约大量资金和人力。根据提供算力资源的层级不同,云计算通常也分为IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)。如下图所示:

那么,问题又来了——云计算这种“租”的方式,是不是最终极的算力资源使用方式呢?我们作为用户,使用算力,还能更简单一点吗?答案是肯定的。不管是自建机房,还是云计算,用户都需要和服务器打交道,和软硬件环境打交道。这些都是工具和过程,而我们的最终目的是什么?是得到运算结果。

那么,为了得到结果,我们是不是一定要关心环境的搭建过程?不一定。既然环境可以租,那何不更彻底一点,直接“租”服务呢?举例来说,如果把计算过程理解为炒菜。以前,我们为了炒菜,需要自己建个厨房,自己买锅碗瓢盆、油盐酱醋,自己亲自炒菜。后来,有了云计算,我们可以租个厨房,租工具,然后炒菜。现在,想要更简单的话,是不是可以直接叫外卖?再例如,以前,我们上班通勤,是自己买车,自己开车。然后,有了云计算,相当于租车。现在,是不是可以直接打车?说白了,我们要的是计算服务和计算结果。计算环境(硬件),我们完全可以不去操心。

说到这,我们的主角——Serverless,终于闪亮登场了。对于Serverless,我们可以把它理解为一种架构,一种理念,甚至是一种思想。Serverless的核心目的,就是在云计算的基础上,再向前迈进一步,彻底“包揽”所有的环境工作,直接提供计算服务。在Serverless架构下,开发者只需编写代码并上传,云平台就会自动准备好相应的计算资源,完成运算并输出结果,从而大幅简化开发运维过程。换句话说,用户完全不用关心厨房,你把食材提供给Serverless平台,它负责把菜炒好,就这么简单。█ Serverless的特点Serverless是云计算的进一步延伸,所以,它继承了云计算的最大特点——按需弹性伸缩、按需付费。现在的互联网服务,基本上都是采用微服务架构。也就是把一整套服务,拆分为多个细分服务,由不同的服务器完成运算。Serverless的特点是,这个服务足够“细小”,变成了“函数级”的颗粒度。

所谓函数,就是提供输入,计算输出。从层级上来看,Serverless在传统云计算SaaS的Application(应用)层级之上,又加了一层——function(函数)。它的颗粒度更细,可以更灵活地满足用户的算力需求。

按照CNCF对Serverless 的定义,Serverless架构是采用FaaS(函数即服务)和BaaS(后端服务)服务来解决问题的一种设计。FaaS就是Function as a service(函数即服务)。每一个函数都是一个服务,函数可以由任何语言编写,直接托管在云平台,以服务形式运行,通过事件触发。BaaS则是Backend as a service(后端即服务)。云平台提供的后端组件整合,开发者无需开发和维护后端服务,通过API/SDK的调用,便可获得例如数据存储、消息推送、账号管理等能力。Serverless = FaaS + BaaSServerless的背后,依然是虚拟机和容器。只不过,服务器部署、runtime安装、编译等工作,都由Serverless计算平台负责完成了。对开发人员来说,只需要维护源代码和Serverless执行环境的相关配置即可。这就叫“无服务器计算”。Serverless架构的最大优势,显然就是帮助用户彻底摆脱了基础设施管理这样的“杂事”,更加专注于业务开发,从而提升了效率,降低了开发和运营成本。根据业界的统计,在商业和企业数据中心里的典型服务器,日常仅仅只提供了5%~15%的平均最大处理能力的输出。这是一种算力资源的巨大浪费。Serverless的出现,可以让用户按照实际算力使用量进行付费,属于真正的“精确计费”。

PR镜头推进放大效果,快进,慢进效果

把视频导入PR项目库,拖到新建项来新建序列,然后在序列框中选择要编辑的序列,然后打开效果控件(不是“效果”,如没有就在窗口中勾选“效果控件”,效果控件是选择效果后的设置窗口,但其中运动,不透明度和时间重映射是预选了刚开始在效果控件中就有的效果)

在”效果控件“中的视频效果中点开”运动“点下最左边闹钟样式的图标(切换动画)右边会出现关键帧设置按键,点中间的点就是设置变换开始的关键帧,(具体操作为选择序列上的游标到一点(效果控件窗口右边有关键帧设置框,游标和序列上的同步,如没有就右上角小三角就会出现),然后在关键帧设置按键中间的点上点一下,再拖动中间的数字改变中心点的位置,那么视频中心点位置就会从前一个关键帧改变到现在关键帧位置了,除非你后面再设置一个关键帧并再设置中心点,就会移动新中心点。)

上面设置了中心点,然后点缩放,就可以同样设置镜头的推进放大和缩小效果,

设置快进就是点开时间重映射,然后设置关键帧,点开速度,右边会出现时间线,再上下移动右边的速度线,就可控制速度(分开柄的两边就可平缓速度的变化),按CTRL拖关键帧就是倒放,按ctrl+alt就是静止这一帧一段时间(推荐直接在序列轨道上制作,点击序列轨道左上角的fx,然后选时间重映射,再选速度,双击序列条也会出现关键帧设置键,并会中间出现白色的速度控制线,就可用选择工具拖动控制。)

另外“效果”中的“视频效果”中的“扭曲“中的”位移“和”变换“等操作可以进行更细致的控制,只要选择好要编辑的序列,然后点开项目边上“效果”中的“扭曲“,把其中的“位移”拖动到序列上,就可以在“效果控件“中看到具体的设置选项,对序列进行位置的编辑

视频太大,用pr压缩他

用pr在基本不损伤画质的基础上
来减少视频大小。

把视频拖入项目框,并拖到新建项上来新建序列,然后,在导出中选媒体,然后选格式h.264,把视频中的比特率设置编码选CBR或VBR一次,然后后面比特码率选得越小,文件就会越小(下面可看到估计文件大小),导出即可。

视频比特率是指每秒传送的比特(bit)数。单位为bps(Bit Per Second),比特率越高,每秒传送数据就越多,画质就越清晰。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。 视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。

VBR(Variable Bitrate)动态比特率 也就是没有固定的比特率,压缩软件在压缩时根据音频数据即时确定使用什么比特率,这是以质量为前提兼顾文件大小的方式,推荐编码模式,适合在高带宽场合下使用,尤其适合对混有简单数据和复杂数据的内容进行编码

CBR(Constant Bitrate)常数比特指文件从头到尾都是一种位速率。相对于VBR和ABR来讲,它压缩出来的文件体积很大,而且 音质相对于VBR和ABR不会有明显的提高,

如果比特码率太小视频看起来会有点模糊,他和分辨率都会影响视频质量。

1、码率与画面清晰度和文件容量都有关系,一般建议在4000码率左右即可;

  2、以B站为例,目前上传720P上限为2000Kbps,而1080P如果是大会员可以放宽至6000Kbps,如果更高码率会对宽带网速和运营商服务器空间成本方面造成较大的负担;

  3、如果是想要1080P分辨率的接近原本画质的输出,2万Kbps只能确保10帧左右清晰画面,如果想要稳定60帧至少需要6万Kbps的码率;

Wireshark分析网页视频,写ROS的L7正则表达式

Wireshark是非常著名的数据分析软件,我们首先需要下载安装wireshark并安装。下面介绍wireshark如何抓包分析网页视频特征,并写出L7的代码。

操作流程:

1.      启动wireshark,并找到需要抓取数据包的网卡,准备抓取;

2.      启动浏览器,并打开浏览视频的网页;

3.      在wireshark capture interface点击start开始抓取;

4.      视频浏览一定时间后,停止wireshark抓取,并分析数据,输入http.request get查找请求获取的链接,一般都是以.swf结尾

5.      分析类型链接的数据,多次对比,找到共同点,并编写L7正则表达式

一、启用wireshark。

2013-12-12 10:06 上传

下载附件 (67.54 KB) 

通过列表可以选择我们需要抓取的数据包的网卡

2013-12-12 10:06 上传

下载附件 (22.55 KB) 

二、开启浏览器,但不要播放视频。这里以www.qiyi.com为例

三、点击start按钮开始抓取,然后点击播放网页视频。

四、视频播放一段时间后,我们可以停止抓取数据包,分析数据包最重要的是刚开始向视频服务器申请获取视频的get或post参数,我们可以使用http.request get来查找,如下图

2013-12-12 10:06 上传

下载附件 (66.72 KB) 

我们分析L7数据是从应用层开始,不管是游戏、还是视频,都不用考虑他们的frame、Ethernet、internet protocol和传输方式(TCP或者UDP),只从传输协议后分析,如视频,我们分析的是http传输协议

当然我们要找到的是视频文件,如.swf结尾的内容(有可能是mp4之类),其他jpg、js、png这些都不用考虑。上图中我们找到了一个相关匹配的GET值,我们可以看到主机向220.118.109.158的服务器获取一个.swf的flash视频文件,

2013-12-12 10:07 上传

下载附件 (92.41 KB) 

内容如下:

http://www.iqiyi.com/player/20131210153552/Player.swf/[[DYNAMIC]]/2/[[DYNAMIC]]/6

继续找到相关内容:

2013-12-12 10:07 上传

下载附件 (92.03 KB) 

这次我们获取到的有所不同

http://www.iqiyi.com/player/20131210153552/Player.swf/[[DYNAMIC]]/2/[[DYNAMIC]]/6

我们在用这样的方法对比多次这种视频的GET信息,几乎他们的连接内容都有以上的共同点

这样我们就可以开始抓取关键字,www.qiyi.com/player这些自动是固定的,然后是adplayer.swf或者qiyi_player.swf,这里我们只取.swf,那我们要包含的关键字有

GET + www.qiyi.com/player + .swf

最后我们写出以下L7的正则表达式代码

^(get|post) .+\www\ . \qiyi\ . \com\ / \player. +\ .swf

代码分析:

^ : 表示内容的起始

(get|post):中间的“|”标识get或者post

.+ :中间任意字符

\ : 将内容转换为字符

最后我们将代码简化为:

^(get|post) . +\qiyi\ . \com\ / \player. +\ .swf

这里没有包含www是因为可能服务器会更换其他的二级域名的可能,我们将代码添加入/ip firewall layer7-protocol

2013-12-12 10:08 上传

下载附件 (120.81 KB) 

后面的就是你需要在iP firewall filter里做防火墙过滤,还是在iP firewall mangle里做流控等操作了

下面是几个视频网页的L7正则表达式

2013-12-12 10:06 上传

下载附件 (122.19 KB)