iptables与firewalld防火墙的使用

本小节来给大家演示使用iptables firewall-cmd等防火墙策略配置服务,在这里采用了几个真实工作需求中可能会用到的策略配置,希望各位老哥学习完,能加深自己的印象,更好的维护系统

Iptables

早期环境中,默认是采用iptables来管理配置防火墙,虽然新的防火墙已经使用,但是大部分学者还是习惯使用于iptables。所有先来给大家介绍介绍iptables的玩法

五链

  • 在进行路由选择前处理数据包——PREOUTING
  • 处理流入的数据包——INPUT
  • 处理流出的数据包——OUTPUT
  • 处理转发的数据包——FORWARD
  • 在进行路由选择后处理数据包——POSTEROUTING

四表

  • 允许流量通过——ACCEPT
  • 拒绝流量通过并回应——REJECT
  • 记录日志信息——LOG
  • 拒绝流量通过丢弃不回应——DROP

常用设置参数

参数作用
-P设置默认策略
-F清空规则链
-L查看规则链
-A在末尾新加规则链需要加-A
-I在规则链头部加入规则,或者创建第一天规则需要写入
-D删除某一条规则链
-s匹配来源地址IP/MASK +!表示排除这个IP
-d匹配目标地址
-i匹配网卡流入的数据
-o匹配网卡流出的数据
-p匹配协议
-dport匹配端口号
-sport匹配来源端口号
将流入流量的策略设置为拒绝
[10:54 4.2root@ahei ~]# iptables -P  INPUT DROP
拒绝所有流量,包括imcp,ssh等
如果想进行操作,则需要设置额外策略来放行
允许ping命令
[10:54 4.2root@ahei ~]# iptables -I INPUT -p imcp -j ACCEPT
可以允许其他机器ping该主机
-I 选项是因为是第一条策略,所有要加
允许主机访问本机的3306端口
[10:54 4.2root@ahei ~]# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
-p tcp  代表协议是tcp
--dport 3306   允许访问tcp 3306端口
需要加访问主机 在协议前加 -s 主机范围/地址
删除某一条规则链
[10:54 4.2root@ahei ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:52113

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

默认可以看到前十条记录
例如我们将icmp 设置为拒绝,在DORP表下删除该策略就直接拒绝了

[11:11 4.2root@ahei ~]# iptables -D INPUT 1
因为该记录在第一位,所有编号就默认是1 
将默认策略设置为允许
[11:11 4.2root@ahei ~]#iptables -P  INPUT ACCETP 
拒绝访问110端口
[11:11 4.2root@ahei ~]# iptables -A INPUT -p tcp --dport 110 -j DROP
[11:11 4.2root@ahei ~]# iptables -A INPUT
-p udp --dport 110 -j DROP
拒绝访问包含tcp及udp协议,所有都要写入
连续端口可以写成 1:100
设置永久生效需要保存设置
[11:11 4.2root@ahei ~]# iptables-save

Firewalld

firewalld可以实现防火墙策略之间的快速切换,不同的场景切换不同的策略即可

区域默认策略规则
trusted允许所有的数据包
home拒绝流入的流量,除非与流出的流量相关;如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
internal等同于home区域
work拒绝流入的流量,除非与流出的流量树相关;如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
public拒绝流入的流量,除非与流出的流量相关;如果流量与ssh、ipp-client服务相关,则允许流量
external拒绝流入的流量,除非与流出的流量相关;如果流量与ssh服务相关,则允许流量
dmz拒绝流入的流量,除非与流出的流量相关;如果流量与ssh服务相关,则允许流量
block拒绝流入的流量,除非与流出的流量相关
drop拒绝流入的流量,除非与流出的流量相关

一些默认参数

参数作用
–get-default-zone查看默认的区域名称
–set-default-zone设置默认区域名称
–get-zones显示可以用的区域
–get-service显示预定的服务
–get-active-zones显示当前使用的区域与网卡名称
–add-source=将源自此IP或子网的流量导入指定的区域
–remove-souce=不在将此IP或子网的流量导入指定区域
–add-interface=将该网卡的流量都导入某个区域
–change-interface=将某个网卡与区域进行关联
–list-all将显示当前区域的网卡配置,资源,端口,服务等信息
–list-all-zones将显示所有区域的网卡,资源,端口,服务等信息
–add-service=设置默认区域允许该服务的流量
–add-port=设置默认区域允许该端口流量
–reload设置永久生效
–panic-on开启应急状况,阻断一切流量

TIPS
配置永久模式 需要加入–Permanent ,设置的策略只有重启以后才能生效,所有还需要手动配置–reload命令

查看默认使用的区域
[11:35 4.2root@ahei ~]#firewall-cmd --get-default-zone
public
查看指定网卡绑定的区域
[11:35 4.2root@ahei ~]#firewall-cmd --get-zone-of-interface=eth0
public
修改网卡的默认区域
[11:35 4.2root@ahei ~]#firewall-cmd --permanent --zone=dmz --change-interface=eth0
success
查看该区域
[11:35 4.2root@ahei ~]#firewall-cmd --permanent --get-zone-of-interface=eth0
dmz
修改默认区域为public
[11:35 4.2root@ahei ~]#firewall-cmd --set-default-zone=dmz
success
[11:35 4.2root@ahei ~]#firewall-cmd --get-default-zone
dmz
[11:35 4.2root@ahei ~]#firewall-cmd --get-zone-of-interface=eth0
dmz
应急模式
[11:35 4.2root@ahei ~]#firewall-cmd --panic-on
success
[11:35 4.2root@ahei ~]#firewall-cmd --panic-off
success
查询某个流量或服务是否放行
[11:35 4.2root@ahei ~]#firewall-cmd --zone=dmz --query-service=服务名(ssh,ftp.https....)
yes/no
设置ssh流量放行,并生效
[11:35 4.2root@ahei ~]#firewall-cmd --permanent --zone=public --add-service=ssh
success
[11:35 4.2root@ahei ~]#firewall-cmd --reload
success
这样重新加载服务就生效了
拒绝ssh流量,立即生效
[11:35 4.2root@ahei ~]#firewall-cmd --permanent --zone=dmz --remove-service=ssh
success
[11:35 4.2root@ahei ~]#firewall-cmd --reload
success
访问8080 8081端口允许,当前生效
[11:35 4.2root@ahei ~]#firewall-cmd --zone=dmz --add-port=8080-8081/tcp
success
[11:35 4.2root@ahei ~]#firewall-cmd --zone=dmz --list-ports
8080-8081/tcp
端口转发,将3305转发到3306
[11:35 4.2root@ahei ~]#firewall-cmd --permanent --zone=dmz --add-forward-port=port=3305:proto=tcp:toport=22:toaddr=192.168.10.1
success
[11:35 4.2root@ahei ~]#firewall-cmd --reload
success
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值