CentOS7安装iptables防火墙的方法

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

安装iptable iptable-service

#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services

禁用/停止自带的firewalld服务

#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

设置现有规则

#查看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

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

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

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

2.重新设置iptables设置

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

以下为完整设置脚本

#!/bin/sh
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
service iptables save
systemctl restart iptables.service

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解centos6和centos7防火墙的关闭

    CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable status Redirecting to /bin/systemctl status iptable.service iptable.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead

  • CentOS7下Firewall防火墙配置用法详解(推荐)

    centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于centos 7中防火墙使用方法. FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具.它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项.它也支持允许服务或者应用程序直接添加防火墙规则的接口. 以前的 system-config-firewall/lokkit 防火墙模型是静态

  • centos7中firewall防火墙命令详解

    为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下. 如果小伙伴也准备在vultr上买vps  在注册是 可以使用这个优惠连接http://www.vultr.com/?ref=6972993-3B 会的到 20$ 的优惠  也就可以免费使用4个月 如果你的系统上没有安装使用命令安装 #yum install firewalld //安装firewalld 防火墙 开启服务 # systemctl start fir

  • 详解CentOS7防火墙管理firewalld

    学习apache安装的时候需要打开80端口,由于centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,想着反正iptable也不太熟悉,索性直接搬官方文档,学习firewalld了,好像比iptables要简单点了. 官方文档地址:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewal

  • 详解CentOS7使用firewalld打开关闭防火墙与端口

    1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewalld  2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体. 启动一个服务: systemctl start firewalld.service 关闭一

  • CentOS7中防火墙的一些常用配置介绍

    centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于CentOS7中防火墙的一些常用配置. # 启动 systemctl start firewalld # 查看状态 systemctl status firewalld # 停止关闭 systemctl disable firewalld systemctl stop firewalld # 把一个源地址加入白名单,以便允许来自这个源地址的所有连接 # 这个在集群中使用常

  • Centos7.1防火墙开放端口快速方法

    例如安装Nagios后,要开放5666端口与服务器连接,命令如下: [root@centos7-1 ~]# firewall-cmd --add-port=5666/tcp 即时打开,这里也可以是一个端口范围,如1000-2000/tcp success [root@centos7-1 ~]# firewall-cmd --permanent --add-port=5666/tcp 写入配置文件 success [root@centos7-1 ~]# firewall-cmd --reload

  • CentOS 7.0关闭默认防火墙启用iptables防火墙的设置方法

    CentOS在7.0之前貌似都是用的iptables为防火墙的,在7.0以后都是firewall,其实我也不知道为嘛,但是大部分人都是用iptables,so我也用它了. 下面通过本文给大家分享CentOS 7.0关闭默认防火墙启用iptables防火墙的设置方法,具体内容详情如下所示: 操作系统环境:CentOS Linux release 7.0.1406(Core) 64位 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firew

  • CentOS7安装iptables防火墙的方法

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables status #安装iptables yum install -y iptables #升级iptables yum update iptables #安装iptables-services yum install iptables-services 禁用/停止自带的firewalld服务 #停止fir

  • centOS7安装jdk1.8的方法

    1.在/usr/local 目录下新建Java文件夹 mkdir /usr/local/java 将jdk拷贝到 /usr/local/java  进入到java文件夹,解压压缩包 tar xvf jdk-8u181-linux-x64.tar.gz 2.设置环境变量  这里采用全局设置方法,就是修改etc/profile,它是是所有用户的共用的环境变量  找到/etc/profile,编辑,在末尾添加 export JAVA_HOME=/usr/local/java/jdk1.8.0_181

  • centos7安装mysql5.6的方法

    1.使用 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmmingl 命令下载安装包 2.使用命令 yum install mysql-server 安装mysql 3.安装后使用命令 systemctl start mysqld 启动服务 以上所述是小编给大家介绍的centos7安装mysql5.6,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • centos7安装mongo数据库的方法(mongo4.2.8)

    目录 一.Mongo下载 二.Mongo数据库安装和启动 2.1.Mongo4.2.8数据库安装 2.2.Mongo数据库启动 2.2.添加环境变量 2.3.mongo命令进入数据库 2.4.客户端工具连接mongo数据库 一.Mongo下载 MongoDB的下载网址:https://www.mongodb.com/download-center/community 选择系统合适的版本 例如: Availabel Downloads:选择 Version;4.2.8(current) Platf

  • CentOS7安装配置 Redis的方法步骤

    导语 Redis 不用多介绍了,下面开始安装配置吧. 安装 下载源码 wget http://download.redis.io/releases/redis-4.0.12.tar.gz: 解压并进入到目录 tar xzf redis-4.0.12.tar.gz.cd redis-4.0.12/: 编译到指定目录 make PREFIX=/usr/local/redis install创建 /usr/local/redis/ect 目录,将 redis.conf 复制过来 /usr/local/

  • CentOS7安装MySQL 8.0.26的过程

    1.首先,根据自己的机子到MySQL官网下载对应的数据库https://dev.mysql.com/downloads/mysql/ 2.利用xftp上传压缩包到虚拟机或者服务器的某个文件夹中,最后把MySQL压缩包解压到自定义目录,如果你在Linux下载此步骤跳过(方法不限). 3.卸载mariadb数据库,先查看mariadb的安装包,然后卸载,最后可再次查看确认,命令如下: rpm -qa | grep mariadb rpm -e mariadb-libs-5.5.68-1.el7.x8

  • centos7安装nginx的两种方法介绍

    centos7安装nginx 第一种方式:通过yum安装 直接通过 yum install nginx 肯定是不行的,因为yum没有nginx,所以首先把 nginx 的源加入 yum 中. 运行下面的命令: 1.将nginx放到yum repro库中 复制代码 代码如下: [root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noa

  • Centos7安装和卸载Mongodb数据库的方法

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 本资料根据官方网站上总

  • centos7安装部署gitlab服务器的方法

    我这里使用的是centos 7 64bit系统,我试过centos 64bit系统也是可以的 1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix 3.下载gitlab安装包,然后安装 centos 6系

随机推荐