大家好,又见面了,我是你们的朋友全栈君。
防火墙类似于一个安全卫士管家,它能对你访问别人电脑, 别人访问你的电脑,进行拦截并处理,有的阻止,有的放行,有的转发。 在默认情况下,Linux系统的防火墙状态是打开的,已经启动, CentOS 7默认使用的是firewall作为防火墙。 用户根据需求在/etc/sysconfig/firewalld配置文件中来配置防火墙, 控制本机的“出、入”网络访问行为,其对行为的配置策略有四个策略表
1. raw表 主要用于决定数据包是否被状态跟踪机制处理。在匹配数据包时,raw表的规则要优先于其他表。 2. mangle表 主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期)指以 及为数据 包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,由于需要相应的路 由设备支持,因此应用并不广泛。 3. nat表 主要用于修改数据包的IP地址、端口号等信息(网络地址转换,如SNAT、DNAT、MASQUERADE、 REDIRECT)。属于一个流的包 (因为包的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次。 如果第一个包被允许做NAT或Masqueraded,那么余下的包都会自动地 被做相同的操作,也就是说,余下的 包不会再通过这个表。 4. filter表 主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP、ACCEPT、REJECT、LOG)。filter 表对应的内核模块为iptable_filter,包含三个规则链: INPUT链:INPUT针对那些目的地是本地的包 FORWARD链:FORWARD过滤所有不是本地产生的并且目的地不是本地(即本机只是负责转发)的包 OUTPUT链:OUTPUT是用来过滤所有本地生成的包
查询防火墙状态
语法: systemctl 动作 服务名.service 解释: systemctl :是管制服务的主要工具。 动作:有status/start/stop/disable/enable。 服务名.service : 管理的服务,有firewalld.servcie是防火墙服务。 命令: systemctl status firewalld.service 查询防火墙状态,.service可以省略
启动防火墙
命令: systemctl start firewalld.service 启动防火墙
停止/关闭防火墙
命令: systemctl stop firewalld.service 停止/关闭防火墙
防火墙开机自启
命令: systemctl disable firewalld.service 禁止防火墙开机自启 systemctl enable firewalld.service 允许防火墙开机自启
重启防火墙
systemctl restart firewalld.service
Centos 7 firewall 命令: 查看已经开放的端口: firewall-cmd --list-ports 开启端口 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --remove-port=80/tcp --permanent 删除规则 systemctl restart firewalld 重启防火墙使其生效 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 重启防火墙 firewall-cmd --reload #重启firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running
CentOS 7 以下版本 iptables 命令 如要开放80,22,8080 端口,输入以下命令即可 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 然后保存: /etc/rc.d/init.d/iptables save 查看打开的端口: /etc/init.d/iptables status 解决主机不能访问虚拟机CentOS中的站点 具体情况如下 1. 本机能ping通虚拟机 2. 虚拟机也能ping通本机 3.虚拟机能访问自己的web 4.本机无法访问虚拟机的web 后来发现是防火墙将80端口屏蔽了的缘故。 检查是不是服务器的80端口被防火墙堵了,可以通过命令:telnet server_ip 80 来测试。 解决方法如下: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 然后保存: /etc/rc.d/init.d/iptables save 重启防火墙 /etc/init.d/iptables restart CentOS防火墙的关闭,关闭其服务即可: 查看CentOS防火墙信息:/etc/init.d/iptables status 关闭CentOS防火墙服务:/etc/init.d/iptables stop
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137312.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...