首页
关于
联系我
Search
1
小米路由器4A千兆版(R4A) 关闭ipv6 防火墙
33 阅读
2
小米路由器4A千兆版(R4A)开启ssh
28 阅读
3
win11不能访问共享0x800704f8
24 阅读
4
华硕主板vga亮白灯
14 阅读
5
racknerd配置IPV6
11 阅读
未分类
各种资料
我的分析
技术活
游记
真相
笔记
经历
财务知识
资源类
软文
统计学
计划本
事件记录
反思
登录
Search
标签搜索
问题
linux
vps
debian
测试
其他
apt-get
库
wordpress
cdn
code
设置
信息
IP
nginx
应用
推荐
搬家
操作
bae
Typecho
累计撰写
488
篇文章
累计收到
60
条评论
首页
栏目
未分类
各种资料
我的分析
技术活
游记
真相
笔记
经历
财务知识
资源类
软文
统计学
计划本
事件记录
反思
页面
关于
联系我
搜索到
118
篇与
的结果
2022-01-11
老惠普打印机驱动安装
最近发现一台惠普打印机m1136 ,在win10的驱动下无法安装打印驱动,简单研究了下,原来是打印机太老造成的,win10识别不出来。安装的办法就是这样:第一步:先下载对应的驱动,官网上找找。解压后放好,记住位置第二步:看图操作我是win11,截图演示以下:最后要选择一下对应的型号比如这个m1136.最后确定完成,ok。成功
2022年01月11日
1 阅读
0 评论
0 点赞
2021-10-06
格兰仕G90F25CN3L-C2 维修
最近家里的微波炉不工作了,就是开机不加热。估计是保险的问题。打开后,发现就是保险管爆掉了。然后就是淘宝买保险了。需要注意的是原厂自带的型号是5kv 0.8a 但是规格5*30 的,这个型号的是淘宝买不到。还是买成套的就是带盒子的就可以了。
2021年10月06日
2 阅读
0 评论
0 点赞
2021-09-12
中兴F677v2 TTL
最近被换了个中兴ZXHN-F677V2,然后没有超密,然后就琢磨着ttl 进入看看。两个螺丝,其中一颗在mac 标签后边,用吹风机吹掉就可以看见了。然后主板上 x10 就是ttl 接线位置。最右边是接地,然后是tx,rx,具体的有点记不清了,不行可以调换下tx,rx 试试 。需要说明的是tx 对应串口的rx rx对应串口tx。然后就是ch340 ,弄好驱动,打开putty ,串口模式,putty 设置为 115200 .然后加电,没问题应该就可以了。等信息走完,回车,用户明root ,密码 root"sendcmd 1 DB set DevAuthInfo 0 Pass 123456"(此条命令将管理员密码设置为123456)"sendcmd 1 DB save"(保存设置)"reboot"(重启)ok,现在超管密码就是 123456 了 。 需要提醒的是,弄的时候把光纤拔了。浏览器登入http://192.168.1.1/CU.html选择管理员账户,输入密码:123456,即可进入管理员设置。建议在光猫USB接口连接U盘后,从管理员设置中备份配置文件到U盘。大概就这样了。
2021年09月12日
4 阅读
0 评论
0 点赞
2021-09-07
m7400 pro 清零
1:加电,打开前盖2:长按“确认键” 提示更换墨盒3:按“开始”键一下4:按“+”键至 115:按“确认”键一下6:关闭前盖
2021年09月07日
1 阅读
0 评论
0 点赞
2021-08-07
甲骨文的机器怎么开端口
经测试,在面板上打开端口似乎还不行,因为甲骨文的系统是定制的。所有实例开后,第一件事是去执行下面代码sudo iptables -P INPUT ACCEPTsudo iptables -P FORWARD ACCEPTsudo iptables -P OUTPUT ACCEPTsudo iptables -F然后在面板上的防火墙哪里打开端口
2021年08月07日
1 阅读
0 评论
0 点赞
2021-04-30
雷电模拟器不显示指针位置
解决方法是是在雷电安装目录下的vms 目录下放置一个 名字叫 debug 的文本文件 。不会的看图
2021年04月30日
2 阅读
1 评论
0 点赞
2021-04-26
autojs 学习笔记
1、加classname().text() 更容易获取到节点(存疑)2、注意使用findonce() 因为你不知道界面上到底有多少个相同的规格的节点3、获取文本信息,使用text()函数,该函数可以获取到节点的text属性。
2021年04月26日
2 阅读
0 评论
0 点赞
2021-04-14
打印图片不完整
最近发现win10 的系统下,打印图片不完整,以前一直都正常,猜想问题可能是更新惹的祸。请教了度娘后,解决方案如下:解决方案:卸载KB5000802+KB5000808+KB5000809+KB5000822。(因系统版本不同,问题补丁号也不相同,存在打印蓝屏的话,卸载上述其中1个补丁即可处理)补丁卸载方案参考如下1、打开360安全卫士,找到选择系统修复--补丁管理。2、然后再打开的窗口,可以根据安装时间排序, 找到本次的问题补丁,然后点击卸载即可(本地已经卸载)3、出现提示点击 是 即可。4、最后,我们需要做的就是重启一下系统,就OK了。
2021年04月14日
1 阅读
0 评论
0 点赞
2021-02-12
iptables 端口转发
网上找的其他的都不太核实,自己弄了个,可以用。`echo 1 > /proc/sys/net/ipv4/ip_forwardsysctl -piptables -t nat -Fiptables -t nat -A PREROUTING -p tcp -m tcp --dport 10228 -j DNAT --to-destination 5.5.5.1:10228iptables -t nat -A POSTROUTING -d 5.5.5.1 -p tcp -m tcp --dport 10228 -j SNAT --to-source 172.16.0.73iptables-save`
2021年02月12日
2 阅读
0 评论
0 点赞
2021-02-12
iptables
转载一下,写的真好iptables 应用初探(nat+三层访问控制)iptables 是一个Linux 下优秀的nat +防火墙工具,我使用该工具以较低配置的传统pc 配置了一个灵活强劲的防火墙+nat系统, 小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables 同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅。首先要说明的是,iptables 操作的是2.4以上内核的netfilter. 所以需要linux 的内核在2.4以上。其功能与安全性远远比其前辈 ipfwadm,ipchains 强大,iptables 大致是工作在OSI 七层的二、三、四层,其前辈ipchains 不能单独实现对tcp/udp port以及对mac 地址的的定义与操作,所以我想ipchains 应该是仅仅工作在三层上的。我们先简单介绍一下netfilter 的大致工作流程,也就是一个数据包(或者叫分组、packet, 我个人习惯叫包)在到达linux 的网络接口的时候(网卡)如何处理这个包,然后再介绍一下如何用iptables 改变或者说控制对这个数据包进行操作。netfilter 内部分为三个表,分别是filter,nat,m angle ,每个表又有不同的操作链(Chains )。在filter (过滤)表中,也就是他的防火墙功能的这个表,定义了三个 Chain 。分别是INPUT,FORWARD,OUTPUT 。也就是对包的入、转发、出进行定义的三个过滤链。对于这个filter 表的操作和控制也是我们实现防火墙功能的一个重要手段;在nat(Network Address Translation、网络地址翻译) 表中,也就是我们用以实现地址转换和端口转发功能的这个表,定义了PREROUTING, POSTROUTING,OUTPUT 三个链, 下面我们会对这三个链作详细的说明;而netfilter 的mangle 表则是一个自定义表,里面包括上面的filter 以及nat 表中的各种chains, 它可以让我们进行一些自定义的操作,同时这个mangle 表中的chains 在netfilter 对包的处理流程中处在一个比较优先的位置,下面有一张图清晰的描绘了netfilter 对包的处理流程(该图摘自网上,不知作者是谁,在此深表敬意!),一般情况下,我们用不到这个mangle 表,在这里我们就不做介绍了。iptable大家可以看到,PREROUTING 这个chain 在最前面,当一个包来到linux 的网络接口的时候先过mangle 的PREROUTING, 然后是 nat 的PREROUTING, 从这个chain 的名字我们可以看出,这个chain 是在路由之前(pre-routing)要过的。为什么要在路由之前过呢?大家可以看到这个图上,上面有一个菱形的部分叫ROUTING, 这个ROUTING 部分就是Linux 的route box,也就是路由系统,它同样有很高深的功能,可以实现策略路由等等一些高级特性,此处我们不做详细解释。单说这个PREROUTING 链,因为在这个链里面我们对包的操作是DNAT, 也就是改变目的地址和(或端口),通常用在端口转发,或者nat 到内网的DMZ 区,也就是说当一个包过来的时候我们要改变它的目的地址,大家可以想想, 如果一个包在改变目的地址之前就被扔进了route box,让系统选好路之后再改变目的地址,那么选路就可能是错的,或者说毫无意义了,所以,PREROUTING 这个Chain 一定要在进Routing 之前做。比如说,我们的公网ip 是60.1.1.1/24,位于linux 中的eth0, 内网ip 是10.1.1.1/24位于linux 中的eth1, 我们的内网有一台web 服务器,地址是10.1.1.2/24,我们怎么样能让internet 用户通过这个公网ip 访问我们内部的这个web 服务器呢?我们就可以在这个PREROUTING 链上面定义一个规则,把访问60.1.1.1:80的用户的目的地址改变一下,改变为10.1.1.2:80,这样就实现了internet 用户对内网服务器的访问了,当然了,这个端口是比较灵活的,我们可以定义任何一个端口的转发,不一定是80-->80,具体的命令我们在下面的例子中介绍,这里我们只谈流程与概念上的实现方法。好了,我们接着往下走,这个包已经过了两个PREROUTING 链了,这个时候,出现了一个分支转折的地方,也就是图中下方的那个菱形(FORWARD ), 转发!这里有一个对目的地址的判断(这里同样说明了PREROUTING 一定要在最先,不仅要在route box之前,甚至是这个对目的地址的判断之前,因为我们可能做一个去某某某ip 的地方转到自己的ip 的规则,所以PREROUTING 是最先处理这个包的 Chain )!如果包的目的地是本机ip, 那么包向上走,走入INPUT 链处理,然后进入LOCAL PROCESS,如果非本地,那么就进入FORWARD 链进行过滤,我们在这里就不介绍INPUT,OUTPUT 的处理了,因为那主要是对于本机安全的一种处理,我们这里主要说对转发的过滤和nat 的实现。这里的FORWARD 我简单说一下,当linux 收到了一个目的ip 地址不是本地的包,Linux 会把这个包丢弃,因为默认情况下,Linux 的三层包转发功能是关闭的,如果要让我们的linux 实现转发,则需要打开这个转发功能,可以改变它的一个系统参数,使用sysctl net.ipv4.ip_forward=1或者echo "1" > /proc/sys/net/ipv4/ip_forward命令打开转发功能。好了,在这里我们让linux 允许转发,这个包的目的地址也不是本机,那么它将接着走入FORWARD 链,在FORWARD 链里面,我们就可以定义详细的规则,也就是是否允许他通过,或者对这个包的方向流程进行一些改变,这也是我们实现访问控制的地方,这里同样也是Mangle_FORWARD然后filter_FORWARD,我们操作任何一个链都会影响到这个包的命运,在下面的介绍中,我们就忽略掉mangle 表,我们基本用不到操作它,所以我们假设它是透明的。假设这个包被我们的规则放过去了,也就是ACCEPT 了,它将进入POST ROUTING 部分,注意!这里我注意到一个细节问题,也就是上面的图中数据包过了FORWARD 链之后直接进入了POST ROUIT NG 链,我觉得这中间缺少一个环节,也就是route box, 对于转发的包来说,linux 同样需要在选路(路由)之后才能将它送出,这个图却没有标明这一点,我认为它是在过了route box之后才进入的POSTROUITNG, 当然了,这对于我们讨论iptables 的过滤转发来说不是很重要,只是我觉得流程上有这个问题,还是要说明一下。同样的,我们在这里从名字就可以看出,这个POSTROUTING 链应该是路由之后的一个链,也就是这个包要送出这台Linux 的最后一个环节了,这也是极其重要的一个环节!!这个时候linux 已经完成(has done..^_^)了对这个包的路由(选路工作),已经找到了合适的接口送出这个包了,在这个链里面我们要进行重要的操作,就是被Linux 称为 SNAT 的一个动作,修改源ip 地址!为什么修改源ip 地址?很多情况需要修改源地址阿,最常见的就是我们内网多台机器需要共享一个或几个公网ip 访问 internet, 因为我们的内网地址是私有的,假如就让linux 给路由出去,源地址也不变,这个包应该能访问到目的地,但是却回不来,因为 internet 上的N 多个路由节点不会转发私有地址的数据包,也就是说,不用合法ip, 我们的数据包有去无回。有人会说:“既然是这样,我就不用私有 ip 了,我自己分配自己合法的地址不行吗?那样包就会回来了吧?”答案是否定的,ip地址是ICANN 来分配的,你的数据包或许能发到目的地,但是回来的时候人家可不会转到你那里,internet 上的路由器中的路由信息会把这个返回包送到那个合法的获得ip 的地方去,你同样收不到, 而你这种行为有可能被定义为一种ip 欺骗,很多设备会把这样的包在接入端就给滤掉了,可能都到不了你要访问的那个服务器,呵呵。那么Linux 如何做SNAT 呢?比如一个内网的10.1.1.11的pc 访问202.2.2.2的一个web 服务器,linux 的内网接口10.1.1.1在收到这个包之后把原来的PC 的 ip10.1.1.11改变为60.1.1.1的合法地址然后送出,同时在自己的ip_conntrack表里面做一个记录, 记住是内网的哪一个ip 的哪个端口访问的这个web 服务器,自己把它的源地址改成多少了,端口改成多少了,以便这个web 服务器返回数据包的时候linux 将它准确的送回给发送请求的这个pc.大体的数据转发流程我们说完了, 我们看看iptables 使用什么样的参数来完成这些操作。在描述这些具体的操作之前,我还要说几个我对iptables 的概念的理解(未必完全正确),这将有助于大家理解这些规则,以实现更精确的控制。上文中我们提到过,对包的控制是由我们在不同的Chain(链) 上面添加不同的规则来实现的,比如我们对过滤表(filter table)添加规则来执行对包的操控。那么既然叫链,一定就是一条或者多条规则组成的了,这时就有一个问题了,如果多个规则对同一种包进行了定义,会发生什么事情呢?在Chain 中,所有的规则都是从上向下来执行的,也就是说,如果匹配了第一行,那么就按照第一行的规则执行,一行一行的往下找,直到找到符合这个类型的包的规则为止。如果找了一遍没有找到符合这个包的规则怎么办呢?itpables 里面有一个概念,就是Policy, 也就是策略。一说这个东西大家可能就会觉得比较麻烦,什么策略阿,我对于它的理解就是所谓这个策略就是chain 中的最后一条规则,也就是说如果找了一遍找不到符合处理这个包的规则,就按照policy 来办。这样理解起来就容易多了。iptables 使用-P 来设置Chain 的策略。好了,我们言归正传,来说说iptables 到底怎样实现对包的控制先介绍一下iptables 如何操作链:对链的操作就那么几种,-I(插入) -A(追加) -R(替换) -D(删除) -L (列表显示)这里要说明的就是-I 将会把规则放在第一行,-A 将会放在最后一行。比如我们要添加一个规则到filter 表的FORWARD 链iptables -t filter -A FORWARD -s 10.1.1.11 -d 202.1.1.1 -j ACCEPT上面的命令意思为:追加一个规则至filter 表中的FORWARD 链尾,允许(-j ACCEPT)源地址为10.1.1.11目的地址为202.1.1.1的数据包通过。其中-t 后面跟的是表名,在-A 后面跟Chain 名,后面的小写的 -s 为源地址,-d 为目的地址,-j 为处理方向。在iptables 中,默认的表名就是filter ,所以这里可以省略-t filter直接写成:iptables -A FORWARD -s 10.1.1.11 -d 202.1.1.1 -j ACCEPTiptables 中的匹配参数:我们在这里就介绍几种常用的参数,详细地用法可以man iptables看它的联机文档,你会有意外的收获。-s 匹配源地址-d 匹配目的地址-p 协议匹配-i 入接口匹配-o 出接口匹配--sport ,--dport 源和目的端口匹配-j 跳转, 也就是包的方向其中还有一个! 参数,使用! 就是取反的意思。下面我们简单举几个例子介绍一下。-s 这个参数呢就是指定源地址的,如果使用这个参数也就是告诉netfilter ,对于符合这样一个源地址的包怎么去处理,可以指定某一个单播ip 地址,也可以指定一个网络,如果单个的ip 地址其实隐含了一个32位的子网掩码,比如-s 10.1.1.11 其实就是-s 10.1.1.11/32 同样我们可以指定不同的掩码用以实现源网络地址的规则,比如一个C 类地址我们可以用-s 10.1.1.0/24来指定。 -d 参数与-s 格式一样。-i 参数是指定入接口的网络接口,比如我仅仅允许从eth3接口过来的包通过FORWARD 链,就可以这样指定iptables -A FORWARD -i eth3 -j ACCEPT-o 是出接口, 与上同.我们下面用一些简单的实例来step by step看看iptables 的具体配置方法。实例一:简单的nat 路由器环境介绍:linux 2.4 +2个网络接口Lan 口:10.1.1.254/24 eth0Wan 口:60.1.1.1/24 eth1目的:实现内网中的节点(10.1.1.0/24)可控的访问internet 。首先将Lan 的节点pc 的网关指向10.1.1.254确定你的linux 的ip 配置无误,可以正确的ping 通内外的地址。同时用route 命令查看linux 的本地路由表,确认指定了可用的ISP 提供的默认网关。使用sysctl net.ipv4.ip_forward=1打开linux 的转发功能。iptables -P FORWARD DROP将FORWARD 链的策略设置为DROP ,这样做的目的是做到对内网ip 的控制,你允许哪一个访问internet 就可以增加一个规则,不在规则中的ip 将无法访问internet.iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT这条规则规定允许任何地址到任何地址的确认包和关联包通过。一定要加这一条,否则你只允许lan IP 访问没有用,至于为什么,下面我们再详细说。iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -j SNAT --to 60.1.1.1这条规则做了一个SNAT ,也就是源地址转换,将来自10.1.1.0/24的地址转换为60.1.1.1有这几条规则,一个简单的nat 路由器就实现了。这时你可以将允许访问的ip 添加至FORWARD 链,他们就能访问internet 了。比如我想让10.1.1.9这个地址访问internet, 那么你就加如下的命令就可以了。iptables -A FORWARD -s 10.1.1.9 -j ACCEPT也可以精确控制他的访问地址, 比如我就允许10.1.1.99访问3.3.3.3这个ipiptables -A FORWARD -s 10.1.1.99 -d 3.3.3.3 -j ACCEPT或者只允许他们访问80端口。iptables -A FORWARD -s 10.1.1.0/24 -p tcp --dport http -j ACCEPT更多的控制可以自己灵活去做, 或者查阅iptables 的联机文档。实例二:端口转发环境介绍:linux 2.4 +2个网络接口Lan 口:10.1.1.254/24 eth0Lan 内web server: 10.1.1.1:80Lan 内ftp server: 10.1.1.2:21Wan 口:60.1.1.1/24 eth1目的:对内部server 进行端口转发实现internet 用户访问内网服务器同样确认你的linux 的各项配置正常,能够访问内外网。iptables -P FORWARD DROPiptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT也需要加入确认包和关联包的允许通过如果你要把访问60.1.1.1:80的数据包转发到Lan 内web server,用下面的命令iptables -t nat -A PREROUTING -d 60.1.1.1 -p tcp --dport 80 -j DNAT --to 10.1.1.1:80 ftp 服务也同样,命令如下:iptables -t nat -A PREROUTING -d 60.1.1.1 -p tcp --dport 21 -j DNAT --to 10.1.1.2:21好了,命令完成了,端口转发也做完了,本例能不能转发呢?不能,为什么呢?我下面详细分析一下。对于iptables 好像往外访问的配置比较容易,而对内的转发似乎就有一些问题了,在一开始的时候我就先说了一些关于netfilter 的流程问题,那么我就简单说说做了这些配置之后为什么有可能还不行呢?能引起这个配置失败的原因有很多,我们一个个的来说:第一,本例中,我们的FORWARD 策略是DROP, 那么也就是说,没有符合规则的包将被丢弃,不管内到外还是外到内,我们在这里依然不讨论那个确认包和关联包的问题,我们不用考虑他的问题,下面我会详细说一下这个东西,那么如何让本例可以成功呢?加入下面的规则。iptables -A FORWARD -d 10.1.1.1 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -d 10.1.1.2 -p tcp --dport 21 -j ACCEPT有没有觉得有一些晕?为什么目的地址是10.xxx 而不是60.xxx 人家internet 用户不是访问的60.xxx 吗?呵呵,回到上面看看那个图吧, FORWARD 链在什么位置上,它是在PREROUTING 之后,也就是说当这个包到达FORWARD 链的时候,目的地址已经变成10.xxx 了,假如 internet 用户的请求是这样202.1.1.1:1333-->60.1.1.1:80,在经过了我们的PREROUTING 链之后将变成 202.1.1.1:1333-->10.1.1.1:80,这个时候如果你设置一个目的地址为60.xxx 的规则有用吗?呵呵,这是问题一。这个时候应该可以完成端口转发的访问了,但是有一些时候还是不行?为什么?看问题二。第二,内网server 的ip 配置问题,这里我们以web server为例说明一下(ftp 情况有一些特殊,下面我们再详细讨论,说确认包和关联包的时候讨论这个问题),上面说到,有的时候可以访问了,有的时候却不行,就是这个web server的ip 设置问题了,如果web server没有指定默认的网关,那么在作了上面的配置之后,web server会收到internet 的请求,但是,他不知道往哪里回啊,人家的本地路由表不知道你那个internet 的ip,202.1.1.1该怎么走。如果你使用截包工具在web server 上面察看,你会发现server 收到了来自202.1.1.1:1333-->10.1.1.1:80的请求,由于你没有给web server配置默认网关,它不知道怎么回去,所以就出现了不通的情况。怎么办呢?两个解决方法:一就是给这个server 配置一个默认网关,当然要指向这个配置端口转发的linux, 本例是10.1.1.254, 配置好了,就一定能访问了。有一个疑问?难道不需要在FORWARD 链上面设置一个允许 web server的ip 地址访问外网的规则吗?它的包能出去?答案是肯定的,能出去。因为我们那一条允许确认包与关联包的规则,否则它是出不去的。第二种方法,比较麻烦一些,但是对服务器来说这样似乎更安全一些。方法就是对这个包再作一次SNAT ,也就是在POSTROUTING 链上添加规则。命令如下:iptables -t nat -A POSTROUTING -d 10.1.1.1 -p tcp --dport 80 -j SNAT --to 10.1.1.254 ftp 的方法相同。这条命令不太好懂??其实很简单,如果使用这条命令,那么你的web server不需要再设置默认网关,就能收到这个请求,只要他和linux 的lan ip地址是能互访的(也就是说web server和Linux 的Lan ip在一个广播域),我们在根据上面的netfilter 流程图来分析这个包到底被我们怎么样了,首先一个请求202.1.1.1:1333--> 60.1.1.1:80被linux 收到了,进入PREROUTING, 发现一个规则(iptables -t nat -A PREROUTING -d 60.1.1.1 -p tcp --dport 80 -j DNAT --to 10.1.1.1:80)符合,好了,改你的目的地址,于是这个包变成了202.1.1.1:1333-->10.1.1.1:80,继续往前走,进入FORWARD 链,okay, 也有一条规则允许通过(iptables -A FORWARD -d 10.1.1.1 -p tcp --dport 80 -j ACCEPT),进入route box选路,找到合适的路径了,继续进入POST ROUTING 链,耶?又发现一个符合的规则(iptables -t nat -A POSTROUTING -d 10.1.1.1 -p tcp --dport 80 -j SNAT --to 10.1.1.254),原来是一个SNAT, 改你的源地址,于是这个包变成了10.1.1.254:xxxx-->10.1.1.1:80。为什么用xxxx 了,这里的端口是随机的,我也不知道会是什么。而整个的两次变化的过程都会记录在linux 的ip_conntrack 中,当web server收到这个包的时候,发现,原来是一个内网自己兄弟来的请求阿,又在一个广播域,不用找网关,把返回包直接扔给交换机了,linux 在收到返回包之后,会根据他的ip_conntrack 中的条目进行两次变换,返回真正的internet 用户,于是完成这一次的访问。看了上面的两个例子,不知道大家是否清楚了iptables 的转发流程,希望对大家有所帮助,下面我们就说说我一直在上面提到的关于那个 ESTABLISHED,RELATED 的规则是怎么回事,到底有什么用处。说这个东西就要简单说一下网络的数据通讯的方式,我们知道,网络的访问是双向的,也就是说一个Client 与Server 之间完成数据交换需要双方的发包与收包。在netfilter 中,有几种状态,也就是new, established,related,invalid。当一个客户端,在本文例一中,内网的一台机器访问外网,我们设置了规则允许他出去,但是没有设置允许回来的规则阿,怎么完成访问呢?这就是netfilter 的状态机制,当一个lan 用户通过这个linux 访问外网的时候,它发送了一个请求包,这个包的状态是new, 当外网回包的时候他的状态就是established, 所以,linux 知道,哦,这个包是我的内网的一台机器发出去的应答包,他就放行了。而外网试图对内发起一个新的连接的时候,他的状态是new, 所以linux 压根不去理会它。这就是我们为什么要加这一句的原因。还有那个 related, 他是一个关联状态,什么会用到呢?tftp,ftp 都会用到,因为他们的传输机制决定了,它不像http 访问那样,Client_IP: port-->server:80 然后server:80-->Client_IP:port,ftp使用tcp21建立连接,使用20端口发送数据,其中又有两种方式,一种主动 active mode, 一种被动passive mode, 主动模式下,client 使用port 命令告诉server 我用哪一个端口接受数据,然后server 主动发起对这个端口的请求。被动模式下, server 使用port 命令告诉客户端,它用那个端口监听,然后客户端发起对他的数据传输,所以这对于一个防火墙来说就是比较麻烦的事情,因为有可能会有new 状态的数据包,但是它又是合理的请求,这个时候就用到这个related 状态了,他就是一种关联,在linux 中,有个叫 ftp_conntrack的模块,它能识别port 命令,然后对相应的端口进行放行。一口气写了这么多东西,不知道质量如何,大家凑和着看吧,希望多多交流共同进步,我还是一个linux 的初学者,难免很多谬误,希望高手赐教指正,以期不断进步。对了,还有几个在实际中比较实用(也比较受用:-))的命令参数,写出来供大家参考iptables -L -n这样的列表会跳过linux 的domain lookup,有的时候使用iptables -L会比较慢,因为linux 会尝试解析ip 的域名,真是罗嗦,如果你的dns server比较不爽的话,iptables -L就会让你很不爽,加一个-n 参数就好了。列表刷的就出来。当然了,如果你的linux 就是做防火墙,建议把nameserver 去掉,在 /etc/resolve.conf里面,因为有时候使用route 命令也会比较慢列出来,很是不爽。iptables -L -v这个命令会显示链中规则的包和流量计数,嘿嘿,看看哪些小子用的流量那么多,用tc 限了他。cat /proc/net/ip_conntrack查看目前的conntrack ,可能会比较多哦,最好加一个|grep "关键字" ,看看你感兴趣的链接跟踪wc -l /proc/net/ip_conntrack看看总链接有多少条。iptables-save >/etc/iptables把当前的所有链备份一下,之所以放到/etc下面叫iptables, 因为这样重起机器的时候会自动加载所有的链,经常地备份一下吧,否则如果链多,万一掉电重启,你还是会比较痛苦。
2021年02月12日
3 阅读
0 评论
0 点赞
2021-02-11
免流和免流开热点
最近论坛里开始讨论电信星卡的注销了,想起来,自己也有一张,一直闲置不用,实在可惜,趁过年有时间也研究了下。这东西其实已经研究的很透彻了,我简单说说吧。首先不需要root 哦。用的程序有百度免流或者 tinyproxy 和http注射器。(需要的联系我吧,好像不方便放出来。)免流软件做的很好,基本就是傻瓜化了。难点大概就是http注射器开热点上吧。步骤是:在主页面 点 工具工具里点 热点工具热点工具里选择Hostshare 然后点step2 里的start hostshare(tip:我测试的机子可能有点小问题,需要先手动打开热点,http注射器打不开)客户端设置代理就可以了。代理信息就是顶上显示的192.168.43.1 端口 44355 .这个代理是http代理。
2021年02月11日
2 阅读
0 评论
0 点赞
2015-05-25
反代google
虽然有ss ,基本上没有访问不到的网站了,但是只有单位还行,家里完全没有办法了,一直想弄个反代google ,网上找的代码,贴出来看看下面的参数配置只需把xxx.xxx改为你自己的域名以及修改一下你的SSL路径就可以了。 Nginx 反代 Google配置如下 server { listen 443; server_name xxx.xxx; ssl on; ssl_certificate /usr/local/nginx/xxx.crt;#这里改为你自己的证书路径 ssl_certificate_key /usr/local/xxx.key;#这里改为你自己的密钥路径 location / { proxy_redirect http://www.google.com/ /; proxy_cookie_domain google.com xxx.xxx; proxy_pass http://173.194.127.48; proxy_set_header Accept-Encoding ""; proxy_set_header User-Agent $http_user_agent; proxy_set_header Accept-Language "zh-CN"; proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw"; sub_filter www.google.com xxx.xxx; sub_filter_once off; } } server { listen 80; server_name xxx.xxx; rewrite ^(.*) https://xxx.xxx$1 permanent; } #把所有的xxx.xxx改为你自己的域名 不使用ssl的,反代代码 不使用 SSL 证书进行反代 Google 的代码如下: server { listen 80; server_name xxx.xxx; location / { proxy_redirect http://www.google.com/ /; proxy_cookie_domain google.com xxx.xxx; proxy_pass http://173.194.127.48; proxy_set_header Accept-Encoding ""; proxy_set_header User-Agent $http_user_agent; proxy_set_header Accept-Language "zh-CN"; proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw"; sub_filter www.google.com xxx.xxx; sub_filter_once off; } }
2015年05月25日
2 阅读
0 评论
0 点赞
2015-05-05
xen linux 增加swap
还是先解释名词吧,其实增加swap的意义在于? 一般来说linux 如果用到swap的时间基本上已经缓慢了,因为swap 是拿硬盘空间来模拟内存的,硬盘的速度那叫一个慢,和内存都不是一个级别的。所以如果能不用到swap 是最好的。当然swap还有个意义在于,你的程序不至于因为没有内存而死掉,虽然慢,总比死了强吧。基于以上原则,所以我给我的vps 加了点swap ,特意提醒下,vps 只能是xen kvm 可以增加swap ,openvz 就不要想了。1、确定swap 文件位置, 放哪里都无所谓,都是在硬盘里,速度没啥差别cd /var2、创建个文件,这是创建了个1g的文件,如果你想创建其他大小的,自行修改。dd if=/dev/zero of=/var/swap bs=512 count=20000003、转换为swapmkswap /var/swap4、加入swap中swapon /var/swap5、加入启动脚本中 /etc/fstab/var/swap swap swap defaults 0 0 6、查看是否成功 cat /proc/swap
2015年05月05日
1 阅读
0 评论
0 点赞
2015-04-27
Debian 7升级Debian 8
Debian 8 在25号发布了,今天一上班就看到了,心里马上长草,速度把vps 升级下,呵呵… 还是拿hostodo 下手。先泼个凉水,免的看文章的网友更新完后悔,openvz 的vps 升级debian 是不能更新内核的,切记,切记。更新完内核还是可怜的“Linux te 2.6.32-042stab103.6”开始步骤,debian 的所有升级无非就是这样1、apt-get update这里先升级下debian7的软件,免的升级的过程中有兼容性问题2、apt-get upgrade 3、更换源为debian8更换下源,建议更换为官方源,官方源比较新,问题比较少,我的源是这样的deb http://ftp.us.debian.org/debian/ jessie main deb-src http://ftp.us.debian.org/debian/ jessie main deb http://security.debian.org/ jessie/updates main contrib deb-src http://security.debian.org/ jessie/updates main contrib # jessie-updates, previously known as 'volatile' deb http://ftp.us.debian.org/debian/ jessie-updates main contrib deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib4、apt-get update5、apt-get dist-upgrade这个过程就是升级了,升级过程中会让你选择,一路默认就可以了。okps:root@te:~# apt-get dist-upgrade正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在对升级进行计算... 失败下列软件包有未满足的依赖关系:udev : 破坏: plymouth (< 0.9.0-7) 但是 0.8.5.1-5 正要被安装E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。 最后一步会出现这个错误,忽略吧,因为内核版本问题,忽略好了。 6、最后清理下apt-get autoremove 7 、检查下版本root@te:~# cat /etc/debian_version8.0已经成功升级8.0 ,只是内核还是可怜的2.6.32 ,也难怪openvz 卖的便宜,新内核你都用不上。
2015年04月27日
2 阅读
0 评论
0 点赞
2015-04-10
sar 系统性能监控
最近折腾刚买的hostodo ,发现个不错的系统性能检测工具sar ,debian 上安装的是 sysstat 。 顺便复制一点资料,做参考sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。sar命令常用格式sar [options] [-A] [-o file] t [n]其中:t为采样间隔,n为采样次数,默认值是1;-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。options 为命令行选项,sar命令常用选项如下:-A:所有报告的总和-u:输出CPU使用情况的统计信息-v:输出inode、文件和其他内核表的统计信息-d:输出每一个块设备的活动信息-r:输出内存和交换空间的统计信息-b:显示I/O和传送速率的统计信息-a:文件读写情况-c:输出进程统计信息,每秒创建的进程数-R:输出内存页面的统计信息-y:终端设备活动情况-w:输出系统交换活动信息1. CPU资源监控例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:sar -u -o test 10 3屏幕显示如下:17:06:16 CPU %user %nice %system %iowait %steal %idle17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.8017:06:36 all 0.00 0.00 0.20 0.00 0.00 99.8017:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90Average: all 0.00 0.00 0.17 0.00 0.00 99.83输出项说明:CPU:all 表示统计信息为所有 CPU 的平均值。%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。如果要查看二进制文件test中的内容,需键入如下sar命令:sar -u -f test 2. inode、文件和其他内核表监控例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:sar -v 10 3屏幕显示如下:17:10:49 dentunusd file-nr inode-nr pty-nr17:10:59 6301 5664 12037 417:11:09 6301 5664 12037 417:11:19 6301 5664 12037 4Average: 6301 5664 12037 4输出项说明:dentunusd:目录高速缓存中未被使用的条目数量file-nr:文件句柄(file handle)的使用数量inode-nr:索引节点句柄(inode handle)的使用数量pty-nr:使用的pty数量3. 内存和交换空间监控例如,每10秒采样一次,连续采样3次,监控内存分页:sar -r 10 3输出项说明:kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.4. 内存分页监控例如,每10秒采样一次,连续采样3次,监控内存分页:sar -B 10 3输出项说明:pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)majflt/s:每秒钟产生的主缺页数.pgfree/s:每秒被放入空闲队列中的页个数pgscank/s:每秒被kswapd扫描的页个数pgscand/s:每秒直接被扫描的页个数pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比5. I/O和传送速率监控例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:sar -b 10 3屏幕显示如下:18:51:05 tps rtps wtps bread/s bwrtn/s18:51:15 0.00 0.00 0.00 0.00 0.0018:51:25 1.92 0.00 1.92 0.00 22.6518:51:35 0.00 0.00 0.00 0.00 0.00Average: 0.64 0.00 0.64 0.00 7.59输出项说明:tps:每秒钟物理设备的 I/O 传输总量rtps:每秒钟从物理设备读入的数据总量wtps:每秒钟向物理设备写入的数据总量bread/s:每秒钟从物理设备读入的数据量,单位为 块/sbwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s6. 进程队列长度和平均负载状态监控例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:sar -q 10 3屏幕显示如下:19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-1519:26:00 0 259 0.00 0.00 0.0019:26:10 0 259 0.00 0.00 0.0019:26:20 0 259 0.00 0.00 0.00Average: 0 259 0.00 0.00 0.00输出项说明:runq-sz:运行队列的长度(等待运行的进程数)plist-sz:进程列表中进程(processes)和线程(threads)的数量ldavg-1:最后1分钟的系统平均负载(System load average)ldavg-5:过去5分钟的系统平均负载ldavg-15:过去15分钟的系统平均负载7. 系统交换活动信息监控例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:sar - W 10 3屏幕显示如下:19:39:50 pswpin/s pswpout/s19:40:00 0.00 0.0019:40:10 0.00 0.0019:40:20 0.00 0.00Average: 0.00 0.00输出项说明:pswpin/s:每秒系统换入的交换页面(swap page)数量pswpout/s:每秒系统换出的交换页面(swap page)数量8. 设备使用情况监控例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:# sar -d 10 3 –p屏幕显示如下:17:45:54 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util17:46:04 scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0017:46:04 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0017:46:04 vg_livedvd-lv_root 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0017:46:04 vg_livedvd-lv_swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00其中:参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.rd_sec/s:每秒读扇区的次数.wr_sec/s:每秒写扇区的次数.avgrq-sz:平均每次设备I/O操作的数据大小(扇区).avgqu-sz:磁盘请求队列的平均长度.await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.%util:I/O请求占CPU的百分比,比率越大,说明越饱和.1. avgqu-sz 的值较低时,设备的利用率较高。2. 当%util的值接近 1% 时,表示设备带宽已经占满。要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.
2015年04月10日
2 阅读
0 评论
0 点赞
2015-04-07
hostodo Vps 体验
ps:最近工作有点繁忙,博客丢下了一阵子,好在挂链接的“猎户星”提醒,赶紧更新一下说起来这段时间发生的事情好多啊,但是一直腾不出手来整理,遗忘了好多。刚好手里有个新买的vps,拿出来做个测试吧,说实话vps这玩意,实在是有点烂大街了,平常的测试只能是呵呵。性能都是那个样子。hostodo 这个唯一的优点就是量大。看配置,价格18$CPU:4 cores 内存:1024MB vSAWP:2048MB 硬盘:150 GB 月流量:3TB/1Gbps 虚拟架构:OpenVZIP/面板:1个/Virtualizor是不是量挺大的,自己准备买来做个web 和dns 服务器,顺便做代理,做翻墙。目前来看还是应付的不错,一直都挺稳定,没有宕机。也没有警告。我估计可能是我用的少,另外服务器资源也充足。 就不上ping dd 了,实际测试电信、移动速度不错,联通差一点,各个网络都有掉包,这个也没办法,国家网络就这样。不懒主机商。 有需要的自己搜索购买吧,我就不上链接了。免得说我广告。 好多网友咨询性能测试,虽然这玩意相当俗气,而且真心没啥用,但就是有人喜欢,那就分享下 wget freevps.us/downloads/bench.sh -O - -o /dev/null|bashroot@te:~# wget freevps.us/downloads/bench.sh -O - -o /dev/null|bashCPU model : Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHzNumber of cores : 4CPU frequency : 875.250 MHzTotal amount of ram : 1024 MBTotal amount of swap : 2048 MBSystem uptime : 20 min, Download speed from CacheFly: 100MB/sDownload speed from Coloat, Atlanta GA: 26.1MB/sDownload speed from Softlayer, Dallas, TX: 2.42MB/sDownload speed from Linode, Tokyo, JP: 5.45MB/sDownload speed from i3d.net, Rotterdam, NL: 2.55MB/sDownload speed from Leaseweb, Haarlem, NL: 19.6MB/sDownload speed from Softlayer, Singapore: 5.50MB/sDownload speed from Softlayer, Seattle, WA: 15.7MB/sDownload speed from Softlayer, San Jose, CA: 63.1MB/sDownload speed from Softlayer, Washington, DC: 19.0MB/sI/O speed : 1.0 GB/s顺便分析下数据: 1:可怜的cpu 被限速了,前3个核心被限速200 ,好低啊 。我服了。processor : 0vendor_id : GenuineIntelcpu family : 6model : 60model name : Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHzstepping : 3microcode : 26cpu MHz : 200.000
2015年04月07日
2 阅读
0 评论
0 点赞
2015-01-08
遇到的神奇宽带问题
一直使用蹭网,上了各种号称nb 无敌的山寨接收器,最近实在是忍受不了那种不稳定的感觉了,上了个电信12m,这里要吐槽下电信,办的时候给我吹嘘光纤直连,速度nb,安装工来的时候才知道,我哪里就是光纤到楼,然后分个网线给我,我个擦。营业员和电信安装工真的一个是理想一个是现实,好吧,我也接受了。安装后,发现个超级古怪的现象,只有我的笔记本和一个fast 路由可能正常拨号,其他路由都不行,openwrt 、dd 、极路由 …. 都完蛋,没有一个行的。打电话给安装工,安装工诅咒发誓说电信根本不限制路由,他更没有动手脚。好吧,我信了。一闪念,是不是因为网线的质量不行,这根入户网线还是多年前接入的,所以直接从电信的信号盒里拉了根线测试,立马连接上了。看来网线确实有问题,自己手动更换了,谁让咱是汉子,不求人更换后,再测试,竟然不行,我操,我的网线可是安普的啊。仔细分析了下,发现电信光纤到楼的光交换,竟然没有电源,好神奇啊,它怎么供电的???????严重怀疑是不是电信号不足,原来我的线是排在最后一个口的,现在换到第一个,再测试,很快连上,神奇啊。 更新下:一直好奇为啥电信用户箱里的pon 终端设备不需要电源,好神奇啊。昨晚研究了2个小时,发现个电信配的宽带设配器,这东西怎么看都像是个 供电设备。实际测试了下,果然如此,电信好卑鄙啊,竟然从用户哪里取电,连电费都省了。大声广播下: 电信的宽带设配器,根本就不需要,那是为他家自己的电信设备供电的。卑鄙啊,电信的安装工竟然还要求必须装。
2015年01月08日
3 阅读
0 评论
0 点赞
2014-10-24
Tab Utilities 修改版
Tab Utilities 更新越来越慢了,firefox 版本更新确越来越快了,导致的问题就是Tab Utilities 问题越来越多。不过热心的人不少,Tab Utilities 修改版好用的不得了。不废话,上地址:最新版解决了修复标签栏两侧的箭头按钮消失,Firefox 32+修复地址栏回车失效,Firefox 33+修复一个参数变化问题,Firefox 33+ https://github.com/yfdyh000/tabutils/releases
2014年10月24日
2 阅读
0 评论
0 点赞
2014-07-29
GOGOLE 新IP
http://210.242.125.20/http://74.125.205.147/http://91.213.30.151/这个你懂的。
2014年07月29日
1 阅读
0 评论
0 点赞
2014-07-05
2003蓝屏
这次一定要记住了,安装2003 的时候记得设置硬盘为ide或者是兼容模式,否则必蓝屏。哎。老系统就是悲催
2014年07月05日
2 阅读
0 评论
0 点赞
1
2
3
...
6