分类目录归档:杂文杂载

奇亚Chia常见知识解答

P盘配置需求

CPU线程数>=P盘任务数*2 (主频越高线程越多越快)

内存大小>=P盘任务数*3.4G

NVME固态硬盘(缓存盘)>=P盘任务数*240G (读写速度越大越快)

要加快P盘速度可以堆配置增加同时P盘任务数,或者用多台电脑。

P盘目录不能为中文,过程中日志内没有error报错就是正常的,等待即可。

新人要了解chia,请先看群共享的链接里面的资料

问:绘图打开失效怎么处理?

答:修改失效的文件名,然后刷新农田列表

问:为什么我的节点没有连接?如何获得更多连接?

第 1 步。如果您的节点没有连接,这可能是众多原因之一。最有可能的是,没有用户有空间有新的连接,所以你不能连接到任何人。要解决这个问题,您应该尝试在路由器上打开端口 8444,以便其他同行可以连接到您。按照指南,但使用端口8444而不是8333,然后检查它是否工作,使用 yougetsignal.com/tools/ 8444。

端口 8444 是其他 Chia 计算机可以通信到您的 PC 的端口,Chia 可以快速与另一台经过验证的 PC 通信并连接起来,并开始下载并与 Chia 区块链同步。网络正在高速增长/扩张。许多新到的 Chia 同行 (计算机) 没有打开 8444 端口。它使网络很难帮助其他用户同步。一旦您的端口打开,它将快速与其他人同步。

详细解释普通电脑可以与无尽的端口进行通信-如果用户发送信号-PC打开端口信号出去,PC关闭端口。Chia 使用端口 8444 作为即时验证通信。因此,开放端口可以允许即时通信并启动区块链同步。信号出现在端口 8444 – Chia pc 被验证, 然后两个用户的 pc, 打开自己的 “通信端口前端口 8421″, 新用户现在可以同步, 现在他们链接在一起, 形成 Chia 网格的一部分。如果关闭用户端口 8444,用户 PC 必须开始发送多个信号,并希望打开端口 8444 的 PC 将与他们链接,然后同步开始。(1)pc只能链接了几个电脑,并与这么多其他嘉用户上船,他们都不得不等待。请记住,Chia 构建在网状网络上,区块链在所有用户之间共享,而不是从中央 PC 共享。

第 2 步:您可能需要禁用配置文件中的 upnp (+/.chia/版本/配置/配置.yaml)或使用 cli 命令。您可能在同一台机器上或在同一 wifi 网络上运行多个节点。请务必关闭计算机上的所有嘉应用程序。还要检查您的防火墙或防病毒软件,这可能正在阻止连接。chia configure -upnp false

第 3 步:开始接收同行可能需要几分钟时间。如果你仍然没有得到同行,你可以尝试删除你的同行DB位于,并确保你已经安装了最新的版本。

问:我看到块和连接,但我的节点说”未同步”

这通常是一个系统时钟问题,这会导致显示”未同步”,即使你是。您的时钟必须设置为确切的时间,并且不能超过 5 分钟的折扣。检查您的手机和计算机,并确保时间是相同的。

问:P好的图可以把plot文件复制到一个新的机械硬盘继续耕种?

答:可以的,plot文件与钱包绑定,与硬盘无关,可以进行移动,在钱包中添加plot文件路径就可以继续耕地了

问:关于P盘配置

答:101g单图 占用内存2-3G 磁盘空间 239G cpu2线程

问:钱包状态 一直未同步

答:软件会自动进行同步,可能时间会长一些,耐心等待即可

问:P盘时卡在31%

答:属于正常现象。程序设计就是这样,在此阶段会需要等待较长时间,耐心等待即可

问:多台电脑可以用一个账号不?

答:可以,只需要在其他电脑的钱包中导入此账号

问:P图说明

问:P图过程中断电或意外关闭可以继续吗?

答:不可以,只能重新开始,所以尽量保持运行状态,切勿关闭软件或电脑重启

问:生成PLOT文件的选项中,队列与并发有什么区别?

答:队列是指一个完成生,再自动生成下一个。并发是指同时生成多个PLOT文件,但要考虑SSD缓存区是否够大,CPU 和内存是否跟得上。当然是并发越多越好的。

问:一个PLOT文件完成生,缓存区需要手动删除么?

答:不需要,系统会自动删除,并把生成的PLOT文件复制到最终目录。

问:临时目录不用SSD可以么?

答:可以。但是临时目录的速度决定了PLOT文件生成的速度,所以建议用高速SSD。而且机械硬盘并发P盘有可能会卡死。

问:机械硬盘太贵了,用移动硬盘可以么?

答:可以是可以,但USB口速度不快,稳定性也一般。可以考虑把里面的硬盘拆出来接到主板上

国内的硬盘全部疯涨了,可以考虑亚马逊海外购,还没或太多,就是到货时间长些。如这个东芝的10T企业盘,2000左右到手。Toshiba 东芝 10TB SATA 512e 7200RPM 3.5 英寸企业硬盘 – MG06ACA10TE

问:我有两个SSD,怎么合理运用来并发P盘?

答:可以组RAID,最简单的就是 选择临时目录处,点显示高级选项,则可以选择第二临时目录。

问:用钱包挖和用矿池挖有什么区别?

答:用钱包挖收成只会是整数的币,如1只这样,可能好久都没有收成。矿池则是和众多网友分成,一天收入0.00000x只币这样,另外矿池是要收手续费的,一般是5%以上。

问:生成PLOT文件时(绘图中),有时会卡在31%不动,怎么回事?

答:我和很多网友都碰到过。具体看下图

问:绘图过程中可以重启电脑或关闭软件么?

答:可以,但之前的绘图进度不会保存,只能重新开始。

问:这个币的总量有多少?存在预挖吗?

答:总量无上限,团队有预挖2100万个(前期不会流通,解锁日期不详),预计今年第一年产出336万多个,前12年流通总量将会达到3900多万个。

问:这个挖矿对网络带宽有要求吗?耗电吗?

答:不需要网络带宽,能上网就行。不耗电,主机每天满载功率,耗电不到4度。挖矿需要连网,P图可以脱机运算,不吃网络带宽。

问:用固态硬盘即SSD来plot图,放到机械硬盘即HDD里面挖矿就可以了吗?完成一次plot就行了吗?还需要再plot吗?

答:是的,plot好图,他自动放到你设置好的HDD路径里面,就可以挖了。plot的图越多,你的算力越大,越容易出块,正常的思路是一直plot下去。

问:现在使用消费级固态可以用来P图吗?

答:不建议使用,消费级固态如SN750,970PRO写入寿命都比较短。

问:为什么挖矿一天都没有产出区块?

答:普通硬盘算力低导致solo出块的概率低。

如何创建图D的过程

创建绘图非常耗时,在普通计算机上平均需要9-20小时,在高端计算机上平均需要4-8小时。有7个表中的操作分为4个阶段。

阶段:

  1. 计算表1到表7:将创建存储桶(默认值:128)作为temp目录中的文件,计算出7个表时,绘图时间进度约为42%
  2. 向后传播表7到1:向后传播7个表时,绘图时间进度约为61%
  3. 成对压缩表1至7:压缩7个表时,绘图时间进度约为98%
  4. 编写检查点表:将绘图转移到永久驱动器。它将删除临时存储中的所有文件,这将完成进度到100%

注意:建议使用添加的SSD或NVME存储来创建图,而不要使用主硬盘(特别是用于不可更换的NVME,例如在某些Mac或Windows笔记本电脑上),如果由于某种原因图无法完成,则必须使用通过删除其所有临时文件来删除。请注意,不要删除正在绘制的另一个图的临时文件。

问:预期上市价格多少?

答:预期上市价格暂时无法界定,市场定价权是由市场决定的。

问:同步不上或者很慢怎么办?

答:通过查看相关社群公告添加几个节点加快信息获取速度。

问:不小心关机或者退出软件后还能继续plot图吗?

答:不能,只能重新再来。

问:P好几张图,没有设置时间间隔怎么办?

答:没有设置时间间隔,plot就会失败,一般设置至少10分钟的间隔。

问:chia什么时候开始挖矿?

答:3月19日主网上线的,Chia官方声明上线6周后开放转账功能。

问:这个chia有啥应用吗?

答:chia目前的实体应用有:转账的账单归属权和转账过程中的资产撤回,同时chia还具备彩币功能,能够决定产权归属解决因为产权缺失导致的一系列经济纠纷。

问:可以找人代替P图然后卖给我写满的机械硬盘吗?

答:不建议,因为P的图是和钱包存在关联的,需要把钱包和图一起发给你才行,两个人同时都拥有助记词是不安全的。现在也有代P图的,原理就是使用助记词签名然后把签名内容给对方,目前暂时没有实践过。

问:P满机械硬盘后,还需要SSD吗?

答:如果不想再P图就不需要,甚至可以把机械硬盘拆出来,连接到闲置的电脑上连网挖矿就行了。

问:如果绘图过程中,钱包自己闪退或者白屏了怎么办?

答:如果没有了,需要看一下后台和临时储存盘里面chia的文件有没有变化,如果还在继续绘图你就等着,内存和硬盘读取还在显示就说明后台还在运行,等一段时间后绘图完成再打开客户端即可。

问:可以把绘制好的图复制到另一台电脑上同时挖吗?

答:不能,一个图就是唯一的,你复制是没有用的。

问:能一个机器P图一个机器挖矿吗?

答:可以,记得多个机器使用同一个助记词然后导入最终保存的图的路径即可。

问:想买二手配件自行组装可以吗?

答:尽量不建议自行组装。相比与专业矿机而言,二手组装配件的机器容易出现问题,同时二手配件就存在缺陷。用户在后期挖矿过程中可能会出现一系列的麻烦导致得不偿失。在二手配置时需要慎重考虑挖矿的收益是否可以回本,后期的收益是否存在盈利空间。投资本身就是一场对赌行为,打有把握的仗才能最大可能获胜。

到底什么配置够用?

PLOT:chia中的重要概念,可理解为农地,生成币的地方。网上也称为P盘等。

TBW : 是指固态硬盘理论寿命所对应的总写入数据量,800TBW即是指该固态硬盘的写入寿命是800TB,当超过这个写入量,即使未过保修期,也 不能保修。

PLOT的生成原理

CHIA挖矿要设置 临时目录与最终目录

临时目录:用作运算数据,生成PLOT文件,速度越快越好,所以最好是高速固态硬盘,容量越大越好。并行运算多个PLOT时,需要占用CPU和内存。

最终目录:当临时目录运算好PLOT文件后,就会自动生成到最终目录存放,最终目录不参与运算,所以用普通的机械硬盘就行了,容量越大越好,当然,用寿命长的企业盘更好。

配置总结:

固态硬盘:最重要就是这个,这个是对生成PLOT文件速度影响最大的,建议用m.2接口,最低1T以上,2T以上最好。速度越快越好,另外保修期与TBW大点的。看下图说明你就能理解SSD的作用了。

所以SSD越大,同时生成的PLOT文件就越多。PLOT越多,自然收成就越快越多。

但同时随着CHIA越来越火,也出现了越来越多的骗局,当然有的不能叫骗局,只是很坑钱,那我们暂时都称为坑吧
1号坑——私募CHIA的股份
看见群里有人在发说是CHIA中国区唯一授权私募股份的机构。投钱获得CHIA公司的原始股份,并且未来对应还给他多少的币。
官方已经发文,说不存在私募,而且官方重点强调中国有很多骗子破坏公司声誉。希望大家不要上当。

2号坑——销售CHIA算力

一时间各个公司推出了购买CHIA算力的产品。平均1T的价格300元左右。而且有的有效期才1年。P盘期70天。现在市面上硬盘1T才100元左右。有这个钱你都能买3倍的硬盘了。

3号坑——销售CHIA矿机
CHIA火了,而且挖矿对机器要求不高,于是各种3,5年的二手卖不出去的机器挂上CHIA矿机的名头就上线了。卖的比新机器还贵。完全就是欺负小白啥也不懂,急于买个机器挖矿。各位,挖矿最好还是自己配机器,省钱又可靠。

4号坑——销售硬盘

很多二手硬盘当新硬盘卖,号称2年包换,要大家放心大胆的买。
建议大家还是不要图那么一点点的便宜。再便宜也不会比各个旗舰店便宜20%吧。图这么点便宜,到时候硬盘坏了,是可以给你换,但是你这么长时间的盘白P了,这损失可大了。

5号坑——代P盘
有些人心急,想着赶紧多P一点盘出来,比别人挖的多。
你静下心来想一下,算一下,多又能多多少?你代P盘的这个钱其实可以买更多设备。换个角度,你可能用这个钱现在去收币得到的收益都比花钱P盘得到的收益高。

6号坑——收币
我不反对收币,也不反对卖币。现在无论收币卖币都正常。但是其中有很多骗子,大家要小心。无论收币还是卖币都有骗子。给了钱不给币,给了币不给钱。骗了一个换个马甲接着骗,一天能骗不少钱。

c盘清理代码 批处理.bat

@echo off

echo 正在清除系统垃圾文件,请稍等……

del /f /s /q %systemdrive%*.tmp

del /f /s /q %systemdrive%*._mp

del /f /s /q %systemdrive%*.log

del /f /s /q %systemdrive%*.gid

del /f /s /q %systemdrive%*.chk

del /f /s /q %systemdrive%*.old

del /f /s /q %systemdrive%recycled*.*

del /f /s /q %windir%*.bak

del /f /s /q %windir%prefetch*.*

rd /s /q %windir%temp & md %windir%temp

del /f /q %userprofile%cookies*.*

del /f /q %userprofile%recent*.*

del /f /s /q “%userprofile%Local SettingsTemporary Internet Files*.*”

del /f /s /q “%userprofile%Local SettingsTemp*.*”

del /f /s /q “%userprofile%recent*.*”

echo 清除系统垃圾完成!

echo. & pause

 

C盘清理

JS,表格列表求和代码

<table width=”200″ border=”0″ id=”table”>
<tr>
<td>名称</td>
<td>图片</td>
<td>价格</td>
<td>操作</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>10</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>10</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>10</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>10</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td>合计</td>
<td> </td>
<td> </td>
</tr>
</table>
<script type=”text/javascript”>
var calcTotal=function(table,column){//合计,表格对象,对哪一列进行合计,第一列从0开始
var trs=table.getElementsByTagName(‘tr’);
var start=1,//忽略第一行的表头
end=trs.length-1;//忽略最后合计的一行
var total=0;
for(var i=start;i<end;i++){
var td=trs[i].getElementsByTagName(‘td’)[column];
var t=parseFloat(td.innerHTML);
if(t)total+=t;
}
trs[end].getElementsByTagName(‘td’)[column].innerHTML=total;
};
calcTotal(document.getElementById(‘table’),2);
</script>

PHP在RS232串口通讯协议的应用演示[测试环境PHP5.1.4]

1. 预先的知识:
什么是RS232/RS484及其应用?
引用:
RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 “|O|O|” 样标识。 
一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。 
有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。 

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输 时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS- 232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制 解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换 接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。 

(1)接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表1所示 

(2)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” 
(3) 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备 与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9 芯插头座,传输线采用屏蔽双绞线。 

(4)传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实 际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10% 而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽 网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。 

1.RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标 准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数 情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒 50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有 2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以 增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。 

2.RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有 抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任 何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以 联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。 

以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理 介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于 单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的 设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从 (Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

来源网址:http://zhidao.baidu.com/question/4578886.html

从串口双机对联线缆指南
引用:
(一)串行通讯电缆的制作

无论是9孔插头,还是25孔插头,其串行通讯电缆连接时都要遵循下列对接关系:

SG←→SG TXD←→RXD RXD←→TXD RTS←→CTS
CTS←→RTS DTR←→DSR DSR←→DTR

根据上述对接关系,就可以非常方便地连接串行通讯电缆。这里顺便介绍一下上述各引脚所代表的含义:

SG英文全称为Signal Ground/Common Return,表示信号地;
TXD指Transmitted Data,表示数据发送;
RXD指Received Data,表示接收数据;
RTS指Request To Send,表示发送请求;
CTS指Clear To Send,表示清除请求;
DTR指Data Terminal Ready,表示数据终端准备就绪;
DSR指Data Signal Rate Selector,表示数据置位准备就绪。

在制作9芯串口连线时,需要2个9孔插头和1.5米长的至少7芯的扁平电缆,引脚连线如下所示。

9孔插头-9孔插头引脚连线为:2-3、3-2、4-6、5-5、6-4、7-8、8-7。
9孔插头-25孔插头引脚连线为:2-2、3-3、4-6、5-7、6-20、7-5、8-4。
25孔插头-25孔插头引脚连线为:2-3、3-2、4-5、5-4、6-20、7-7、20-6。

来源网址:http://win2000server.vicp.net:88/Article_Show.asp?ArticleID=25

二、测试环境的构建:
1.  参考上面的《(一)串行通讯电缆的制作》,首先把两台电脑通过串口连结起来。
当然,你也完全可以这么操作一台电脑上面的两个串口,而不需要两台电脑;如果你有两个串口的话。
因为我以前做过工业控制底层开发,所以我可以很容易的构建这个基本的环境;
实际上,只要:[color=red]RxD TxD对接,GND直连即可,俗称三线连接。[/color]
这一点不做任何答疑。

2. PHP运行环境的构建:
操作系统:WindowsXP(其他Windows系统没有测试)
PHP5.1.4: http://cn.php.net/get/php-5.1.4-Win32.zip/from/a/mirror
PECL5.1.4:http://cn.php.net/get/pecl-5.1.4-Win32.zip/from/a/mirror
解压PHP5.1.4,把PECL5.1.4之中的php_dio.dll放到PHP5.1.4的ext目录之下
把PHP5.1.4之中的php.ini-dist拷贝粘贴为php.ini,并打开设置然后保存:

extension=php_dio.dll

这一点不做任何答疑。

三:参考资料:
1. 参考手册文档:
http://cn.php.net/manual/zh/ref.dio.php
http://cn.php.net/manual/zh/ref.exec.php
如果代码之中有你没有见过,或者没有使用过,或者不熟悉的函数,请访问以上网址。
主要使用了PHP的Direct IO Functions.

四:演示代码:
[color=Green][font=Times New Roman]

// -------------------------------------------------------------------------- 
// File name   RS232_Server.php 
// Description RS232演示上位机程序 
// Requirement PHP 5.1.4 (cli) (http://www.php.net) 
// 
// Copyright(C), HonestQiao, 2006, All Rights Reserved. 
// 
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)  
// 
// 程序简介: 
// 本程序与RS232_Client构成一个完整的演示系统,展示了PHP在RS232串口通讯上的应用。 
// 程序之中实现了一个基础但是完整的RS232通讯协议(HQB232),通讯协议格式如下: 
// 协议内容: 
//             C->S 01 //请求通讯 
//             S->C 02 //响应通讯 
//             C->S LEN DATA //LEN表示数据(DATA)长度 DATA表示实际数据 
//             C->S 03 //结束通讯 
// 说明:S表示上位机 C表示下位机 
//       HQB232表示HonestQiao演示的基础(Base)RS232通讯协议,包含了协议的 
//   请求和响应,数据帧的结构。 
//       演示过程为通讯的请求和响应,十次数据帧的发送, 通讯的结束 
//       数据帧的结构为当前的序号,microtime(),随机字符串 
//         
//       欢迎探讨PHP在RS232串口通讯上的应用。 
// -------------------------------------------------------------------------- 
set_time_limit(0); 
exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on'); 

$fd dio_open('COM1:', O_RDWR); 
if(!$fd) 
{ 
die("Error when open COM1"); 
} 

$ff dio_stat($fd);print_r($ff); 
echo "HQB232 SERVER is listenning on COM1\n"; 
/// read 
$len 2; 
$t=0;while (($t++)<1000)  
{ 
$data dio_read($fd, $len); 
if ($data) { 
if($data==chr(0).chr(1)){ 
echo "S_RECV:01\n"; 
echo "S_SEND:02\n"; 
dio_write($fd,chr(0).chr(2)); 
break; 
} 
} 
} 

/// read 
$len 2; 
$t=0;while (($t++)<1000)  
{ 
$len 2; 
$data dio_read($fd, $len); 
if($data==chr(0).chr(3)){ 
echo "S_RECV:03\n"; 
break; 
} 
elseif ($data) { 
$len intval($data); 
$data dio_read($fd, $len); 
if($data){ 
echo "S_RECV:($len)$data\n"; 
} 
} 
} 
dio_close($fd);









// File name   RS232_Client.php 
// Description RS232演示下位机程序 
// Requirement PHP 5.1.4 (cli) (http://www.php.net) 
// 
// Copyright(C), HonestQiao, 2006, All Rights Reserved. 
// 
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)  
// 
// 程序简介: 
// 本程序与RS232_Server构成一个完整的演示系统,展示了PHP在RS232串口通讯上的应用。 
// 程序之中实现了一个基础但是完整的RS232通讯协议(HQB232),通讯协议格式如下: 
// 协议内容: 
//             C->S 01 //请求通讯 
//             S->C 02 //响应通讯 
//             C->S LEN DATA //LEN表示数据(DATA)长度 DATA表示实际数据 
//             C->S 03 //结束通讯 
// 说明:S表示上位机 C表示下位机 
//       HQB232表示HonestQiao演示的基础(Base)RS232通讯协议,包含了协议的 
//   请求和响应,数据帧的结构。 
//       演示过程为通讯的请求和响应,十次数据帧的发送, 通讯的结束 
//       数据帧的结构为当前的序号,microtime(),随机字符串 
//         
//       欢迎探讨PHP在RS232串口通讯上的应用。 
// -------------------------------------------------------------------------- 
set_time_limit(0); 
exec('mode COM2: baud=115200 data=8 stop=1 parity=n xon=on'); 

$fd dio_open('COM2:', O_RDWR); 
if(!$fd) 
{ 
die("Error when open COM2"); 
} 

$ff dio_stat($fd);print_r($ff); 
echo "HQB232 CLIENT is start on COM2\n"; 
dio_write($fd,chr(0).chr(1));echo "C_SEND:01\n"; 
$len 2; 
$t=0;while(($t++)<1000) 
{ 
$data dio_read($fd, $len); 
if($data==chr(0).chr(2)){ 
echo "C_RECV:02\n"; 
break; 
} 
} 
$len 2; 
$t=0;while(($t++)<10) 
{ 
$sdata sprintf("d",$t) "=" microtime() (" randomkeys(rand(0,35)) ")"; 
$slen strlen($sdata); 
$stxlen sprintf("d",$slen); 
dio_write($fd,"$stxlen"); 
dio_write($fd,"$sdata");echo "C_SEND:($stxlen)$sdata\n"; 
//sleep(1); 
} 
dio_write($fd,chr(0).chr(3));echo "C_SEND:03\n"; 
dio_close($fd); 

function randomkeys($length) 
  { 
   $pattern "1234567890abcdefghijklmnopqrstuvwxyz"; 
   for($i=0;$i<$length;$i++) 
   { 
     $key .= $pattern{rand(0,35)}; 
   } 
   return $key; 
}
五、演示过程: 
上位机:开始->运行->CMD 
然后转到PHP5.1.4目录之下,执行: 
php -f RS232_Server.php 

下位机:开始->运行->CMD 
然后转到PHP5.1.4目录之下,执行: 
php -f RS232_Client.php 


实际结果如下:

F:\usr\local\php5>php -f e:\RS232_Server.php 
Array 
( 
    [device] => 3 
    [inode] => 0 
    [mode] => 8192 
    [nlink] => 1 
    [uid] => 0 
    [gid] => 0 
    [device_type] => 3 
    [size] => 0 
    [atime] => 0 
    [mtime] => 0 
    [ctime] => 0 
) 
HQB232 SERVER is listenning on COM1 
S_RECV:01 
S_SEND:02 
S_RECV:(53)001=0.19238200 1150031774 (krruv981gpf1pmi1fz4qz09e9) 
S_RECV:(42)002=0.19144800 1150031775 (jrhw41mphuy0ui) 
S_RECV:(40)003=0.19148500 1150031776 (lqq560p6v17r) 
S_RECV:(36)004=0.19148900 1150031777 (3ct02xmc) 
S_RECV:(28)005=0.19212700 1150031778 () 
S_RECV:(33)006=0.19162500 1150031779 (2ilqf) 
S_RECV:(34)007=0.19167800 1150031780 (vwmdfc) 
S_RECV:(62)008=0.19168700 1150031781 (idb0laix4a6ryxz5nb7u74iaza601it6sv) 
S_RECV:(56)009=0.19170100 1150031782 (r9ypgtvu4j7w1u141qx6im20ajy7) 
S_RECV:(53)010=0.19171000 1150031783 (wq5mp1sdfuet1tp0x3vk67n47) 
S_RECV:03 

F:\usr\local\php5>


F:\usr\local\php5>php -f e:\RS232_Client.php 
Array 
( 
    [device] => 3 
    [inode] => 0 
    [mode] => 8192 
    [nlink] => 1 
    [uid] => 0 
    [gid] => 0 
    [device_type] => 3 
    [size] => 0 
    [atime] => 0 
    [mtime] => 0 
    [ctime] => 0 
) 
HQB232 CLIENT is start on COM2 
C_SEND:01 
C_RECV:02 
C_SEND:(53)001=0.19238200 1150031774 (krruv981gpf1pmi1fz4qz09e9) 
C_SEND:(42)002=0.19144800 1150031775 (jrhw41mphuy0ui) 
C_SEND:(40)003=0.19148500 1150031776 (lqq560p6v17r) 
C_SEND:(36)004=0.19148900 1150031777 (3ct02xmc) 
C_SEND:(28)005=0.19212700 1150031778 () 
C_SEND:(33)006=0.19162500 1150031779 (2ilqf) 
C_SEND:(34)007=0.19167800 1150031780 (vwmdfc) 
C_SEND:(62)008=0.19168700 1150031781 (idb0laix4a6ryxz5nb7u74iaza601it6sv) 
C_SEND:(56)009=0.19170100 1150031782 (r9ypgtvu4j7w1u141qx6im20ajy7) 
C_SEND:(53)010=0.19171000 1150031783 (wq5mp1sdfuet1tp0x3vk67n47) 
C_SEND:03 

F:\usr\local\php5>


六:说明 
1. exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on'); 
    exec('mode COM2: baud=115200 data=8 stop=1 parity=n xon=on'); 

mode是CMD下面的命令,表示设置串口的参数,因为dio_tcsetattr() 未在Windows下面实现,所以需要使用CMD的mode命令来进行设置,具体用法,请看:help mode 

2. 通讯协议使用ASCII文本进行,没有使用HEX十六进制。因为是演示程序,所以协议非常简单,但是一个协议基本的内容都有了。 

3. 下位机程序的sleep(1),这个是通讯之中常见的情况,数据传输和上位机处理需要一定的时间。 

4. 演示的为RS232,以此类推,你也可以用到其他的场合。例如:简单修改,应用到HTTP通讯。 

5. 硬件环境的建立,PHP环境的建立,不做任何答疑。 

6. 欢迎探讨。 

7. 感谢mikespook的意见,附加,如果是*nix,则: 
'/dev/ttyS0'表示第一个COM端口,依此类推;端口的设置,应该在dio_open之后,使用: 
dio_tcsetattr($fd, array( 
  'baud' => 9600, 
  'bits' => 8, 
  'stop'  => 1, 
  'parity' => 0 
));

Shadowsocks客户端下载地址

各版本Shadowsocks客户端下载地址(Windows,Mac,Linux,Android/安卓,iOS/苹果)

官方客户端下载地址在:Shadowsocks Clients

不用再购买节点,自己搭建一台ss服务器:一键脚本搭建SS/SSR服务并开启BBR加速

Shadowsocks各版本官方下载地址

1. Windows客户端下载地址:https://github.com/shadowsocks/shadowsocks-windows/releases

Windows对Framework的版本要求比价高,我的是4.0.2的要求Framework4.6.2。如果是XP或者Framework比较低的,可以直接下载低版本的ss(windows 2.3.1下载地址:https://github.com/shadowsocks/shadowsocks-windows/releases?after=2.5.1

2. Mac客户端下载地址:https://github.com/shadowsocks/ShadowsocksX-NG/releases

3. Linux客户端下载地址:https://github.com/shadowsocks/shadowsocks-qt5/wiki/Installation

4. Android/安卓客户端下载地址:https://github.com/shadowsocks/shadowsocks-android/releases

5. iOS/苹果客户端直接在App Store里搜索shadowsock关键字(或者wingy关键字,FirstWingy可用 2018.03.25),软件经常被下架,我目前用的是Wingy & Shadowrocket~如果找不到,你也可以通过PP助手去下载Shadowrocket。(2018年6月18日更,目前App Store可用免费iOS软件:暂无。收费软件:SuperWingy,ShadowBroken。推荐免费下载iOS客户端方法:也可以电脑下载PP助手,手机连上电脑后会自动将PP助手同步至手机,不需要越狱,之后在手机上通过PP助手下载shadowrocket)

在CENTOS 7上搭建Shadowsocks图文教程

这里介绍的是使用Pip作为管理软件对shadowsocks进行管理,所以我们应该首先安装一下pip。

安装pip

pip的安装这里参考官网-Installation,即,输入curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py后回车,如下:

[root@ssserver ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1604k  100 1604k    0     0  11.1M      0 --:--:-- --:--:-- --:--:-- 11.2M

然后,输入python get-pip.py之后回车,如下:

[root@ssserver ~]# python get-pip.py
Collecting pip
  Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 11.3MB/s 
Collecting wheel
  Downloading https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl (41kB)
    100% |████████████████████████████████| 51kB 17.5MB/s 
Installing collected packages: pip, wheel
Successfully installed pip-18.0 wheel-0.31.1
[root@ssserver ~]# 

安装shadowsocks

输入pip install shadowsocks后回车,如下:

[root@ssserver ~]# pip install shadowsocks
Collecting shadowsocks
  Downloading https://files.pythonhosted.org/packages/02/1e/e3a5135255d06813aca6631da31768d44f63692480af3a1621818008eb4a/shadowsocks-2.8.2.tar.gz
Building wheels for collected packages: shadowsocks
  Running setup.py bdist_wheel for shadowsocks ... done
  Stored in directory: /root/.cache/pip/wheels/5e/8d/b6/3e2243a7e116984b2c3597c122c29abcfeac77daa260079e88
Successfully built shadowsocks
Installing collected packages: shadowsocks
Successfully installed shadowsocks-2.8.2

提示安装成功!

配置shadowsocks

输入编辑文件命令vi /etc/shadowsocks.json并回车,如下:

[root@ssserver ~]# vi /etc/shadowsocks.json

上述步骤是编辑一个新文件,按键盘i键后,粘贴下面内容:

{
    "server":"0.0.0.0",
    "server_port":50013,
    "local_port":1080,
    "password":"1234567890",
    "timeout":600,
    "method":"aes-256-cfb"
}

然后按键盘’Esc’键,再按shift+:键,再输入wq并回车。文件编辑结束。

上面的50013是你的服务器端口,1234567890是你进行连接的密码。

将shadowsocks加入系统服务

输入编辑文件命令vi /etc/systemd/system/shadowsocks.service并回车,如下:

[root@ssserver ~]# vi /etc/systemd/system/shadowsocks.service

按键盘i键后,粘贴下面内容:

[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

然后按键盘’Esc’键,再按shift+:键,再输入wq并回车。文件编辑结束。

启动shadowsocks服务并设置开机自启

# 设置开机自启命令
systemctl enable shadowsocks

# 启动命令
systemctl start shadowsocks

#查看状态命令
systemctl status shadowsocks

依次执行上面的三条命令,如下:

[root@ssserver ~]# vi /etc/shadowsocks.json
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# vi /etc/systemd/system/shadowsocks.service
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# 
[root@ssserver ~]# systemctl enable shadowsocks
Created symlink from /etc/systemd/system/multi-user.target.wants/shadowsocks.service to /etc/systemd/system/shadowsocks.service.
[root@ssserver ~]# systemctl start shadowsocks
[root@ssserver ~]# systemctl status shadowsocks
 shadowsocks.service - Shadowsocks
   Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-08-28 13:27:53 UTC; 7s ago
 Main PID: 1259 (ssserver)
   CGroup: /system.slice/shadowsocks.service
           └─1259 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json

Aug 28 13:27:53 ssserver systemd[1]: Started Shadowsocks.
Aug 28 13:27:53 ssserver systemd[1]: Starting Shadowsocks...
Aug 28 13:27:54 ssserver ssserver[1259]: INFO: loading config from /etc/shadowsocks.json
Aug 28 13:27:54 ssserver ssserver[1259]: 2018-08-28 13:27:54 INFO     loading libcrypto from libcrypto.so.10
Aug 28 13:27:54 ssserver ssserver[1259]: 2018-08-28 13:27:54 INFO     starting server at 0.0.0.0:50013

CentOS开放端口的方法

Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld。更多关于CentOs防火墙的最新内容,请参考Redhat官网[4.5 使用防火墙]。

一、iptables(centos 6及以前)

1.打开/关闭/重启防火墙

开启防火墙(重启后永久生效):chkconfig iptables on

关闭防火墙(重启后永久生效):chkconfig iptables off

开启防火墙(即时生效,重启后失效):service iptables start

关闭防火墙(即时生效,重启后失效):service iptables stop

重启防火墙:service iptables restartd

2.查看打开的端口

/etc/init.d/iptables status

3.打开某个端口(以8080为例)

(1)开启端口

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT 

(2)保存并重启防火墙

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

4.打开49152~65534之间的端口

iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT  

同样,这里需要对设置进行保存,并重启防火墙。

5.其他打开方式

我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下

vi /etc/sysconfig/iptables

然后在文件中增加一行

-A RH-Firewall-1-INPUT -m state state NEW -m tcp -p tcp dport 8080 -j ACCEPT

参数说明:

  • –A 参数就看成是添加一条规则
  • –p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
  • –dport 就是目标端口,当数据从外部进入服务器为目标端口
  • –sport 数据从服务器出去,则为数据源端口使用
  • –j 就是指定是 ACCEPT -接收 或者 DROP 不接收

二、firewalld(centos7)

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld 

2.禁用防火墙

systemctl stop firewalld

3.设置开机启动

systemctl enable firewalld

4.停止并禁用开机启动

sytemctl disable firewalld

5.重启防火墙

firewall-cmd --reload

6.查看状态

systemctl status firewalld或者 firewall-cmd --state

7.查看版本

firewall-cmd --version

8.查看帮助

firewall-cmd --help

9.查看区域信息

firewall-cmd --get-active-zones

10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0

11.拒绝所有包

firewall-cmd --panic-on

12.取消拒绝状态

firewall-cmd --panic-off

13.查看是否拒绝

firewall-cmd --query-panic

14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)

16.更新防火墙规则

firewall-cmd --reloadfirewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)

17.查看指定区域所有打开的端口

firewall-cmd --zone=public --list-ports

18.在指定区域打开端口(记得重启防火墙)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

一键脚本搭建SS/SSR服务并开启BBR加速

什么是shadowsocks

shadowsocks可以指一种SOCKS5的加密传输协议,也可以指基于这种加密协议的各种数据传输包。

shadowsocks原理?shadowsocks正常工作需要服务器端和客户端两端合作实现,首先,客户端(本机)通过ss(shadowsocks)对正常的访问请求进行SOCK5加密,将加密后的访问请求传输给ss服务器端,服务器端接收到客户端的加密请求后,解密得到原始的访问请求,根据请求内容访问指定的网,得到网站的返回结果后,再利用SOCKS5加密并返回给客户端,客户端通过ss解密后得到正常的访问结果,于是就可以实现你直接访问该网站的“假象”。

为什么选择shadowsocks?不限终端(安卓,苹果,Windows,Mac都可用),流量便宜(服务器500G只要15元),方便(一键脚本,不需要专业知识)。

为什么要自己搭建ss/ssr?你也许会觉得买ss服务也很方便,但是你得要考虑以下几个问题。首先,买的ss服务,限制很多,终端可能只能同时在线2个,每个月就一点点流量可能价格却不便宜,有时候还被别人做手脚,流量跑的贼快;其次,别人收钱跑路怎么办?很多这种情况的;更重要的是,如第一个问题中描述的shadowsocks原理,如果有心人做了一点手脚,是可以得到你的访问记录的;而自己搭建ss/ssr服务,一键脚本也就10来分钟就可以搞定。

一键脚本搭建ss/ssr支持系统版本

脚本系统支持:CentOS 6+,Debian 7+,Ubuntu 12+

:这个脚本支持的系统版本是指ss服务器的版本(都没看过也没关系,不影响搭建),你本机是Windows、Mac、Linux,或者你想用手机端搭建ss/ssr服务器,安卓和苹果,都是可以的。

一键搭建SS/搭建SSR服务

注意,shadowsocks/shadowsocksR这两个只需要搭建一个就可以了!!!!我用的是SS。

1.下载一键搭建SS脚本文件(只需要执行一次,卸载SS后也不需要重新下载)

git clone https://github.com/flyzy2005/ss-fly

2.运行搭建ss脚本代码

ss-fly/ss-fly.sh -i flyzy2005.com 1024

其中flyzy2005.com换成你要设置的shadowsocks的密码即可(这个flyzy2005.com就是你ss的密码了,是需要填在客户端的密码那一栏的),密码随便设置,最好只包含字母+数字,一些特殊字符可能会导致冲突。而第二个参数1024是端口号,也可以不加,不加默认是1024~(举个例子,脚本命令可以是ss-fly/ss-fly.sh -i qwerasd,也可以是ss-fly/ss-fly.sh -i qwerasd 8585,后者指定了服务器端口为8585,前者则是默认的端口号1024,两个命令设置的ss密码都是qwerasd)

注:如果需要改密码或者改端口,只需要重新再执行一次搭建ss脚本代码就可以了,或者修改/etc/shadowsocks.json这个配置文件。

3.相关ss操作

修改配置文件:vim /etc/shadowsocks.json
停止ss服务:ssserver -c /etc/shadowsocks.json -d stop
启动ss服务:ssserver -c /etc/shadowsocks.json -d start
重启ss服务:ssserver -c /etc/shadowsocks.json -d restart

4.卸载ss服务

ss-fly/ss-fly.sh -uninstall

一键搭建shadowsocksR

再次提醒,如果安装了SS,就不需要再安装SSR了,如果要改装SSR,请按照上一部分内容的教程先卸载SS!!!

1.下载一键搭建ssr脚本(只需要执行一次,卸载ssr后也不需要重新执行)

git clone https://github.com/flyzy2005/ss-fly,此步骤与一键搭建ss一致,出错可以参考上一部分内容。

2.运行搭建ssr脚本代码

ss-fly/ss-fly.sh -ssr

3.输入对应的参数

执行完上述的脚本代码后,会进入到输入参数的界面,包括服务器端口,密码,加密方式,协议,混淆。可以直接输入回车选择默认值,也可以输入相应的值选择对应的选项

全部选择结束后,会看到如下界面,就说明搭建ssr成功了:

Congratulations, ShadowsocksR server install completed!
Your Server IP        :你的服务器ip
Your Server Port      :你的端口
Your Password         :你的密码
Your Protocol         :你的协议
Your obfs             :你的混淆
Your Encryption Method:your_encryption_method

Welcome to visit:https://shadowsocks.be/9.html
Enjoy it!

4.相关操作ssr命令

启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status

配置文件路径:/etc/shadowsocks.json
日志文件路径:/var/log/shadowsocks.log
代码安装目录:/usr/local/shadowsocks

5.卸载ssr服务

./shadowsocksR.sh uninstall

一键开启BBR加速

BBR是Google开源的一套内核加速算法,可以让你搭建的shadowsocks/shadowsocksR速度上一个台阶,本一键搭建ss/ssr脚本支持一键升级最新版本的内核并开启BBR加速。

BBR支持4.9以上的,如果低于这个版本则会自动下载最新内容版本的内核后开启BBR加速并重启,如果高于4.9以上则自动开启BBR加速,执行如下脚本命令即可自动开启BBR加速:

ss-fly/ss-fly.sh -bbr

装完后需要重启系统,输入y即可立即重启,或者之后输入reboot命令重启。

判断BBR加速有没有开启成功。输入以下命令:

sysctl net.ipv4.tcp_available_congestion_control

如果返回值为:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

后面有bbr,则说明已经开启成功了。

netsh命令备份/还原网络配置

如果用户使用笔记本电脑,并经常往来于家庭和公司之间,那么备份网络配置即可避免在网络配置改变之后重新配置。在windows98系统下可以使用”ipconfig /batch bak-netcfg”命令备份网络配置。在windows2000/XP系统下,可以使用netsh命令。
要把主机上的所有网络相关的配置信息备份到C盘test.txt文件,可以运行命令:
netsh dump>c:\test.txt
要把本机中远程访问连接和TCP/IP配置接口参数备份到C盘下的test.txt,可以运行命令:netsh interface dump>test.txt。
示例如下:
C:\>netsh dump>c:\test.txt,然后我们就可以在c盘找到test.txt文件,改文件的内容如下:
#========================
# 接口配置
#========================
pushd interface

popd
# 接口配置结束

# ———————————-
# IPHTTPS 配置
# ———————————-
pushd interface httpstunnel

reset

popd
# IPHTTPS 配置的结尾

#========================
# IPv4 配置
#========================
pushd interface ipv4

reset
set global defaultcurhoplimit=64 icmpredirects=enabled taskoffload=enabled

popd
# IPv4 配置结束

# ———————————-
# IPv6 配置
# ———————————-
pushd interface ipv6

reset

popd
# IPv6 配置的结尾

# ———————————-
# ISATAP 配置
# ———————————-
pushd interface isatap

popd
# ISATAP 配置结束

# ———————————-
# 6to4 配置
# ———————————-
pushd interface 6to4

reset

popd
# 6to4 配置结束

# ———————————-
# ISATAP 配置
# ———————————-
pushd interface isatap

popd
# ISATAP 配置结束

#========================
# 端口代理配置
#========================
pushd interface portproxy

reset

popd

# 端口代理配置结束

# ———————————-
# TCP 配置
# ———————————-
pushd interface tcp

reset

全局设置 rss=enabled chimney=automatic autotuninglevel=normal congestionprovider=none ecncapability=disabled timestamps=disabled netdma=enabled dca=enabled

popd
# TCP 配置结束

# ———————————-
# Teredo 配置
# ———————————-
pushd interface teredo
set state type=client servername=teredo.ipv6.microsoft.com. servervirtualip=0.0.0.0

popd
# Teredo 配置结束

# ———————————-
# 6to4 配置
# ———————————-
pushd interface 6to4

reset

popd
# 6to4 配置结束

# ————————————
# 桥配置 (不支持)
# ————————————

# ————————————
# 桥配置结束
# ————————————

# —————————————-
# 有线局域网配置
# —————————————-
pushd lan

popd

# 有线局域网配置结尾。

不支持移动宽带配置转储

# ==========================================================
# 健康注册机构配置
# ==========================================================
pushd nap hra

popd
# NAP HRA 配置的结尾

# —————————————–
# 远程访问配置
# —————————————–
pushd ras

set authmode mode = standard
delete authtype type = PAP
delete authtype type = MD5CHAP
delete authtype type = MSCHAPv2
delete authtype type = EAP
delete authtype type = CERT
add authtype type = MSCHAPv2
delete link type = SWC
delete link type = LCP
add link type = SWC
add link type = LCP
delete multilink type = MULTI
add multilink type = MULTI
set conf confstate = disabled
set type ipv4rtrtype = lananddd ipv6rtrtype = none rastype = ipv4
set wanports device = “WAN Miniport (IKEv2)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (L2TP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (PPPOE)” ddoutonly = disabled
set wanports device = “WAN Miniport (PPTP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2
set wanports device = “WAN Miniport (SSTP)” rasinonly = disabled ddinout = disabled ddoutonly = disabled maxports = 2

set user name = Administrator dialin = policy cbpolicy = none
set user name = Guest dialin = policy cbpolicy = none

set ikev2connection idletimeout = 5 nwoutagetime = 30
set ikev2saexpiry saexpirytime = 480 sadatasizelimit = 100

popd

# 远程访问配置结束。

# —————————————–
# 远程访问诊断配置
# —————————————–
pushd ras diagnostics

set rastracing component = * state = disabled

set modemtracing state = disabled

set cmtracing state = disabled

set securityeventlog state = disabled

set loglevel events = warn

popd

# 远程访问诊断配置结束

# —————————————–
# 远程访问 IP 配置
# —————————————–
pushd ras ip

delete pool

set negotiation mode = allow
set access mode = all
set addrreq mode = deny
set broadcastnameresolution mode = enabled
set addrassign method = auto
set preferredadapter

popd

# 远程访问 IP 配置结束。

# —————————————–
# 远程访问 IPv6 配置
# —————————————–
pushd ras ipv6

set negotiation mode = deny
set access mode = all
set routeradvertise mode = enabled

popd

# 远程访问 IPv6 配置结束。

# —————————————–
# 远程访问 AAAA 配置
# —————————————–
pushd ras aaaa

popd

# 远程访问 AAAA 配置结束。

# —————————————–
# WinHTTP 代理服务器配置
# —————————————–
pushd winhttp

reset proxy

popd

# WinHTTP 代理服务器配置末尾

以后在进行网络设置调整时,如果发生了操作错误,或者服务器网络出现故障,可以利用备份快速恢复网络设置:
netsh -f c:\test.txt或netsh exec c:\test.txt

linux服务器校对时间方法

Linux中有个ntp包可以自动校准时间,并且非常好用。

Debian系统安装NTP校时包:
1    apt-get install ntpdate

CentOS系统安装NTP校时包:
1    yum install ntp

校时命令:
1    ntpdate cn.pool.ntp.org

如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:
1    00 12 * * * /sbin/ntpdate cn.pool.ntp.org

* cn.pool.ntp.org是ntp网络授时组织的中国授时源

方法二

快速校对Linux服务器时间至北京时间

服务器采用ntp更新时间,经常牵扯到UTC是否开启的问题,开启了时间就会快8个小时
前段时间朋友给我了下面的命令,一条命令解决之前的所有问题。

rdate -t 60 -s stdtime.gov.hk

使用rdate将stdtime.gov.hk服务器的时间抓取回来,然后写入硬件

hwclock -w

下面是rdate的命令使用方法介绍

功能说明:显示其他主机的日期与时间。
语  法:rdate [-ps][主机名称或IP地址…]
补充说明:执行rdate指令,向其他主机询问系统时间并显示出来。
参  数:
-p  显示远端主机的日期与时间。
-s  把从远端主机收到的日期和时间,回存到本地主机的系统时间。