在使用centos7安装完mysql、tomcat、nginx后,都需要配置防火墙才能正常访问。

下面系统的学习一下防火墙的配置。

centos7默认使用firewall,需要关闭,然后使用iptable

一、关闭firewall

  systemctl stop firewalld.service #停止firewall
  systemctl disable firewalld.service #禁止firewall开机启动
  firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

二、安装iptable iptable-service

  #先检查是否安装了iptables
  service iptables status
  #安装iptables
  yum install -y iptables
  #升级iptables(安装的最新版本则不需要)
  yum update iptables 
  #安装iptables-services
  yum install iptables-services

三、设置现有规则

  #查看iptables现有规则

  iptables -L -n

  #先允许所有,不然有可能会杯具

  iptables -P INPUT ACCEPT

  #清空所有默认规则

  iptables -F

  #清空所有自定义规则

  iptables -X

  #所有计数器归0

  iptables -Z

  #允许来自于lo接口的数据包(本地访问)

  iptables -A INPUT -i lo -j ACCEPT

  #开放22端口

  iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  #开放21端口(FTP)

  iptables -A INPUT -p tcp --dport 21 -j ACCEPT

  #开放80端口(HTTP)

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

  #开放443端口(HTTPS)

  iptables -A INPUT -p tcp --dport 443 -j ACCEPT

  #允许ping

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

  #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的

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

  #其他入站一律丢弃

  iptables -P INPUT DROP

  #所有出站一律绿灯

  iptables -P OUTPUT ACCEPT

  #所有转发一律丢弃

  iptables -P FORWARD DROP

四、其他规则

  #如果要添加内网ip信任(接受其所有TCP请求)

  iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT

  #过滤所有非以上规则的请求

  iptables -P INPUT DROP

  #要封停一个IP,使用下面这条命令:

  iptables -I INPUT -s ***.***.***.*** -j DROP

  #要解封一个IP,使用下面这条命令:

  iptables -D INPUT -s ***.***.***.*** -j DROP

五、保存规则

  #保存上述规则

  service iptables save

六、开启iptables服务

  #注册iptables服务

  #相当于以前的chkconfig iptables on

  systemctl enable iptables.service

  #开启服务

  systemctl start iptables.service

  #查看状态

  systemctl status iptables.service

七、映射端口(如将mysql默认的3306端口映射成1306对外提供服务)

  iptables -t mangle -I PREROUTING -p tcp --dport 1306 -j MARK --set-mark 883306 
  iptables -t nat -I PREROUTING -p tcp --dport 1306 -j REDIRECT --to-ports 3306 
i  ptables -I INPUT -p tcp --dport 3306 -m mark --mark 883306 -j ACCEPT

Linux Centos7配置防火墙开启端口的更多相关文章

  1. centos开启nginx服务成功,却无法访问。没有开启80端口。centos配置防火墙 开启80端口

    Linux配置防火墙 开启80端口 编辑配置文件/etc/sysconfig/iptables [root@weixinht ~]# vim /etc/sysconfig/iptables 1 # F ...

  2. Linux网络——配置防火墙的相关命令

    Linux网络——配置防火墙的相关命令 摘要:本文主要学习了如何在Linux系统中配置防火墙. iptables命令 iptables准确来讲并不是防火墙,真正的防火墙是运行于系统内核中的netfil ...

  3. centos7 防火墙 开启端口 并测试

    1.防火墙 CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables.下面记录如何使用fir ...

  4. Centos7(Firewall)防火墙开启常见端口命令

    使用云服务器的,一定要注意开启安全组配置的响应端口 Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装:firewalld真的用不习惯,与之前的iptable防火墙区别 ...

  5. Centos7命令行安装Tomcat以及配置防火墙开放端口

    [转载]Centos 7 yum安装tomcat 命令: 系统环境CentOS Linux release 7.2.1511 (Core) 一.搭建准备:1.先到tomcat官网https://tom ...

  6. Linux配置防火墙8080端口

    1.查看防火墙状态,哪些端口开放了 /etc/init.d/iptables status 2.配置防火墙 vi /etc/sysconfig/iptables ################### ...

  7. Centos7 配置防火墙 firewall

    一.firewall 1.从CentOS7开始,默认使用firewall来配置防火墙,没有安装iptables(旧版默认安装). 2.firewall的配置文件是以xml的格式,存储在 /usr/li ...

  8. Linux centos7. 配置安装Oracle

    oralcle 11g r2 配置一下前期的网络环境 一 修改linux核心配置 1.修改用户的SHELL限制vi /etc/security/limits.conf oracle soft npro ...

  9. Linux Centos7配置mysql8.0数据库

    本文转至:672530440 在此感谢博主,撒花!!! 本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Na ...

随机推荐

  1. 一个简单的迷你jQuery实现

    //仅提供与学习使用(function () { var _$ = window.$; var _jQuery = window.jQuery; //暴露外部使用的一个接口 var jQuery = ...

  2. 自学python笔记(一)

    一   简介:Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.其他的就不说了..... python是 ...

  3. 随笔-SQL的三种存储引擎即三种类型的表

    MYSQL 的环境变量:......server/bin下 引擎(Engine):是电子平台上开发程序或系统的核心组件.利用引擎,开发者可迅速建立.铺设程序所需的功能,或利用其辅助程序的运转.一般而言 ...

  4. #openstack故障处理汇总

    ##openstack故障处理汇总 排错 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ############# ...

  5. ##4.Glance 镜像服务-- openstack pike

    ##4.Glance 镜像服务 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Glance 镜像服务.txt ...

  6. POJ1273 网络流-->最大流-->模板级别-->最大流常用算法总结

    一般预流推进算法: 算法思想: 对容量网络G 的一个预流f,如果存在活跃顶点,则说明该预流不是可行流. 预流推进算法就是要选择活跃顶点,并通过它把一定的流量推进到它的邻接顶点,尽可能将正的赢余减少为0 ...

  7. JavaScript学习笔记(一)数组排序

    数组(Array)在JavaScript中是非常常用的类型,关于数组的排序,与C#等语法中的排序,乍看相似,其实差别比较大. Array的排序方法有两个,分别是reverse()和sort(). re ...

  8. 一键架设FastDFS分布式文件系统脚本,基于Centos6

    一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...

  9. 【译】使用Jwt身份认证保护 Asp.Net Core Web Api

    原文出自Rui Figueiredo的博客,原文链接<Secure a Web Api in ASP.NET Core> 摘要:这边文章阐述了如何使用 Json Web Token (Jw ...

  10. 前端优化之动画为什么要尽量用css3代替js

    导致JavaScript效率低的两大原因:操作DOM和使用页面动画.通常我们会通过频繁的操作 DOM的CSS来实现视觉上的动画效果,导致js效率低的两个因素都包括在内了在频繁的操作DOM和CSS时,浏 ...