• 本站压缩包统一解压密码:crowsong.xyz
  • 请善用右上角的搜索功能和下方的标签功能
  • 文章存在时效性,请注意发布时间与最后修改时间

CentOS7中 firewalld 与 iptables 防火墙的使用方法

Linux 水之笔记 5年前 (2018-08-08) 最后修改:4年前 (2018-09-07) 316次浏览 0个评论
  • 一、firewalld 防火墙的使用
  • 二、iptables 防火墙的使用

一、firewalld 防火墙的使用
1、firewalld 的基本使用

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机启用: systemctl enable firewalld
开机禁用: systemctl disable firewalld

2、systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置 firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic

4、举例如何添加或者删除一个端口

  • 添加端口(–permanent 永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 重启 firewalld
firewall-cmd --reload
  • 查看状态
firewall-cmd --zone= public --query-port=80/tcp
  • 删除端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent


二、iptables 防火墙的使用
在 CentOS7 中提供了 systemctl 命令,systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体。此处写出使用 systemctl 来管理 iptables 的方法,这些命令等同于 CentOS7 以下时所使用的命令,但是不适用于 CentOS7 以下的系统。
iptables 的文件设置路径是:

vi /etc/sysconfig/iptables-config

iptables 的防火墙规则配置文件路径是:

vi /etc/sysconfig/iptables

1、iptables 的基本使用

启动: systemctl start iptables.service
关闭: systemctl stop iptables.service
查看状态: systemctl status iptables.service
开机启用: systemctl enable iptables.service
开机禁用: systemctl disable iptables.service
保存 iptables 规则: service iptables save
重启: systemctl restart iptables.service

2、查看 iptables 现有规则

iptables -L -n
iptables -nvL

两种方法均可,但稍有不同,参数有以下这些

-L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上-t NAT 参数
-n 不对 ip 地址进行反查,即不将 ip 解析为域名只显示 IP 地址和端口号,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
-x 在 v 的基础上,禁止自动单位换算(K、M)
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到

3、清除默认的防火墙规则
安装完成基本配置后需要做的

  • 允许所有请求
    首先在清除前要将 policy INPUT 改成 ACCEPT,表示接受一切请求。
    这个一定要先做,不然清空后可能会直接悲剧
    设置 INPUT 方向所有的请求都允许
iptables -P INPUT ACCEPT
  • 清空所有默认规则
iptables -F
  • 清空所有自定义规则
iptables -X
  • 所有计数器归 0
iptables -Z

4、配置规则(命令版)
此处均为举例,意在写明命令的使用格式,请根据自己的实际使用情况来自行配置。

  • 允许来自于 lo 接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT  
  • 开放端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT  
  • 允许 ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  
  • 允许接受本机请求之后的返回数据 RELATED,是为 FTP 设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT  
  • 其他入站一律丢弃
iptables -P INPUT DROP  
  • 所有出站一律绿灯
iptables -P OUTPUT ACCEPT  
  • 所有转发一律丢弃
iptables -P FORWARD DROP
  • 如果要添加内网 IP 新人(接收其所有 TPC 请求)
iptables -A INPUT -p tcp -s 192.168.1.50(改为允许的内网 IP 即可) -j ACCEPT
  • 保存规则
service iptables save
  • 重启防火墙
systemctl restart iptables.service

5、配置规则(修改文件版)
修改配置规则路径:

vi /etc/sysconfig/iptables

修改与上面的命令版基本相同,仅仅是去掉了iptables这条命令而已,固不做过多的讲解。
但是特别需要注意的是添加允许端口的位置,应在 22 端口的上面或者下面,但是不应在最底!如下图!!如果不是很清楚的话,请尽量使用命令版配置规则。

同理最后我们修改完后也需要重启防火墙。

service iptables save
systemctl restart iptables.service

6、其它命令

  • 要封停一个 IP,使用下面这条命令
iptables -I INPUT -s **_._**.**_._** -j DROP
  • 要解封一个 IP,使用下面这条命令
iptables -D INPUT -s **_._**.**_._** -j DROP
  • 删除某个已有规则
    首先要将所有的 iptables 规则以需要标记显示:
iptables -L -n --line-numbers

比如要删除 INPUT 里序号为 8 的规则:

iptables -D INPUT 8


参考资料:

本文章笔记版本地址:http://ccdd6ec5.wiz03.com/share/s/3cTmX51TMQ-b2QTact03UPg834j-xL2evk5w20-rYV1MxNJY


水之笔记 , 版权所有丨如未注明 , 均为原创丨转载请注明出自 水之笔记的博客 crowsong.xyz
小站不易,若您觉得文章对您有所帮助,您可以在网页右上方使用支付宝赞助下小站或者扫描下支付宝红包。
喜欢 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址