Linux中的防火墙技术(一)firewall

firewall火墙控制

  • firewall概述
    动态防火墙后台程序firewalld提供了一个动态管理的防火墙,用以支持网络“zones”,以分配对一个网络及相关链接和界面一定程度的信任。它具有对IPv4和IPv6 防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具有一个通向服务或者应用程序以直接增强防火墙规则的接口。

  • 系统提供了图像化的配置工具firewall-config、system-config-firewall,提供命令行客户端firewall-cmd,用于配置firewalld永久性或非永久性运行时间的改变:它依次用iptables工具与执行数据包筛选的内核中的Netfilter通信

  • 防火墙:内核上的插件在linux中是iptables的意思
    一个在系统内核上的数据包,在系统表格的汇总

  • 默认有三张表五条链
    filter访问本机服务的表------------> input output forward
    net根本机服务没有关系的表 --------> input outputprerouting postouting mangle(net+filter)----------->input output prerouting (DNAT) postouting(SNAT) forward

  • 只要有一条选项不匹配就会被禁止
    源地址转换 目的地地址转换

  • 管理火墙就是管理iptables表格的内容

  • 两种管理方式
    一、 iptables更专业,参属更详细
    二 、 firewalld 操作更简单
    方法不同但功能相同
    编写火墙策略的工具,将工具的服务关掉之后,表格不生效

1.selinux端口标签的修改(管理selinux端口标签)

1)添加端口
semanage port -a -t http_port_t -p tcp 6666
具体步骤:
<1>安装软件开启服务
[root@shenzhen ~]# yum install httpd
在这里插入图片描述
<2>编辑配置文件修改默认端口为6666,重启服务时出现报错

[root@shenzhen ~]# vim /etc/httpd/conf/httpd.conf
[root@shenzhen ~]# systemctl restart httpd
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.

在这里插入图片描述
在这里插入图片描述
<3>查看http正在使用的端口,发现服务没有起来

[root@shenzhen ~]# netstat -antlupe | grep http

在这里插入图片描述
<4>列出http相关的端口,发现没有6666这个端口

[root@shenzhen ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

在这里插入图片描述
<5>加入6666端口,再次查看,列表中有6666,但是没有被使用,这是因为服务没有起来

[root@shenzhen ~]# semanage port -a -t http_port_t -p tcp 6666
[root@shenzhen ~]# netstat -antlupe | grep http
[root@shenzhen ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      6666, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

在这里插入图片描述
<6>重启服务,6666端口被使用

[root@shenzhen ~]# systemctl restart httpd
[root@shenzhen ~]# netstat -antlupe | grep http          

在这里插入图片描述
2)端口的删除
semanage port -d -t http_port_t -p tcp 6666
如过要删除的端口正在使用,删除时会报错,但是在配置文件中修改之后,重启服务删除命令会自动执行
具体步骤:

<1>再次编辑配置文件,将使用的默认端口还原,重启服务

[root@shenzhen ~]# vim /etc/httpd/conf/httpd.conf
[root@shenzhen ~]# systemctl restart httpd

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值