前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux防火墙管理

Linux防火墙管理

作者头像
全栈程序员站长
发布2022-09-05 10:47:48
2.4K0
发布2022-09-05 10:47:48
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

Linux防火墙管理

代码语言:javascript
复制
防火墙类似于一个安全卫士管家,它能对你访问别人电脑,
别人访问你的电脑,进行拦截并处理,有的阻止,有的放行,有的转发。
​
在默认情况下,Linux系统的防火墙状态是打开的,已经启动,
CentOS 7默认使用的是firewall作为防火墙。
用户根据需求在/etc/sysconfig/firewalld配置文件中来配置防火墙,
控制本机的“出、入”网络访问行为,其对行为的配置策略有四个策略表
代码语言:javascript
复制
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是用来过滤所有本地生成的包

查询防火墙状态

代码语言:javascript
复制
语法:
systemctl   动作   服务名.service
​
解释:
systemctl :是管制服务的主要工具。
动作:有status/start/stop/disable/enable。
服务名.service : 管理的服务,有firewalld.servcie是防火墙服务。
​
命令:
systemctl  status  firewalld.service              查询防火墙状态,.service可以省略
​

启动防火墙

代码语言:javascript
复制
命令:
systemctl  start  firewalld.service                   启动防火墙

停止/关闭防火墙

代码语言:javascript
复制
命令:
systemctl  stop  firewalld.service                     停止/关闭防火墙

防火墙开机自启

代码语言:javascript
复制
​
命令:
systemctl  disable  firewalld.service                 禁止防火墙开机自启
systemctl  enable  firewalld.service                  允许防火墙开机自启

重启防火墙

代码语言:javascript
复制
systemctl restart firewalld.service
代码语言:javascript
复制
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
代码语言:javascript
复制
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 
​

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137312.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux防火墙管理
    • 查询防火墙状态
      • 启动防火墙
        • 停止/关闭防火墙
          • 防火墙开机自启
            • 重启防火墙
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档