Linux CentOS 7打开关闭防火墙,开放关闭端口和相关操作

有些人安装的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://www.33f.net/network/centos7_firewall.html
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上开放防火墙端口,可以使用以下命令: 1. 首先,使用命令`firewall-cmd --zone=public --permanent --add-port=<端口号>/tcp`将指定的端口添加到防火墙的公共区域,并使其永久生效。例如,如果要开放端口80,则可以运行`firewall-cmd --zone=public --permanent --add-port=80/tcp`命令。 2. 在添加端口后,需要重新加载防火墙规则,以使更改生效。可以运行`firewall-cmd --reload`命令重新加载防火墙。 3. 要验证端口是否成功开放,可以使用命令`firewall-cmd --zone=public --list-ports`检查已开放端口列表。 请注意,以上命令假设您正在使用firewalld作为CentOS 7上的防火墙服务。如果您使用的是iptables,则需要使用相应的iptables命令来配置防火墙端口。 除了上述方法,还可以使用firewall-cmd命令来配置更多的防火墙规则,以满足您的需求。您可以参考中提到的其他CentOS 7端口防火墙配置选项。 总结起来,要在CentOS 7上开放防火墙端口,您可以使用firewall-cmd命令添加特定端口,并使用firewall-cmd --reload重新加载防火墙规则以使更改生效。然后,您可以使用firewall-cmd --zone=public --list-ports命令验证已开放端口列表。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Centos 7防火墙开放端口方法](https://blog.csdn.net/weixin_53641036/article/details/126528833)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Linuxcentos7防火墙开放端口操作](https://blog.csdn.net/qq_33162707/article/details/124783517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值