Cnetos7 防火墙Demo

本文介绍 CentOS 7 中 firewall 的基本配置方法,包括如何添加和移除服务及端口,以及如何设置防火墙的不同 zone 来控制网络访问。适用于希望了解 CentOS 7 新防火墙机制的系统管理员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

       前一段时间,由于服务器出了一点小问题,加上服务器被黑了N次之后,决定重装服务器。想着centos最新bane7 已经出来了,就用最新的吧, 人都是有一种喜新厌旧的感觉。于是,提前就在自己的虚拟机上安装了个最新版本的Centos7 , 安装完成之后,当想配置防火墙的时候,发现跟以前不一样了,经过两天的折腾,各种网上搜索资料,终于,可以简单的使用了。这次,在这进行一下小记录,方便以后查询,同时希望能给朋友带来帮助。

简介:

      自从Centos 从6上升到7之后,防火墙也上升了一个阶段,从iptables升级到firewall。之前一直使用的是iptabls。简单的来说,就是通过iptables控制端口访问,其他的高级一点的功能,比如,绑定ip 、屏蔽ip之类的,也没怎么用过。这次本来也想通过防火墙来限制端口访问的时候,却发现,和之前有了很大的不同。

firewall特点:

      firewall跟之前不一样的地方主要有两点,一是热更新,就是可以在不停止防火墙服务的情况下,更新防火墙的配置。 二是firewall增加了zone的概念。个人通过网上搜查和测试,感觉就像是一个配置的集合,每一个zone都是一个特殊的情况的配置。

firewall默认的zone

     firewall在一开始有自己默认的zone,主要的如下:
   

drop:默认丢弃所有包

block:拒绝所有外部连接,允许内部发起的连接

public:指定外部连接可以进入

external:这个不太明白,功能上和上面相同,允许指定的外部连接

dmz:和硬件防火墙一样,受限制的公共连接可以进入

work:工作区,概念和workgoup一样,也是指定的外部连接允许

home:类似家庭组

internal:信任所有连接

是不是很眼熟,都是从网上抄下来的。不对的还请指教哈。

firewall常用指令

       我在学习的时候,会经常用到一些指令,在这里稍微的介绍一下
       [root@localhost logs]# firewall-cmd --state       //查看防火墙状态
running
       这里表示防火墙正在运行。
       
       查看防火墙指令:
       [root@localhost logs]# firewall-cmd --help     //查看防火墙指令
       下面会出来很多,看着很吓人,但是经常用到的不是很多。
     
      查看当前获得zone以及接口 
      [root@localhost logs]# firewall-cmd --get-active-zones;
      public
      interfaces: eno16777736
     
      查看当前public的zone下支持的服务,这里展示有三个 
      [root@localhost logs]# firewall-cmd --zone=public --list-services;
      dhcpv6-client http ssh
     
      查看该服务zone下支持的端口
     [root@localhost logs]# firewall-cmd --zone=public --list-port;
     这里需要注意的时候, 这里面什么都不展示的话,并不表示关闭了所有的端口,有一些服务是有默认端口的,从这里是不展示的。例如ssh的22号端口 , http的80端口,通过这些端口去访问对应的服务是没有问题的。不要以为什么都没有,就不能通过22号端口访问服务器, 不能通过80端口访问web了。其实都可以的。

    从public的zone中,移除http服务
    [root@localhost logs]# firewall-cmd --zone=public --remove-service=http;
    success
    当展示有success的时候,说明操作成功,如果要想永久有效的话,需要在后面再添加  --permanent 这个指令
   
     重新加载firewall的配置
    [root@localhost logs]# firewall-cmd --reload
    success
     表示不停止服务的情况下,重新加载firewall服务

    添加指定的服务
   [root@localhost logs]# firewall-cmd --zone=public --add-service=http
   success
   这里是表示,帮上面移除掉的http服务又重新添加了
   
    添加制定的端口
   [root@localhost logs]# firewall-cmd --zone=public --add-port=8080/tcp
   success
   表示public下,添加了8080端口    可以是 8080/tcp   8080/udp 根据需要自行配置

   移除端口
  [root@localhost logs]# firewall-cmd --zone=public --remove-port=8080/tcp
  success
  将上面添加的端口移除掉, 如果想要永久有效的话,同上,添加--permanent

DEMO 环境

    通过配置防火墙,可以让用户在浏览器,通过80端口访问tomcat。
   
    执行步骤:
   1、Java的安装
   [root@localhost logs]# cd /usr/
   [root@localhost usr]# mdkir java
   [root@localhost local]# cd java
   [root@localhost java]# wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz?AuthParam=1477407206_ea08372427f35895ac874a6d135ca2fa
   下载完成之后重命名
   [root@localhost java]mv jdk-8u111-linux-x64.tar.gz?AuthParam=1477407206_ea08372427f35895ac874a6d135ca2fa  jdk-8u111-linux-x64.tar.gz
   解压压缩包
   [root@localhost java] jdk-8u111-linux-x64.tar.gz
   配置环境变量
   [root@localhost java]  vim /etc/profile
   在最后加上如下配置
   export JAVA_HOME=/usr/java/jdk1.8.0_111/
   export PATH=$JAVA_HOME/bin:$PATH
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
   [root@localhost java] source /etc/profile  //刷新配置

   2、tomcat下载
   下载tomcat
   #> wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz
   解压tomat
   #>tar -zxvf  apache-tomcat-8.5.6.tar.gz

   3、修改tomcat配置
   在tomcat目录里面,在/config/server.xml 中,将
   <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
   里面的port改成80端口

  4、修改完成之后,启动tomcat。 注意这里要用root启动,因为tomcat访问的是80端口,需要root权限才能访问,否则,会异常。权限不足导致。

  5、修改防火墙配置
  要想外放能访问,需要开启使zone有http服务功能。
  在当前的zone中添加http服务。
  #> firewall-cmd --zone=public --add-service=http --permanent;  
  success
  重新加载firewall
  #>firewall-cmd --reload
  在外面,用浏览器访问  http://ip 就可以了

   
   
   
    
   
    
   
    
        

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值