Linux防火墙netfilter/iptables/firewalld/关闭selinux

netfilter、iptables、firewalld的关系:

iptables服务和firewalld服务都不是真正的防火墙,只是用来定义防火墙规则功能的管理工具,将定义好的规则交由内核中的netfilter(网络过滤器来读取)从而实现真正的防火墙功能。

关系如图:(iptables/firewalld管理工具都是通过iptables命令来管理防火墙netfilter)
在这里插入图片描述

在centos7以上的版本中使用firewalld服务替代了iptables服务,但是依然可以使用iptables来管理防火墙netfilter,为了避免冲突使用iptables之前需要先关闭firewalld

关闭firewalld:

[root@linux ~]# systemctl stop firewalld.service 

禁止开机启动firewalld:

[root@linux ~]# systemctl disable firewalld.service 

安装iptables服务管理工具:

[root@linux ~]# yum -y install iptables-services

设置开机启动iptables:

[root@linux ~]# systemctl enable iptables.service 

启动iptables:

[root@linux ~]# systemctl start iptables.service 

netfilter 5表5链:

filter 表用于过滤数据包,有INPUT丶FORWARD丶OUTPUT三个链
nat 表用于网络地址转换,有PREROUTING丶OUTPUT丶POSTROUTING三个链
mangle 表用于给数据包做标记
raw 表可以实现不追踪某些数据包
security 表在centos7中才出现,用于强制访问控制(MAC)的网络规则

最常用的5链:INPUT丶FORWARD丶OUTPUT、PREROUTING丶POSTROUTING

iptables数据包的传输过程:

在这里插入图片描述

1.当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
2.如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
3.如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

查看iptables规则:

[root@linux ~]# iptables -nvL

查看iptables规则配置文件:

[root@linux ~]# cat /etc/sysconfig/iptables

清空iptables规则:

[root@linux ~]# iptables -F

*清空后使用 iptables -nvL会看到规则已经被清空,但 /etc/sysconfig/iptables文件中规则配置还在,需要执行 service iptables save 才能使配置文件生效

计数器清零:

[root@linux ~]# iptables -Z

*iptables -nvL的输出信息中,第一列代表数据包的数量,第二列代表数据大小,在有需要时,可以使用 -Z参数清零从新计算

filter表的应用:

iptables添加防火墙规则:

[root@linux ~]# iptables -A INPUT -p tcp -s 192.168.1.100  --sport 80 -d 192.168.1.200 --dport 80 -j DROP

可根据实际需求自由选择参数设置规则:

-A :append (在现有规则后面补充/添加一条)
-I:insert (在规则最前面插入一条)
INPUT:指定链
-p:protocol 指定请求的协议(tcp、udp、icmp等)
-s:source 源地址
–sport :原地址的端口(如不指定,则默认所有端口)
-d:目标地址
–dport:目标地址的端口
-i:指定网卡名
-j:控制类型(ACCEPT:允许通过,LOG:记录日志信息,然后传给下一条规则继续匹配,
REJECT:拒绝通过,必要时会给出提示,DROP:直接丢弃,不给出任何回应)
-P:给指定的链设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-i:网卡名称(匹配从这块网卡流入的数据,一般用于NAT表)
-o:网卡名称(匹配从这块网卡流出的数据,一般用于NAT表)

iptables删除一条规则:-D参数

1.将添加规则的语句中的-A改为-D即可

2.根据规则表行号删除:

[root@linux ~]# iptables -L INPUT --line-numbers  #列出INPUT链的所有规则和行号

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
2  
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值