centos7防火墙基本操作
2022/8/16 5:23:01
本文主要是介绍centos7防火墙基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 开启、关闭、查看防火墙状态
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 #关闭防火墙(临时的,重启后恢复默认值)
- 查询、开放、关闭端口(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连接超时)。
这篇关于centos7防火墙基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升