既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
#iptables -L -v 显示详细信息
#iptables -L -x 显示精确信息
#iptables -L --line-numbers 显示行号
5,条件匹配类
5.1 基本匹配
条件匹配也可以使用 ! 取反
-s 源地址
-d 目标地址
-p 协议{tcp|udp|icmp}
-i 从哪个网络接口进入,比如 -i eth0
-o 从哪个网络接口出去,比如 -o eth0
5.2扩展匹配
5.2.1隐含扩展匹配
-p {tcp|udp} --sport 指定源端口
-p {tcp|udp} --dport 指定目标端口
5.2.2显示扩展匹配
-m state --state 匹配状态的
-m mutiport --source-port 端口匹配 ,指定一组端口
-m limit --limit 3/minute 每三分种一次
-m limit --limit-burst 5 只匹配5个数据包
-m string --string --algo bm|kmp --string “xxxx” 匹配字符串
-m time --timestart 8:00 --timestop 12:00 表示从哪个时间到哪个时间段
-m time --days 表示那天
-m mac --mac-source xx:xx:xx:xx:xx:xx 匹配源MAC地址
-m layer7 --l7proto qq 表示匹配腾讯qq的 当然也支持很多协议,这个默认是没有的,需要我们给内核打补丁并重新编译内核及iptables才可以使用 -m layer7 这个显示扩展匹配,
6,处理动作类
-j ACCEPT 允许
-j REJECT 拒绝
-j DROP 拒绝并提示信息
-j SNAT 源地址转换
-j DNAT 目标地址转换
-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端口关了,重启服务器即可。如何保存呢?
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**