坚持#第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:该数据包与系统中已知的任意一条连接无关
原创粉丝点击