MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Linux系统防火墙常用操作

2024-11-26 16:55 huorong linux 9 ℃ 0 评论

在linux系列中一般存在两种防火墙,iptables和firewalld

firewalld防火墙

查看开放端口:firewall-cmd --list-port

开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议(若需要开放端口范围,直接将80替换为范围即可,如8000-8088)

--permanent #永久生效,没有此参数重启后失效

重启防火墙:firewall-cmd --reload

查看防火墙状态:firewall-cmd --state

重新载入配置:firewall-cmd --reload

验证系统使用的是哪款防火墙

# 查看 iptables 防火墙的状态
$ sudo systemctl status iptables.service
# 查看 firewall 防火墙的状态
$ sudo systemctl status firewalld.service
# 如果两个都没有的话就需要安装了,安装的话建议安装firewalld

# 安装备注
# 使用 防火墙——firewalld,,安装完成后需要解除firewalld屏蔽才能使用
# 安装
$ sudo yum install firewalld
# 解除屏蔽
$ sudo systemctl unmask firewalld
# 停止iptables
$ sudo systemctl stop iptables

# 使用 防火墙——iptables,,安装完成后需要屏蔽firewalld才能使用
# 停止firewalld
$ sudo systemctl stop firewalld
# 屏蔽firewalld
$ sudo systemctl mask firewalld
# 安装iptables和iptables-services
$ sudo yum -y install iptables iptables-services

firewall防火墙

# 关闭防火墙
$ sudo systemctl stop firewalld.service
# 开机自启动
$ sudo systemctl disable firewalld.service
# 查看当前状态
$ sudo firewall-cmd --state
#进程与状态相关
$ sudo systemctl start firewalld.service            #启动防火墙  
$ sudo systemctl stop firewalld.service             #停止防火墙  
$ sudo firewall-cmd --state                         #查看防火墙状态  
$ sudo firewall-cmd --reload                        #更新防火墙规则  
$ sudo firewall-cmd --state                         #查看防火墙状态  
$ sudo firewall-cmd --reload                        #重载防火墙规则  
$ sudo firewall-cmd --list-ports                    #查看所有打开的端口  
$ sudo firewall-cmd --list-services                 #查看所有允许的服务  
$ sudo firewall-cmd --get-services                  #获取所有支持的服务  

#区域相关
$ sudo firewall-cmd --list-all-zones                    #查看所有区域信息  
$ sudo firewall-cmd --get-active-zones                  #查看活动区域信息  
$ sudo firewall-cmd --set-default-zone=public           #设置public为默认区域  
$ sudo firewall-cmd --get-default-zone                  #查看默认区域信息  
$ sudo firewall-cmd --zone=public --add-interface=eth0  #将接口eth0加入区域public

#接口相关
$ sudo firewall-cmd --zone=public --remove-interface=eth0       #从区域public中删除接口eth0  
$ sudo firewall-cmd --zone=default --change-interface=eth0      #修改接口eth0所属区域为default  
$ sudo firewall-cmd --get-zone-of-interface=eth0                #查看接口eth0所属区域  

#端口控制
$ sudo firewall-cmd --add-port=80/tcp --permanent               #永久添加80端口例外(全局)
$ sudo firewall-cmd --remove-port=80/tcp --permanent            #永久删除80端口例外(全局)
$ sudo firewall-cmd --add-port=65001-65010/tcp --permanent      #永久增加65001-65010例外(全局)  

$ sudo firewall-cmd  --zone=public --add-port=80/tcp --permanent            #永久添加80端口例外(区域public)
$ sudo firewall-cmd  --zone=public --remove-port=80/tcp --permanent         #永久删除80端口例外(区域public)
$ sudo firewall-cmd  --zone=public --add-port=65001-65010/tcp --permanent   #永久增加65001-65010例外(区域public)

iptables防火墙

# 临时关闭防火墙
$ sudo service iptables stop
# 永久关闭防火墙
$ sudo chkconfig iptables off
# 开启端口
$ sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
# 查看列表
$ sudo iptables -L -n
# 删除端口(需要查看列表中的num编号)
$ sudo iptables -D INPUT <num>
# 查看端口(需要查看列表中的num编号)
$ sudo iptables -L -n <num>

个别系统提示

Centos7系统默认的防火墙为firewall

centos7系统默认使用firewall作为防火墙,若没有启用iptables请使用firewall的规则进行操作

Tags:关闭linux防火墙命令

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言