在使用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. Python函数篇

    1.函数名的命名规则: 函数名必须以下划线或字母开头,可以包含任意字母.数字或下划线的组合.不能使用任何的标点符号: 函数名是区分大小写的. 函数名不能是保留字. 2. 形参和实参 形参:形式参数,不 ...

  2. 高性能、高可用、高扩展ERP系统架构设计

    ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等 ...

  3. C#设计模式之十八中介者模式(Mediator Pattern)【行为型】

    一.引言 今天我们开始讲“行为型”设计模式的第五个模式,该模式是[中介者模式],英文名称是:Mediator Pattern.还是老套路,先从名字上来看看.“中介者模式”我第一次看到这个名称,我的理解 ...

  4. java第一阶段测试

    一.选择题(35题 * 2分)1. 下列代码编译和运行的结果是:C public static void main(String[] args) {   String[] elements = { & ...

  5. NGUI_01

    序言:这是张三疯第一次开始NGUI插件的学习,刚开始学习,肯定有很多漏洞,后期会及时的补上的.希望大家可以见谅,希望大佬多多指教. 扩充:为提供和我一样的小白找不到免费的NGUI插件,这里分享百度网盘 ...

  6. VS2015远程调试

    原文链接 VS2015远程调试   在PayPal支付时,PayPal回调函数一直报错,本地没有外网IP,没有办法在本地调试,需要远程调试: 1.找到远程调试的文件夹: 找到对应的服务器的型号:64位 ...

  7. ChatterBot之使用mongodb 03

    上一篇我们已经搭建好了mongodb环境,本篇为简单示例. 废话不多说先上代码然后开始讲解; !!!别忘了打开你的mongdb服务!!!,如果没有mongodb请看上篇如何安装mongodb; # - ...

  8. gitup问题的处理

    在使用本地建立git仓库后,准备使用 因为之前已经登录了,所以没有给登录的命令行 1.git init         命令初始化仓库 2.git add .     命令将所有的文件传输到git仓库 ...

  9. 17. ZooKeeper常见的分布式系统任务——屏障

    以后几节中主要介绍以下内容: 如何执行领导者选举,组员管理和两阶段提交协议等常见的分布式系统任务 如何实现一些分布式数据结构,如屏障(barrier),锁(lock)和队列(queue) 这一章中概述 ...

  10. Python笔记·第六章——字典 (dict) 的增删改查及其他方法

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...