转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50779761

CentOS7默认的防火墙不是iptables,而是firewalle.

安装iptable iptable-service

  1. #先检查是否安装了iptables
  2. service iptables status
  3. #安装iptables
  4. yum install -y iptables
  5. #升级iptables
  6. yum update iptables
  7. #安装iptables-services
  8. yum install iptables-services

禁用/停止自带的firewalld服务

  1. #停止firewalld服务
  2. systemctl stop firewalld
  3. #禁用firewalld服务
  4. systemctl mask firewalld

设置现有规则

  1. #查看iptables现有规则
  2. iptables -L -n
  3. #先允许所有,不然有可能会杯具
  4. iptables -P INPUT ACCEPT
  5. #清空所有默认规则
  6. iptables -F
  7. #清空所有自定义规则
  8. iptables -X
  9. #所有计数器归0
  10. iptables -Z
  11. #允许来自于lo接口的数据包(本地访问)
  12. iptables -A INPUT -i lo -j ACCEPT
  13. #开放22端口
  14. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  15. #开放21端口(FTP)
  16. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  17. #开放80端口(HTTP)
  18. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  19. #开放443端口(HTTPS)
  20. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  21. #允许ping
  22. iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
  23. #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
  24. iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
  25. #其他入站一律丢弃
  26. iptables -P INPUT DROP
  27. #所有出站一律绿灯
  28. iptables -P OUTPUT ACCEPT
  29. #所有转发一律丢弃
  30. iptables -P FORWARD DROP

其他规则设定

  1. #如果要添加内网ip信任(接受其所有TCP请求)
  2. iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
  3. #过滤所有非以上规则的请求
  4. iptables -P INPUT DROP
  5. #要封停一个IP,使用下面这条命令:
  6. iptables -I INPUT -s ***.***.***.*** -j DROP
  7. #要解封一个IP,使用下面这条命令:
  8. iptables -D INPUT -s ***.***.***.*** -j DROP

保存规则设定

  1. #保存上述规则
  2. service iptables save

开启iptables服务

  1. #注册iptables服务
  2. #相当于以前的chkconfig iptables on
  3. systemctl enable iptables.service
  4. #开启服务
  5. systemctl start iptables.service
  6. #查看状态
  7. systemctl status iptables.service

解决vsftpd在iptables开启后,无法使用被动模式的问题

1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容

  1. #添加以下内容,注意顺序不能调换
  2. IPTABLES_MODULES="ip_conntrack_ftp"
  3. IPTABLES_MODULES="ip_nat_ftp"

2.重新设置iptables设置

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

以下为完整设置脚本

    1. #!/bin/sh
    2. iptables -P INPUT ACCEPT
    3. iptables -F
    4. iptables -X
    5. iptables -Z
    6. iptables -A INPUT -i lo -j ACCEPT
    7. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    8. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    9. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    10. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    11. iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
    12. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    13. iptables -P INPUT DROP
    14. iptables -P OUTPUT ACCEPT
    15. iptables -P FORWARD DROP
    16. service iptables save
    17. systemctl restart iptables.service

CentOS7安装配置iptables防火墙的更多相关文章

  1. Linux CentOS7 安装配置 IPtables

    2021-08-11 1. 前言 防火墙其实就是实现 Linux 下访问控制功能的,分为硬件和软件的防火墙两种类型.无论在何网络中,防火墙工作的地方一定是网络的边缘.防火墙的策略.规则就是去定义防火墙 ...

  2. Centos7安装配置Apache+PHP+Mysql+phpmyadmin

    转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...

  3. CentOS下配置iptables防火墙 linux NAT(iptables)配置

    CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/syscon ...

  4. (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...

  5. CentOS7 安装配置笔记

    CentOS7 安装配置笔记 1.通过镜像安装 CentOS7 ==============================* 使用 UltraISO 9.7 或者 rufus-3.5p 制作ISO的 ...

  6. Centos7安装配置jenkins(Tomcat)

    Centos7安装配置jenkins(Tomcat) 一.准备工作 1.1 安装JDK1.8 具体安装过程不在赘述. 1.2 下载jenkins的war包 jenkins官网下载地址:https:// ...

  7. Centos7安装配置gitlab

    Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...

  8. Centos7安装配置JDK8

    Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...

  9. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

随机推荐

  1. 一个VB编写的俄罗斯方块

    'VB语言版俄罗斯方块'Totoo.Aoo34智造(一个人的两个名字),一些方块,很多计算 Const WN As Integer = 10, HN As Integer = 20Const Boxl ...

  2. Struts2如何实现MVC,与Spring MVC有什么不同?

    Struts2采用filter充当前端控制器处理请求,filter会根据Struts.xml的配置,将请求分发给不同的业务控制器Action,再由Action处理具体的业务逻辑.Action处理完业务 ...

  3. hihocoder #1456 : Rikka with Lattice(杜教筛)

    hihocoder #1456 : Rikka with Lattice(杜教筛) 题意 : 给你一个\(n*m\)方格图,统计上面有多少个格点三角形,除了三个顶点,不覆盖其他的格点(包括边和内部). ...

  4. 基于etcd的Rabbitmq队列订阅负载均衡

    go-qb Load balancer for rabbitmq queue subscribing Feature Rabbitmq queue subscription load balancin ...

  5. 基于Avocado 的 QData MySQL自动化测试.md

    qdata-mysql 自动化测试概要设计 │   ├── 1. 依赖环境 │   │   ├ │   │   └───── │   ├── 2. 配置文件 │   │   ├ │   │   └── ...

  6. 自定义MVC框架---第一章

    MVC基本介绍 介绍:  mvc是一种编程思想,用来解决开发项目的时候,代码如何编写,项目如何架构的问题,更具体一点就是解决多人协同开发时,如何分工协作的问题,从而提升开发效率 举一个例子:有一个人想 ...

  7. 简单http代理服务器搭建

    1. yum install squid2. vi /etc/squid/squid.conf 将http_access deny all 中deny 改为allow,http_port后面的是端口号 ...

  8. Android 零散知识点整理

    Android 零散知识点整理 为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停 ...

  9. git记录(给老婆找的地址)

    ssh配置 https://blog.igevin.info/posts/generate-ssh-key-for-git/ git 查看某个文件的修改历史 1. git log -p filenam ...

  10. 记录Window系统下myeclipes连接linux下mysql所出现的一个bug

    记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...