iptables是Linux下不错的防火墙软件,本文主要给大家介绍下iptables的安装、规则增加和清除、开放指定端口、屏蔽指定ip和ip段等CentOS下iptables的基本应用。

一、iptables的安装

yum install iptables

如果CentOS没有默认安装iptables,则执行上述命令。如何知道系统是否有iptables呢?执行以下命令

service iptables status

如果提示 iptables:unrecognized service 则表示系统尚未安装。

二、iptables所在目录与配置文件(IP4)

安装完iptables后,配置文件默认在/etc/sysconfig/iptables

图为iptables默认的配置

三、先清除已有的规则,在SSH中执行下列命令(“#”号和“#”号后的无需填写)

iptables -F #清空所选链。这等于把所有规则一个个的删除。
 iptables -X #删除指定的用户自定义链。
 iptables -Z #把所有链的包及字节的计数器清空。

四、开放指定的端口

这个一般用于服务器,如允许常用的80(http端口),20、21(FTP端口),22(SSH端口),3306(MYSQL端口等)

1、编辑/etc/sysconfig/iptables文件,推荐使用WINCAP

2、把默认的规则清除并添加下列字段

# 允许已建立的或相关连的通行
 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 #允许本地回环接口
 -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
 #允许本机对外访问 
-A OUTPUT -j ACCEPT
# 允许访问SSH端口,如果端口修改了可以更改相应端口号 
-A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80(HTTP)端口 
-A INPUT -p tcp --dport 80 -j ACCEPT 
#允许访问FTP端口:21、20 
-A INPUT -p tcp --dport 21 -j ACCEPT 
-A INPUT -p tcp --dport 20 -j ACCEPT 
 #允许访问161(SNMP)端口:
 -A INPUT -p udp --dport 161 -j ACCEPT
 #禁止其他未允许的规则访问 
-A INPUT -j REJECT -A FORWARD -j REJECT
 #使用XEN、OPENVZ的VPS用户注意!!!如果在文件中加上了最后一条“禁止其他未允许的规则访问”,则必须加上第一条“允许已建立的或相关连的通行”。如果没加上第一条,则无法通过指定的端口号(如SSH)连接VPS。

3、保存并使用以下命令重启iptables。

service iptables restart

五、屏蔽指定IP、IP段

1、屏蔽单个IP

在/etc/sysconfig/iptables中添加以下规则,即可将IP123.45.67.89永久BAN(封)掉。

-A INPUT -s 123.45.67.89 -j DROP

添加多条单个IP也很简单,直接回车另起一行,将以上规则稍作修改即可。

2、屏蔽IP段

有时候需要屏蔽一个地区、一个国家或一个网段的IP时,我们可以通过以下方式屏蔽

#屏蔽整个段(A类地址)即从192.0.0.1到192.255.255.254,则添加以下规则。
 -I INPUT -s 192.0.0.0/8 -j DROP
 #封IP段(B类地址)即从192.168.0.1到192.168.255.254,则添加以下规则。
 -I INPUT -s 192.168.0.0/16 -j DROP
 #封IP段(C类地址)即从192.168.200.1到192.168.200.254,则添加以下规则。
 -I INPUT -s 192.168.200.0/24 -j DROP

以上操作保存后,重启iptables即可。

六、查询已经添加了的iptables规则

iptables -L -n

在SSH中执行以上语句,其中后面的参数用法是:

v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M)
n:只显示IP地址和端口号,不将ip解析为域名

七、删除已经添加了的iptables规则

我们可以通过SSH命令快速删除规则,首先执行以下命令,把iptables规则以数字序号的形式显示。

iptables -L -n --line-numbers

如果我们要删除第5条规则,则执行以下命令即可。

iptables -D INPUT 5

八、将iptables设置为开机自动启动

iptables默认开机不启动的,如有需要请设置为开机自动启动,在SSH中执行以下代码即可。

反操作请把“on”改为“off”

chkconfig iptables on

CentOS iptables防火墙的基本应用讲解的更多相关文章

  1. Centos iptables防火墙设置

    iptables的基本语法格式 iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]说明:表名.链名用于指定iptables命令所操作的表和链,命令选项用于指定 ...

  2. Centos iptables防火墙关闭启动详解

    CentOS .0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 .直接关闭防火墙 systemctl stop firewalld.service #停止firewal ...

  3. 【服务器防护】centos iptables 防火墙设置 mac过滤

    1.阻止MAC地址为XX:XX:XX:XX:XX:XX主机的所有通信: iptables -A INPUT -s 192.168.1.21 -m mac --mac-source XX:XX:XX:X ...

  4. CentOS系统配置 iptables防火墙

    阿里云CentOS系统配置iptables防火墙   虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...

  5. CentOS 7.0,启用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  6. CentOS 7.0禁用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. firewall: systemctl start firewalld.service#启动firewal ...

  7. CentOS 7.0启用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  8. CentOS 7设置iptables防火墙开放proftpd端口

    由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...

  9. 利用CentOS系统IPtables防火墙添加网站IP白名单

    参考博文: 利用CentOS系统IPtables防火墙添加360网站卫士节点IP白名单 centos6.5添加白名单如下: 在防火墙 配置文件中加入白名单  ip -A INPUT -s 183.13 ...

随机推荐

  1. HDU 1166 敌兵布阵(线段树 or 二叉索引树)

    http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N<=50000),表示敌人有 ...

  2. BZOJ 3930 【CQOI2015】 选数

    题目链接:选数 这种SB题我都Wa飞了,彻底没救系列- 首先,我们可以发现1,如果我们选了两个不同的数,那么它们的\(\gcd\)不会超过\(r-l+1\).于是,我们可以设一个\(f_i\)表示任取 ...

  3. FastJson/spring boot: json输出方法二

    1.引入FastJson依赖包 <!-- FastJson --> <dependency> <groupId>com.alibaba</groupId> ...

  4. PHP--------微商城实现微信授权登录

    前段时间做完微商城了,来把微信商城学到的一些东西分享一下,希望对各位有所帮助. PHP做后台,先来说微信商城的授权登录吧!这个几乎都有,这个功能代码其实不多,主要是看懂文档需求. 前提:要有公众号,和 ...

  5. Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

    Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...

  6. Hive之GROUP BY详解

    一,GROUP BY 执行理解 先来看下表1,表名为test: 表1 执行如下SQL语句: SELECT name from test GROUP BY name ;   你应该很容易知道运行的结果, ...

  7. 无法安装64位版本的office因为在您的pc

    无法安装64位版本的office因为在您的pcWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Installer\Products\00 ...

  8. SGU 131. Hardwood floor 状压dp 难度:2

    131. Hardwood floor time limit per test: 0.25 sec. memory limit per test: 4096 KB The banquet hall o ...

  9. idea常用实用快捷键

    Ctrl+Alt+方向键(左键,右键),返回上次查看的位置.(这个快捷键和window本身快捷键冲突,需要关闭windows 对应快捷键功能,参考博客:https://blog.csdn.net/u0 ...

  10. jmeter4.0---自带录制功能录制脚本

    1.前言 Jmeter录制脚本有两种方式.1.通过第三方工具录制比如:Badboy,然后转化为jmeter可用的脚本:2.使用jmeter本身自带的录制脚本功能. 对于小白来说可用先使用jmeter录 ...