ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

centos7防火墙基本操作

2022-08-15 19:01:34  阅读:281  来源: 互联网

标签:-- cmd 防火墙 rule centos7 firewall add 基本操作 port


  1. 开启、关闭、查看防火墙状态

systemctl方式

systemctl status firewalld      #查看状态(防火墙为开启状态active(running),防火墙为关闭状态inactive(dead))
systemctl start firewalld       #开启防火墙(临时的,重启后恢复默认值)
systemctl stop firewalld        #关闭防火墙(临时的,重启后恢复默认值)
systemctl enable firewalld      #开启 (重启后生效,重启后仍是开启状态)
systemctl disable firewalld     #关闭(重启后生效,重启后仍是关闭状态)
firewall-cmd --list-all         #查看防火墙规则

service方式

service firewalld status    #查看状态
service firewalld start     #开启防火墙(临时的,重启后恢复默认值)
service firewalld stop      #关闭防火墙(临时的,重启后恢复默认值)
  1. 查询、开放、关闭端口(firewall-cmd是linux提供的操作firewall的一个工具。)
firewall-cmd --query-port=80/tcp                #查询80端口是否开放
firewall-cmd --permanent --add-port=80/tcp      #开放80端口
firewall-cmd --permanent --remove-port=80/tcp   #移除80端口
firewall-cmd --reload                           #使配置生效(修改配置后要重启防火墙,或使用reload使配置生效)
firewall-cmd --state                            #查看防火墙状态

3、添加samba访问控制命令

firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --reload
firewall-cmd --permanent --add-port=137/tcp
firewall-cmd --permanent --add-port=138/tcp
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=901/tcp

4、访问控制基本操作

iptables -L -n                       #查看当前防火墙配置
vim /etc/firewalld/firewalld.conf    #修改firewalld配置文件,放通端口(默认是DefaultZone=public)
vim /etc/firewalld/zones/public.xml   #端口放通,进入public.xml文件进行编辑修改(<port protocol="tcp" port="端口号"/>进行相关端口的放通)

5、开启流量转发功能

例:把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效:
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
可以ssh -p 888 192.168.10.10 进行访问

6、开放端口IP访问限制

例:限制192.168.20.250(192.168.20.0网段)访问192.168.20.251(本机)的80端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.20.250" port protocol="tcp" port="80" reject"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.20.0/24" port protocol="tcp" port="80" reject"
firewall-cmd --reload                               #重新载入防火墙使其生效
firewall-cmd --zone=public --list-rich-rules        #查看已经设置的规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.20.250" port protocol="tcp" port="80" accept" #解除上述限制
firewall-cmd --reload                                #重新载入防火墙使其生效
firewall-cmd --zone=public --list-rich-rules         #再查看规则,如设置未生效,直接编辑规则文件:vi /etc/firewalld/zones/public.xml)

7、配置
这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。
应急

firewall-cmd --reload          #重载防火墙配置
firewall-cmd --state           #查看防火墙运行状态
firewall-cmd --list-all        #查看默认区域的设置
firewall-cmd --panic-on        # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off       # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic     # 查看是否为应急模式

服务

firewall-cmd --add-service=<service name> #添加服务
firewall-cmd --remove-service=<service name> #移除服务

端口

firewall-cmd --add-port=<port>/<protocol>     #添加端口/协议(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol>  #移除端口/协议(TCP/UDP)
firewall-cmd --list-ports                     #查看开放的端口

协议

firewall-cmd --add-protocol=<protocol>        # 允许协议 (例:icmp,即允许ping)
firewall-cmd --remove-protocol=<protocol>     # 取消协议
firewall-cmd --list-protocols                 # 查看允许的协议
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept"          #允许指定ip的所有流量
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept"   # 表示允许来自192.168.2.1的所有流量
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="<protocol>" accept"    #允许指定ip的指定协议
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" protocol value="icmp" accept" # 允许192.168.2.208主机的icmp协议,即允许192.168.2.208主机ping
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept"  #允许指定ip访问指定服务
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" service name="ssh" accept"    # 允许192.168.2.208主机访问ssh服务
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept"  #允许指定ip访问指定端口
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" port protocol="tcp" port="22" accept"           #允许192.168.2.1主机访问22端口
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" accept"  #表示允许192.168.2.0/24网段的主机访问22端口 。
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" reject"  #表示禁止192.168.2.0/24网段的主机访问22端口 。各个命令中,将 accept 设置为 reject表示拒绝,设置为 drop表示直接丢弃(会返回timeout连接超时)。

标签:--,cmd,防火墙,rule,centos7,firewall,add,基本操作,port
来源: https://www.cnblogs.com/ffny/p/16587560.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有