有些人安装的linux的系统默认防火墙不是iptables,而是firewall,那就得使用以下方式关闭防火墙了。
>>>查看防火墙当前状态##查看防火墙状态,是否是running
firewall-cmd --state
>>>查看防火墙当前已经开放的端口
firewall-cmd --zone=public --list-ports
>>>关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --reload # 配置立即生效
--关闭后执行状态命令,查看是否关闭成功,如果看到inactive(dead)就意味着防火墙关闭了。
端口的查询/开放
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 新建永久规则,开放8080端口(TCP协议)
firewall-cmd --permanent --add-port=8080/tcp
# 移除上述规则
firewall-cmd --permanent --remove-port=8080/tcp
>>>开启某个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口
firewall-cmd --reload # 配置立即生效
>>>关闭某个端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent #关闭80端口
firewall-cmd --reload # 配置立即生效
IP(IP段)的开放
# 新建永久规则,开放192.168.1.1单个源IP的访问
firewall-cmd --permanent --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24整个源IP段的访问
firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除上述规则
firewall-cmd --permanent --remove-source=192.168.1.1
>>>开放端口给指定IP段。如开放给局域网192.168.1.1-192.168.1.255
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6666" accept"
firewall-cmd --reload
>>>批量添加区间端口
firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
firewall-cmd --reload # 配置立即生效
>>>查看监听的端口
netstat -lnpt
系统服务的开放
# 开放http服务
firewall-cmd --permanent --add-service=http
# 移除上述规则
firewall-cmd --permanent --remove-service=http
自定义复杂规则(注意是否与已有规则冲突)
# 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
命令含义
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
任何修改操作,配置完成后,需要重新装载firewall。可重新启动firewalld服务。
>>>重启防火墙
firewall-cmd --reload
service firewalld restart
其他常用命令:
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
firewall规则扩展学习
查看已开放的端口
firewall-cmd --list-ports
开放端口(开放后需要要重启防火墙才生效)
firewall-cmd --zone=public --add-port=3338/tcp --permanent
关闭端口(关闭后需要要重启防火墙才生效)
firewall-cmd --zone=public --remove-port=3338/tcp --permanent
重启防火墙
firewall-cmd --reload
开机启动防火墙
systemctl enable firewalld
开启防火墙
systemctl start firewalld
禁止防火墙开机启动
systemctl disable firewalld
停止防火墙
systemctl stop firewalld
更多命令,使用 firewall-cmd --help 查看帮助文件
下面是关于iptables的设置相关:
CentOS 7.0默认使用的是firewall作为防火墙,如果想使用使用iptables必须重新设置一下,具体方法如下:
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #iptabales规则,并非CentOS7默认规则
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
常用命令:
iptables -L -n /查看已开放端口
nano /etc/sysconfig/iptables //编辑现有端口,也可以使用vi
systemctl restart iptables.service //centos7 重启iptables
systemctl enable iptables.service //centos7 开机启动iptables
直接用iptables命令形式添加/删除端口等操作:
注意:192.168.0.0 是您的服务器IP地址。
telnet 127.0.0.1 8075 /测试端口是否开放telnet
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 30000:31000 -j DNAT --to 192.168.0.0 #添加端口段
iptables -I INPUT -s 11.11.11.11 -p tcp --dport 3306 -j ACCEPT #如果需要,可指定Ip可以访问3306端口
iptables -I INPUT -p tcp --dport 8808 -j DROP //禁止所有Ip访问8808端口
iptables --line -nvL INPUT #查询规则编号或已开放端口
iptables -D INPUT 1 #删除指定规则编号的规则
iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8808 -j ACCEPT #允许127.0.0.1访问8808
所有命令执行完毕都需要保存到表
iptables-save //如果是centos,直接执行即可
service iptables save //centos7也可执行
iptables-save > /etc/iptables //其他系统保存规则。
关于firewall-cmd的相关命令集锦:
#查看firewall状态,LINUX7默认是安装并开启的;
firewall-cmd --state
#安装
yum install firewalld
#启动,
systemctl start firewalld
#设置开机启动
systemctl enable firewalld
#关闭
systemctl stop firewalld
#取消开机启动
systemctl disable firewalld
#禁止IP(123.56.161.140)访问机器
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.161.140" drop'
#禁止一个IP段,比如禁止123.56..
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.0.0/16" drop'
#禁止一个IP段,比如禁止123.56.161.*
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.161.0/24" drop'
#禁止机器IP(123.56.161.140)从防火墙中删除
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="123.56.161.140" drop'
#禁止本机访问外放某Ip:
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -d 46.30.243.21/32 -j REJECT
#允许http服务(对应服务策略目录:/usr/lib/firewalld/services/)
firewall-cmd --permanent --add-service=http
#关闭http服务(对应服务策略目录:/usr/lib/firewalld/services/)
firewall-cmd --permanent --remove-service=http
#允许端口:3389
firewall-cmd --permanent --add-port=3389/tcp
#允许端口:1-3389
firewall-cmd --permanent --add-port=1-3389/tcp
#关闭放行中端口:3389
firewall-cmd --permanent --remove-port=3389/tcp
#查看firewall的状态
firewall-cmd --state
#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略,在配置策略前,我一般喜欢先CP,以后方便直接还原)
firewall-cmd --list-all
#查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --list-all-zones
#重新加载配置文件
firewall-cmd --reload
#更改配置后一定要重新加载配置文件:
firewall-cmd --reload
版权属于: 三三世界-百宝箱
本文链接: http://33f.net/network/centos7_firewall.html
本文最后更新于2022年04月17日 ,已超过960天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
Saved as a favorite, I like your website!
If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.
Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!
Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.
Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.
zh.us.to 有效
kms.03k.org 有效
kms.chinancce.com
kms.shuax.com 有效
kms.dwhd.org 有效
kms.luody.info 有效
kms.digiboy.ir 有效
kms.lotro.cc 有效
www.zgbs.cc 有效
cy2617.jios.org 有效
@ 权限问题,试试sudo 再加命令。
你好提示Permission denied 怎么办啊