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) 

ros流控

ros手动流控,保证优质的网络连接如VoIP 和HTTP等为最优先级将P2P的优先级设置为最低 RouterOS QOS操作首先使用mangle标记不同类型的传输然后把它们放入的queues做不同的限制。下面的事例是强迫P2P的总的传输不能超过1Mbps其他的传输连接则扩大连接带宽和优先级  

[admin@NAT] > /ip firewall mangle add chain=forward  p2p=all-p2p action=mark-connection new-connection-mark=p2p_conn

[admin@NAT] > /ip firewall mangle add chain=forward connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p

[admin@NAT] > /ip firewall mangle add chain=forward  packet-mark=!p2p_conn action=mark-packet new-packet-mark=other

[admin@NAT] > /queue tree add parent=Public packet-mark=p2p limit-at=1000000  max-limit=100000000 priority=8

[admin@NAT] > /queue tree add parent=Local packet-mark=p2p limit-at=1000000  max-limit=100000000 priority=8                                      

[admin@NAT] > /queue tree add parent=Public packet-mark=other  limit-at=1000000  max-limit=100000000 priority=1

[admin@NAT] > /queue tree add parent=Local packet-mark=other  limit-at=1000000  max-limit=100000000 priority=1

ros防火墙

ros的防火墙非常灵活,如果配上正则表达式则更为强大,

防火Q过滤功能有三个默认的数据链chainsinput, forward和output 他们分别负责从哪里进入路由器的、通过路由器转发的与从路由器发出的数据。用户也可用自定义添加链当然这些链没有默认的传输配置需要在三条默认的链中对action=jump策略中相关的jump-target进行配置。

例:

建立新的跳转数据链chains

add chain=forward protocol=tcp action=jump jump-target=tcp(新数据链名)   

add chain=forward protocol=udp action=jump jump-target=udp   

add chain=forward protocol=icmp action=jump jump-target=icmp     

建立tcp-chain并拒绝一些tcp端口

add chain=tcp protocol=tcp dst-port=69 action=drop comment=”deny TFTP”  

add chain=tcp protocol=tcp dst-port=111 action=drop comment=”deny RPC portmapper”   add chain=tcp protocol=tcp dst-port=135 action=drop comment=”deny RPC portmapper”   add chain=tcp protocol=tcp dst-port=137-139 action=drop comment=”deny NBT”  

 add chain=tcp protocol=tcp dst-port=445 action=drop comment=”deny cifs”   

add chain=tcp protocol=tcp dst-port=2049 action=drop comment=”deny NFS”   

add chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment=”deny NetBus”   add chain=tcp protocol=tcp dst-port=20034 action=drop comment=”deny NetBus”   

add chain=tcp protocol=tcp dst-port=3133 action=drop comment=”deny BackOriffice”   add chain=tcp protocol=tcp dst-port=67-68 action=drop comment=”deny DHCP”      

在udp-chain中拒绝非法的udp端口Deny udp ports in udp chain:

add chain=udp protocol=udp dst-port=69 action=drop comment=”deny TFTP”   

add chain=udp protocol=udp dst-port=111 action=drop comment=”deny PRC portmapper”   add chain=udp protocol=udp dst-port=135 action=drop comment=”deny PRC portmapper”   add chain=udp protocol=udp dst-port=137-139 action=drop comment=”deny NBT”   

add chain=udp protocol=udp dst-port=2049 action=drop comment=”deny NFS”  

在防火墙Layer7-protocol目录下你可以添加正则表达式字符串协议定义他们的名称并在防火墙filter目录下丢弃他们的数据。针对一些应用程序如skype、QQ、MSN、魔兽世界……网络程序做限制和过滤

DMZ 配置事例

路由器一般需要3张网卡Public公网Local本地网络DMZ-Zone非军事区

给相应的Interface添加对应的IP地址如下

[admin@gateway] ip address> print

Flags: X – disabled, I – invalid, D – dynamic

#   ADDRESS            NETWORK         BROADCAST       INTERFACE

0   192.168.0.2/24     192.168.0.0     192.168.0.255   Public  

1   10.0.0.254/24      10.0.0.0        10.0.0.255         Local  

2   10.1.0.1/32        10.1.0.2        10.1.0.2            DMZ-zone  

3   192.168.0.3/24     192.168.0.0     192.168.0.255     Public

配置DMZ服务器的IP地址为IP地址10.1.0.2网络地址段10.1.0.1/24以及网关10.1.0.1  

配置能从因特网访问DMZ服务的dst-nat规则将地址192.168.0.3配置给DMZ服务器 [admin@gateway] ip firewall nat> add chain=dst-nat action=dst-nat \ \… dst-address=192.168.0.3 to-dst-address=10.1.0.2

为网络192.168.0.0/24的所有客户端添加一个限制下载流量为2Mb上传流量1Mb的简单队列规则。  

[admin@MikroTik] queue simple> add name=Limit-Local target-address=192.168.0.0/24 max-limit=1000000/2000000

这里不想让服务器192。168。0。1受到我们添加上面规则的任何流量限制我们可以通过添加一个没有任何限制的规则max-limit=0/0代表没有任何限制并把它移到列表的顶部 [admin@MikroTik] queue simple> add name=Server target-addresses=192.168.0.1/32

Queue tree HTB实

通过用new-connection-mark标记向外的连接并采取mark-connection动作。当这个完成时你可以使用new-packet-mark标记属于这个连接的所有数据包并采用mark-packet。 首先VIP数据标记我们通过ip firewall address-list定义VIP用户的地址列表定义完成后通过src-address-list调用

     chain=forward action=mark-connection new-connection-mark=vip       passthrough=yes src-address-list=vip   

     chain=forward action=mark-packet new-packet-mark=vip passthrough=no       connection-mark=vip

跟着定义web数据这里我们需要针对访问网页的tcp/80端口和域名解析的DNS端口tcp/53和udp/53端口标记

2   ;;; web      chain=forward action=mark-connection new-connection-mark=web       passthrough=yes protocol=tcp dst-port=80    

3   chain=forward action=mark-connection new-connection-mark=web       passthrough=yes protocol=tcp dst-port=53    

4   chain=forward action=mark-connection new-connection-mark=web       passthrough=yes protocol=udp dst-port=53    

5   chain=forward action=mark-packet new-packet-mark=web passthrough=no       connection-mark=web

标记数据完成后我们进入queue tree中对数据进行优先级的配置

我们进入forward链表添加一条跳转的规则将forward中所有数据首先进入dstgames的链表过滤一次将游戏分离出来 /ip firewall mangle add chain=forward action=jump jump-target=dstgam

连接标记用于区分网页视频的速率 chain=forward action=mark-connection new-connection-mark=web_video passthrough=yes protocol=tcp dst-port=80 connection-bytes=700000-0 connection-rate=70k-10

HTB令牌桶方式控制各个数据的优先级并通过PCQ动态分配带宽我们进入queue的tree设置HTB但我们首先还是要先设置PCQ参数 进入queue type添加PCQ规则我们添加一个down的PCQkind= pcqrate设置每台主机的带宽这里我们选择0即动态分配带宽你也可以设置一个固定值以k或者m为单位选择dst-address为下行的规则

masquerade – 以一个路由策略自动分配的IP地址取代IP包的源地

netmap – 创造一个IP地址从一端到另一端的静态11映像。通常用于分配公用IP地址到专用内网的主机上

passthrough – 忽略次条规则并转到下一个规则

redirect – 把IP包的目的地址替换成一个路由器的本地地址

对公用接口添加公用IP /ip address add address=10.5.8.200/24 interface=Public       添加允许外部网络访问本地服务器的规则 /ip firewall nat add chain=dstnat dst-address=10.5.8.200 action=dst-nat \  to-addresses=192.168.0.109

如果你想从公用IP子网11.11.11.1/32访问本地的2.2.2.2/32你应该使用目的地址翻译以及源地址翻译特性设置action=netmap。

/ip firewall nat add chain=dstnat dst-address=11.11.11.1 \  action=netmap to-addresses=2.2.2.2  

/ip firewall nat add chain=srcnat src-address=2.2.2.2 \  action=netmap to-addresses=11.11.11.1

。Mangle标记仅存在于该路由器中他们无法传输到网络中去。 根据数据传输方式不同可以选择

? Prerouting路由前常用于标记策略和端口路由

? Input进入路由器的数据

? Foreward通过路由转发用于修改TTL、TCP-MSS和流量控制规则   

? Output数据输出

? Prostrouting路由后

标记IP数据流的三种类型这三种类型会在各种应用中多次出现特别是Queue的流量控制和ip route的路由

? Mark-connection标记所有IP流的连接

? Mark-packet标记IP流中数据包

? Mark-routing标记IP流中IP数据包的路由信息

三种类型的关系所有的在IP数据包传输前首先需要通过建立TCP/UDP连接进行传输。所以当数据通过IP流进入Mangle后建立相应的连接标记并从连接标记中提取数据包做处理