网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-j REDIRECT 重定向
-j MASQUERAED 地址伪装
-j LOG --log-prefix “说明信息,自己随便定义” 记录日志
如何配置自己的iptables
在配置自己的iptables前,要明确自己要使用的端口,如使用http服务,则开启80,使用mysql,开启3306,使用FTP,21端口,最重要的SSH,22端口。有人说没被自己的规则挡在外面过(关闭22端口),都不好意思说自己用过iptables,哈哈。对于配置iptables,iptables共有五个规则链:
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)
我们主要设置的是INPUT,也就是抵挡外来者不正当请求。
iptables的主要命令:
查看当前规则 iptables -L
查看每个链默认规则 iptables -S
设置默认规则iptables -P INPUT ACCEPT (注意大小写,-P实际上是policy,INPUT是我们要改的链,也可以是OUTPUT,ACCEPT是接收,不接受为DROP,上文有提到)
在更改规则前,我们要将INPUT和OUTPUT链设置为ACCEPT(默认也是ACCEPT),然后清空规则
iptables -F
增加22端口的链接规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
如果需要其他,例如80,3306等端口,增加即可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
参数-A,意为append向后插入,-I,意为Insert向前插入,其他参数可以参考前文。
要正常让自己服务器运行,还需要这一句
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
“-m”是“匹配”的意思,-m state的意思是匹配数据包状态,用户发来的数据包分别带有不同的状态,即 NEW, ESTABLISHED, 和 RELATED。NEW 就是开头搭讪,ESTABLISHED,就是搭讪完了之后后续的数据包,RELATED就是与已经存在的连接相关的数据包。总之这句话的意思是,接受已经建立了连接的数据包,即搭讪之后的数据包。
执行到这里,需要的端口都打开了,最后我们将默认规则的ACCEPT改为DROP,只改INPUT。
iptables -P INPUT DROP
最后的结果应该是这样的
你以为这就完了?不不不,还差一点,这个是临时的规则,如果你重启就会消失的。所以如果你规则设置时把22端口关了,重启服务器即可。如何保存呢?
iptables-save > /etc/iptables
先将规则保存一下,不确定是否成功可以 vi /etc/iptables打开看一下。
然后开机执行规则vi /etc/network/interfaces 在最后一行,加入pre-up iptables-restore < /etc/iptables
一定要确认无误后再执行最后一句。
号外:中途执行出问题,需要删除时
iptables -nL --line-number 按序号查看规则
iptables -D INPUT 2 删除INPUT中序号为2的规则(PS:每删除一次,后面序号会变的,再删容易删错)
号外:
简单测试方法
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**