CentOS iptables防火墙的基本应用讲解
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防火墙的基本应用讲解的更多相关文章
- Centos iptables防火墙设置
iptables的基本语法格式 iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]说明:表名.链名用于指定iptables命令所操作的表和链,命令选项用于指定 ...
- Centos iptables防火墙关闭启动详解
CentOS .0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 .直接关闭防火墙 systemctl stop firewalld.service #停止firewal ...
- 【服务器防护】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 ...
- CentOS系统配置 iptables防火墙
阿里云CentOS系统配置iptables防火墙 虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...
- CentOS 7.0,启用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CentOS 7.0禁用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. firewall: systemctl start firewalld.service#启动firewal ...
- CentOS 7.0启用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CentOS 7设置iptables防火墙开放proftpd端口
由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...
- 利用CentOS系统IPtables防火墙添加网站IP白名单
参考博文: 利用CentOS系统IPtables防火墙添加360网站卫士节点IP白名单 centos6.5添加白名单如下: 在防火墙 配置文件中加入白名单 ip -A INPUT -s 183.13 ...
随机推荐
- NO.1 在Eclipse中安装Maven插件安装详解
前言 本来是没打算写博客的,作为一个13年毕业的菜鸟,自认为水平太渣写不出什么好文章,但是前些日子看到一篇鼓励性质的文章说,技术人员的成长靠的就是点点滴滴的积累,博客内容不一定包含多么高深的内容,但是 ...
- OpenDayLight Helium安装
参照:OpenDaylight的Helium(氦)版本安装 下载链接地址为 http://www.opendaylight.org/software/downloads/helium 安装: unzi ...
- 使用git一张图就够了
现在,版本控制工具中,git逐步成为主流.他的分散式的特性是它超越svn渐渐独霸江湖.如果你还不熟悉git,通过本文,你有个最基本最实用的理解:如果你熟悉git,温故而知新,为你加深对git的理解 g ...
- UOJ #122 【NOI2013】 树的计数
题目链接:树的计数 这道题好神啊……正好有人讲了这道题,那么我就写掉吧…… 首先,为了方便考虑,我们可以把节点重标号,使得\(bfs\)序变成\(1,2,3,\dots,n\),那么显然树的深度就是\ ...
- codeforces 200 div2 C. Rational Resistance 思路题
C. Rational Resistance time limit per test 1 second memory limit per test 256 megabytes input standa ...
- apache允许列目录
vi /etc/httpd/conf.d/welcom.conf <LocationMatch "^/+$"> #Options -Indexes vi /etc ...
- Linux命令详解-whatis
描述一个命令执行什么功能. 1.命令格式: whatis [ -M PathName ] Command ... 2.命令功能: 描述一个命令执行什么功能. 3.命令参数: -M PathNa ...
- bzoj1054: [HAOI2008]移动玩具 状压+爆搜即可
题意:在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初的玩具状态 ...
- hdu4280网络流之dinic
这题就是个模板题,不过我是第一次写dinic,好久没用链式前向星又不会了... 时间:9126ms #include<map> #include<set> #include&l ...
- DataReader 绑定DataGridView有两种方式
第一种:借助于BindingSourcesqlDataReader Sdr=通过查询函数得到的sqlDataReader类型的数据;BindingSource Bs=new BindingSource ...