在使用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. C语言之成绩转换

    #include<stdio.h>int main(){int score,grade;scanf("%d",&score);grade=score/10;sw ...

  2. Android测试:Testing Apps on Android

    原文:https://developer.android.com/training/testing/index.html 测试你的App是开发过程中的重要组成部分.通过对应用程序持续的运行测试,你可以 ...

  3. Codeforces 438D The Child and Sequence

    题意:给定一个n个数的序列,完成以下3个操作: 1.给定区间求和 2.给定区间对x取模 3.单点修改 对一个数取模,这个数至少折半.于是我们记一个最大值max,如果x>max则不做处理. #in ...

  4. http请求报文格式和响应报文格式

    转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...

  5. 二叉树的递归遍历 The Falling Leaves UVa 699

    题意:对于每一棵树,每一个结点都有它的水平位置,左子结点在根节点的水平位置-1,右子节点在根节点的位置+1,从左至右输出每个水平位置的节点之和 解题思路:由于上题所示的遍历方式如同二叉树的前序遍历,与 ...

  6. HTML,CSS学习笔记

    <p>元素,代表是一个段落,单独另起一行</p> <h1>的意思就是主标题</h1> <h1><h2><h3>... ...

  7. quickhybrid】如何实现一个Hybrid框架

    章节目录 [quickhybrid]如何实现一个跨平台Hybrid框架 [quick hybrid]架构一个Hybrid框架 [quick hybrid]H5和Native交互原理 [quick hy ...

  8. Hibernate学习笔记(五) — 多对多关系映射

    多对多关系映射 多对多建立关系相当于在第三张表中插入一行数据 多对多解除关系相当于在第三张表中删除一行数据 多对多改动关系相当于在第三张表中先删除后添加 多对多谁维护效率都一样.看需求 在实际开发过程 ...

  9. 一个简单的双向链表(C++实现)

    直接上代码,亲测有用. #ifndef __DLINK_H__ #define __DLINK_H__ /* [phead] -> [index0] -> [index1] -> [ ...

  10. 自学Zabbix3.10.1.1-事件通知Notifications upon events-媒介类型email

    自学Zabbix3.10.1.1-事件通知Notifications upon events-媒介类型email 配置媒介Email Administration→Media types->Cl ...