坚持#第197天~linux防火墙
来源:互联网 发布:二十二知乎 编辑:程序博客网 时间:2024/06/05 23:44
在7里面firewalld默认是开始的,想使用iptables就要停止它:systemctl stop firewalld 。如果以后想一直使用iptables操作防火墙,就用:systemctl disable firewalld 。
iptables常用的操作:iptables -tfilter –L查看表里面的3个策略(钥匙);iptables–t nat -L查看表里面的4个策略(钥匙);查看的时候在后面加个-n,是什么意思呢?iptables –t filter –I INPUT –s1.1.1.1 –p tcp –dport 80 –j DROP随便插一条策略;不加-n的话,防火墙会做一个解析,会把destination优先解析成主机名而不是主机IP地址,然后端口显示的是端口名,而不是端口号,解析的时候容易卡速度,所以最好的话在后面加个-n,提高速度;iptables –t filter –F刷新,也就是清空所有策略,当前立刻生效,重启之后不一定还生效,要看有没有对当前操作做保存。
保存的问题:在6里面可以直接用下行代码保存service iptables save。7里面保存需要这样,装一个包yum install iptables-services,选择y,iptables-save > /etc/sysconfig/iptables。下面来讲解-A和-I:iptables –tfilter –A INPUT –s 1.1.1.1 –j DROP回车iptables –t filter –AINPUT –s 1.1.1.2 –j DROP回车iptables –t filter –A INPUT –s1.1.1.3 –j DROP回车,检测策略的时候从上到下,一旦匹配到相符的,就不再执行下行的代码了, -I是从上面插入,-A是从下面附加。根据你的场景使用目标ACCEPT、DROP、REJECT。icmp说简单点就是两台主机对ping:
,
数据包要有去,也要有回。
如何让106可以ping105,但105不能ping106?很简单:在106主机写错误代码:iptables –t filter –I INPUT –s192.168.251.105 –p icmp –j DROP,这行代码会出现问题有去,但是没有回。Aping不通B了。用到:放行和干掉,也就是扩展匹配。
扩展匹配:(查看手册:man iptables回车)man iptables-extensions回车;
iptables –t filter –I INPUT –s192.168.251.105 –p icmp –m icmp –h是查看icmp帮助文档,从后面往前看,-m是match扩展匹配。echo-request(ping)、echo-reply(pong),收到一个ping,收到一个pong就是ping通了。只用将echo-request丢掉这个就行了:iptables –t filter –I INPUT –s 192.168.105 –p icmp –m icmp --icmp-typeecho-request -j DROP即可;检验一样:用105ping106可行,而用106ping105就不行了,成功。
另一种扩展匹配:比如开通了很多服务,要将这些服务放行(需要一个个的写,不能80,22一起写):
那怎么办呢?怎么一起写目标端口呢?运用到扩展匹配:iptable -t filter -I INPUT -p tcp -m multiport -h看帮助:multiport是多端口的。
iptables -t filter -I INPUT-p tcp -m multiport --dports 80,22,500:1000 -j ACCEPT即可,500:1000是500到1000。
状态防火墙
iptables -t filter -I INPUT-m state -h看帮助文档 中括号里面是状态,这些状态是数据包的状态,哪儿来的?看“四张表五条链那张图”连接跟踪的时候就会出现这些状态。重点介绍前面四个:
NEW:收到一个数据包,对一个已存在的程序/服务发起连接
ESTABLISHED:该数据包属于一个已存在的连接
RELATED:该数据包是对一个系统中已存在的服务发起新的连接FTP20,但是它依赖一个已存在的连接FTP21
INVALID:该数据包与系统中已知的任意一条连接无关- 坚持#第197天~linux防火墙
- 坚持#第107天~坚持!
- 坚持#第19天~
- 坚持#第42天~
- 坚持#第43天~
- 坚持#第44天~
- 坚持#第45天~
- 坚持#第46天~
- 坚持#第50天~
- 坚持#第51天~
- 坚持#第52天~
- 坚持#第54天~
- 坚持#第55天~
- 坚持#第56天~
- 坚持#第57天~
- 坚持#第59天~
- 坚持#第63天~
- 坚持#第130天~强调坚持!
- k:java中的内存泄露及其线程状态可视化
- [51NOD
- 每日一道算法题(4)
- 【图像融合】简单认识图像融合
- 程序员为什么要写作
- 坚持#第197天~linux防火墙
- failed to load platform rendering library的解决方案
- Setup TomCat on centOS7 with the none-admin account
- Data Structure: Binary Index Tree
- Scratch 游戏项目学习法 —— 接苹果(四)新建用于掉落的苹果(角色)
- 运算符与表达式
- 关于scala的集合
- 什么是类,什么是对象?
- CSS line-height 属性