iptables && firewall 的简单应用

iptables是基于netfilter框架实现的防火墙工具,基本功能是实现对数据包的过滤,依据规则链对数据包处理的位置不同进行如下分类:

处理流入的数据包:INPUT

处理流出的数据包:OUTPUT

处理转的发数据包:FORWAARD

在进行路由选择前处理数据包:PREROUTING

在进行路由选择后处理数据包:POSTROUTING

对数据包的处理动作:一般为ACCEPT   LOG   DROP   REJECT

 

常用的是INPUT规则链:

iptables -Z                       #清除计数

iptables -nvL  --line-number            #查看已有的规则链并显示规则序列号

iptables -D INPUT 3      #删除INPUT链中的第3条

service iptables save      #保存已添加的规则链,让重启后也可以生效,不然使用iptables添加的规则链会在重启后失效.

iptables -P INPUT ACCEPT                 #设置默认策略INPUT规则链为ACCEPT,当然也可以是DROP,要设置为DROP时需要小心,若其它规则不对,很可能直接和服务器断开.

iptables -I INPUT -p icmp -j ACCEPT       #向INPUT链中添加允许ICMP协议流量进入的策略

#如下,向INPUT链中添加只允许指定网段的主机访问本机的139,445端口,丢弃来自其它所有主机的流量.

iptables -I INPUT -s 192.168.1.0/24 -p tcp -m multiport --dports 139,445 -j ACCEPT  

iptables -A INPUT -p tcp -m multiport --dport 139,445 -j DROP

#如下,向INPUT链中添加只允许指定网段的主机访问本机的22端口,丢弃来自其它所有主机的流量.

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j DROP

#如下,只要发送端或接收端只要有一方已经成功建立了连接,那么我们就认为这个状态是 ESTABLISHED,特殊情况下使用.向INPUT链中添加是udp协议和ESTABLISHED状态的的流量允许通过.

iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT  

 

 

firewall也是一个工具,主要是针对单个计算机的

常用命令:

firewall-cmd --get-default-zone                #获取当前默认区域

firewall-cmd --state                                   #获取firewall状态

firewall-cmd --list-all                                 #列出所有策略

firewall-cmd --permanent --add-port=20/tcp                      #向默认区域添加端口

firewall-cmd --permanent --remove-port=20/tcp --remove-port=21/tcp                  #移出默认区域的端口

firewall-cmd --permanent --remove-service=ssh            #移出默认区域的服务

firewall-cmd --reload                                           #加载防火墙策略

posted on 2019-11-19 10:07  时空-幻梦  阅读(197)  评论(0编辑  收藏  举报

导航