CentOS中防火墙程序主要是firewall和iptables,CentOS7中firewall服务已经默认安装好了,而iptables服务需要自己用yum  install  iptabes-services来安装。

       说明:以下演示均在CentOS7中进行,其他版本也大同小异

1、firewall相关的操作

查看防火墙状态

firewall-cmd    --state


关闭防火墙

systemctl  stop   firewalld.service


开启防火墙

systemctl  start   firewalld.service


禁止开机启动启动防火墙

systemctl   disable   firewalld.service

 

2、iptables相关的操作

2.1常规命令

iptables服务需要自己安装,命令是:

yum install  iptables-services

如图: 

        

开启iptables防火墙的命令是:

systemctl  start  iptables.service

重启iptables防火墙的命令是:

systemctl  restart  iptables.service

关闭iptables防火墙的命令是:

systemctl  stop  iptables.service

查看iptables防火墙状态的命令是:

systemctl  status  iptables.service

如图:

2.2使用编辑文件的方式开放特定的端口

很多时候,需要开启防火墙,但是放行某些特定的端口,如何在防火墙开启的状态下,放行50007端口?按照下面的步骤做。

2.2.1修改规则

主要是编辑/etc/sysconfig/iptables文件,编辑方法很多,可以使用vim编辑,也可以直接把该文件下载到本地,用本地工具编辑。

将原来的内容    :INPUTACCEPT [0:0]   修改为     :INPUT DROP[0:0]

将原来的内容    :FORWARDACCEPT [0:0]  修改为    :FORWARD  DROP[0:0]

将原来的内容     :OUTPUT ACCEPT [0:0]    修改为        :OUTPUTACCEPT [0:480]

2.2.2添加放行的端口

iptables文件的末尾有如下三行内容:

-A INPUT -j REJECT--reject-with icmp-host-prohibited

-A FORWARD -j REJECT--reject-with icmp-host-prohibited

COMMIT

在这这三行的前面添加一行放行50070端口的配置内容:

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

同理,如果要放行80端口,就添加一行:

-A INPUT -p tcp -m tcp --dport  80 -j ACCEPT

 

修改完成后,我的/etc/sysconfig/iptables文件是这样的:

*filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [0:480]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

2.2.3重启iptables防火墙

       执行重启iptables防火墙的命令,命令是:

       systemctl  restart  iptables.service

       如图:

      

2.2.4测试端口放行效果

       在使用命令systemctl  stop firewalld.service关闭防火墙,使用命令systemctl  start  iptables.service开启防火墙,但是为配置/etc/sysconfig/iptables文件,未放行50070端口的情况下,访问以下地址http://192.168.27.134:50070/dfshealth.html#tab-overview

是访问不了的,如图:

在配置了/etc/sysconfig/iptables文件,添加了放行50070端口,并且重启了iptables防火墙的情况下,在访问该地址:http://192.168.27.134:50070/

发现OK了,如图:

 2.3使用执行命令的方式开放特定端口

2.3.1执行命令

在不手动修改iptables防火墙的配置文件的情况下,使用命令做到放行某些常用端口,命令集合是:

iptables -P INPUT ACCEPT

iptables -F 

iptables -X 

iptables -Z 

iptables -A INPUT -i lo -jACCEPT 

iptables -A INPUT -p tcp --dport22 -j ACCEPT 

iptables -A INPUT -p tcp --dport21 -j ACCEPT 

iptables -A INPUT -p tcp --dport80 -j ACCEPT 

iptables -A INPUT -p tcp --dport8080 -j ACCEPT

iptables -A INPUT -p tcp --dport8088 -j ACCEPT

iptables -A INPUT -p tcp --dport443 -j ACCEPT 

iptables -A INPUT -p icmp--icmp-type 8 -j ACCEPT 

iptables -A INPUT -p tcp --dport50070 -j ACCEPT 

iptables -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT 

iptables -P INPUT DROP 

iptables -P OUTPUT ACCEPT 

iptables -P FORWARD DROP 

service  iptables save 

systemctl  restart  iptables.service

如图:

    

CentOS中防火墙相关的命令(CentOS7中演示)的更多相关文章

  1. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  2. centos 7 防火墙相关操作

    centos 7 防火墙相关操作 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewal ...

  3. Oracle中sql相关的命令

    1.创建用户 SQL> -- 例如创建一个用户名为xiaoming,密码为a123的用户 SQL> create user xiaomingidentified by a123; 用户已创 ...

  4. linux centos 7 防火墙相关

    centos 7 系统 默认是开启防火墙,而且没有打开80和8080等端口. 因此,今天配置tomcat和nginx后,分别无法正常访问 访问80和8080端口都报:502错误.(错误的网关)查询资料 ...

  5. scrapy 在pycharm中调试 不用到命令行中启动爬虫方法

    (目录结构如上图) 在主目录中加入main.py,在其中加入代码,运行此文件就可以运行整个爬虫: # -*- coding: utf-8 -*- __author__='pasaulis' #在程序中 ...

  6. centos的防火墙相关

    在服务器上启动了node服务,但是外面访问不到, 原因是防火墙没开端口,新装的机器,也没有iptables systemctl stop firewalld yum install iptables- ...

  7. Visual Studio中“后期生成事件命令行” 中使用XCopy命令

    将程序所依赖的动态库与其他依赖文件做了分类,使用XCopy命令自动生成相应的目录结构. set source="$(TargetDir)" set output="$(S ...

  8. Redis字符串(STRING)中BIT相关命令

    上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是没有涉及到BIT相关的命令,本文我们就来看看几个和BIT相关的命令. 本文是Redis系列的第四篇文章,了解前面的文章有助于更好的理解 ...

  9. Windows命令行中pip install jieba,但没有安装到anaconda3中

    系统混淆了python3环境下的pip和anaconda3环境下的pip. 找到Anaconda3的Scripts目录,我这里是C:\Users\Diane\Anaconda3\Scripts 将该目 ...

随机推荐

  1. iOS项目开发实战——使用Xcode6设计自己定义控件与图形

    在iOS开发中,有很多控件都是Xcode默认提供的.使用这些控件是很方便的.可是因为某些须要.须要自己设计控件,那么应该怎么做呢?在Xcode6中提供了这种接口,同意开发人员高速开发自己定义控件,而且 ...

  2. swift+moya URLCahe

    1.定义获取缓存策略的接口 import Foundation protocol CachePolicyGettable { var cachePolicy: URLRequest.CachePoli ...

  3. 关于ShapeDrawable应用的一些介绍(中)之Gradient

    版权声明:本文为博主原创文章,未经博主允许不得转载. Gradient,渐变,是在界面设计中最经常用到的一种技巧,只要涉及到颜色的处理,浓妆淡抹总相宜,说的就是它. 在Android中,当然也提供了这 ...

  4. hdoj--1533--Going Home(最小费用流)

    Going Home Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  5. Koa 中实现 chunked 数据传输

    有关于 Transfer-Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输.这里看 Koa 中如何实现. Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接 ...

  6. flex和layout移动端布局

    1.九宫格 样式为: ul{ display: flex; flex-wrap: wrap;//超出换行 } li{ width: 33%; height: 60px; display: flex; ...

  7. mysqls,为node.js而编写的sql语句生成插件 (crud for mysql).

    It is written in JavaScript,crud for mysql.You can also use transactions very easily. mysqls 一款专为nod ...

  8. hdu1829 A Bug's Life 基础种类并查集

    题目的大意可以理解为:A爱B,B爱C ……给出一系列爱恋的关系,推断有没有同性恋. 思路是把相同性别的归为一个集合(等价类),异性的异性为同性. #include<iostream> #i ...

  9. java网络编程之socket(1)

    网络编程是什么 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...

  10. undefined reference to “boost” in Qt—Ubuntu

    一:使用PCL时遇到的问题 原因:缺少boost的lib包含: 在Pro文件里面添加: LIBS += -lboost_system .....................等库文件包含 二:编译B ...