Centos7防火墙配置

本文介绍了如何在CentOS7上安装和管理防火墙,包括开启、关闭、禁用命令,以及使用firewall-cmd配置端口,如添加、关闭特定端口,设置端口开机自启,允许或禁止特定IP访问等操作。
摘要由CSDN通过智能技术生成

安装防火墙

yum -y install firewalld

防火墙的开启、关闭、禁用命令

设置开机启用防火墙

systemctl enable firewalld.service

设置开机禁用防火墙

systemctl disable firewalld.service

启动防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

 重启防火墙

systemctl restart firewalld

检查防火墙状态

systemctl status firewalld

查看防火墙设置开机自启状态

systemctl is-enabled firewalld.service

使用firewall-cmd配置端口

查看防火墙状态

firewall-cmd --state

打开单个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

放通某个端口段

firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent

–zone  作用域

–add-port=9200/tcp  添加端口,格式为:端口/通讯协议

--permanent  为永久生效,不加为单次有效(重启失效)

 重新加载配置

firewall-cmd --reload

添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效

 查看开放的端口

firewall-cmd --list-ports

关闭端口命令

firewall-cmd --zone=public --remove-port=80/tcp --permanent

查看端口是否打开

firewall-cmd --zone=public --query-port=80/tcp

查看某个端口号是否被占用

netstat -ano|findstr "8080"

查看进程号对应的进程名称

tasklist|findstr ”PID号“

新增连接协议到白名单
可以针对协议来新增到防火墙白名单,例如,将 HTTP 增加到白名单

firewall-cmd --zone=public --add-service=http --permanent

移除连接协议
从防火墙白名单删除指定的连接协议

firewall-cmd --zone=public --remove-service=http --permanent

允许特定 IP 访问
允许指定的 IP 可访问,这里可以设定 IP 掩码

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100/32" accept' --permanent

或者允许 192.168.100.1~254

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100/24" accept' --permanent

32表示子网掩码:255.255.255.255

24表示子网掩码:255.255.255.0

16表示子网掩码:255.255.0.0

8表示子网掩码255.0.0.0

当一个网段的掩码为255.255.255.0的时候,通常IP地址的最后一位度不可以是255或问0。
因为这种掩码的网段,最后一位是0的IP是网段的网络地址; 最后一位是255的IP是网段的广播地址,不能分配给主机。

禁止特定 IP 访问
可以通过 reject 来禁止特定 IP 访问

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100/32" reject' --permanent

或者禁止某区段,例如:192.168.100.1~254

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100/24" reject' --permanent

删除特定 IP 规则,规则内容必须与添加时一致,否则匹配不到内容会删除失败

firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.100.100/32" accept' --permanent

允许特定 IP 访问指定 Port
有时我们只希望指定 IP 只能访问特定 port,可以通过 port 来实现

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100/32" port="3306/tcp" accept' --permanent

或者

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.100" port protocol="tcp" port="3306" accept' --permanent

查看规则内容

firewall-cmd --list-rich-rules

查看所有 zone 资讯

firewall-cmd --list-all-zones

查看防火墙规则配置文件

​cat /etc/firewalld/zones/public.xml​

通过 sed 写入要放行的端口到配置文件中
​firewall-cmd 命令需要防火墙启动的状态下才能使用,但是在某些特殊情况下不能启动防火墙,但是有要添加规则,这时就可以通过修改配置文件来实现。比如:ssh 端口没有添加放行,没有启动​firewall将无法添加规则,如果启动​firewall,ssh将断开无法在连接。

​​sed -i 's#</zone># <port port="30000" protocol="tcp"/>\n&#' /etc/firewalld/zones/public.xml​​

​sed -i 's#指定内容#要追加的内容\n&#' filename​​

sed是处理文件行的快速工具,不需要借助Vim编辑器即可完成
\n在shell中是换行符号
&这个是与符号
指定字符前面添加

​​sed -i 's/指定的字符/需要添加的字符&/' 文件名称​​

指定字符后面添加

​​sed -i 's/指定的字符/&需要添加的字符/' 文件名称​​

当然,通过 Vim 编辑器 编辑配置文件也可,这没什么问题

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值