CentOS防火墙iptables的配置方法详解

iptables是与Linux内核集成的IP信息包过滤系统,其自带防火墙功能,我们在配置完服务器的角色功能后,需要修改iptables的配置。

配置CentOS和Ubuntu等Linux服务器时需要对服务器的iptables进行配置,以下是iptables常见的几种配置方法。

1.查看当前所有的iptables配置

 代码如下 复制代码

iptables -L -n

2.添加允许INPUT访问规则,以下时常见服务的端口设置,如果需要拒绝访问,则将ACCEPT改为DROP即可

 代码如下 复制代码

#SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#POP3
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

3.添加使用IP限制INPUT访问规则,这里拿SSH为例,192.168.0.100为允许的IP

 代码如下 复制代码

#DELETE
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
#ADD
iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT

4.保存iptables的设置,修改完规则后记得保存

 代码如下 复制代码

 /etc/rc.d/init.d/iptables save

5.重启iptables

 代码如下 复制代码

 service iptables restart

6.开启/关闭 开机启动

 代码如下 复制代码

chkconfig iptables on
chkconfig iptables off

7 .打开iptables的配置文件:

 代码如下 复制代码

vi /etc/sysconfig/iptables

通过/etc/init.d/iptables status命令查询是否有打开80端口,如果没有可通过两种方式处理:

8.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口

 代码如下 复制代码

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 
9.关闭/开启/重启防火墙

 代码如下 复制代码

/etc/init.d/iptables stop
#start 开启

#restart 重启

10.永久性关闭防火墙

 

 代码如下 复制代码

 chkconfig --level 35 iptables off 

 /etc/init.d/iptables stop 
   
iptables -P INPUT DROP

11.打开主动模式21端口

 

 代码如下 复制代码
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

12.打开被动模式49152~65534之间的端口

 代码如下 复制代码

iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT 

   

 iptables -A INPUT -i lo -j ACCEPT 

  

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

注意:

一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口

需要注意的是,你必须根据自己服务器的情况来修改这个文件。

全部修改完之后重启iptables:

 代码如下 复制代码

service iptables restart

你可以验证一下是否规则都已经生效:

 代码如下 复制代码

 iptables -L

通过文章的介绍,我们清楚的知道了CentOS下配置iptables防火墙的过程

在虚拟机搭建web后,主机访问不了,具体情况如下:

1。本机能ping通虚拟机
2。虚拟机也能ping通本机
3。虚拟机能访问自己的web
4。本机无法访问虚拟己的web
 
这时应该要想到是防火墙的原因。关于防火墙的设置网上很多例子,也有点复杂,在这里我就不介绍了。这里只解决如何让主机能够通过ip访问虚拟机的web。

 代码如下 复制代码
[root@CentOS ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

注意上面红色的一行。80端口是默认的web端口。22为ssh的端口(可通过ssh连接虚拟机了)。
重启防火墙让刚才的修改生效。

 代码如下 复制代码
[root@CentOS ~]# /etc/init.d/iptables restart

这时,你再在主机上通过ip访问虚拟机的web,应该就可以了。

推荐一篇:linux/iptables.htm">iptables防火墙配置指南

时间: 2024-10-18 21:14:03

CentOS防火墙iptables的配置方法详解的相关文章

YUM解决RPM包安装依赖关系及yum工具介绍本地源配置方法详解_Linux

1.背景概述 在实际生产环境下,对于在linux系统上安装rpm包,主要面临两个实际的问题 1)安装rpm包过程中,不断涌现的依赖关系问题,导致需要按照提示或者查询资料,手工安装更多的包 2)由于内外网的隔离,无法连接外网的yum源 鉴于上述因此,本文将详细介绍,yum工具以及配置本地yum源的方法 2.yum工具简介 •yum工具作为rpm包的软件管理器,可以进行rpm包的安装.升级以及删除等日常管理工作,而且对于rpm包之间的依赖关系可以自动分析,大大简化了rpm包的维护成本. •yum工具

Linux crontab定时任务配置方法(详解)_Linux

CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行.cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业.crontab命令允许用户提交.编辑或删除相应的作业.每一个用户都可以有一个crontab文件来保存调度信息.系统管理员可以通过cron.deny 和 cron

mysql 5.6.13 免安装版配置方法详解_Mysql

1. 下载mysql Community Server 5.6.13 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Program Files\MySQL\mysql-5.6.13-win32" 将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini 复制下面的配置信息到 my.ini 保存 #如果没有my-default.ini,可自己新建my.ini或者从其他地方中获取 ################

linux网站服务Apache的安装与配置方法详解_Linux

这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载在/media/cdrom目录,在做本地yum源的时候此目录为默认目录之一 [root@localhost /]# mount /dev/cdrom /media/cdrom/ 2.安装httpd服务(如果本地yum源已经搭建好就直接进行这一步,没有的话需要搭建,前面的文章有提到yum源的搭建) [

Apache防DDOS模块mod_evasive安装和配置方法详解_Linux

一.mod_evasive 介绍mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块.虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力.如配合iptables.硬件防火墙等防火墙设备配合使用,可能有更好的效果.mod_evasive 的官方地址: http://www.zdziarski.com/二.mod_evasive 工作原理Apache模块mo

mysql5.1.26安装配置方法详解_Mysql

MySQL安装与配置 1.所用MySQL的版本为:MySQL_5_1_26.msi: 2.下载好软件后双击进入以下界面:   3.点击Next,进入以下界面:   4.选择"Custom"后,点击Next,进入以下界面:   5.然后点击图中所有的下拉可选项(总共四个),选择第二个选项,即"This feature,and all subfeatures,will be...":其中的一个示例截图如下:   6.然后点击"Change"按钮,将安

企业路由器IPSEC VPN配置方法详解

需求介绍 某公司总公司位于深圳,在北京.上海.广州三地有分公司,现需要组建一个网络,要求实现分公司都能够安全的访问公司内部邮件服务器和文件服务器,本文将通过一个实例来展示TL-ER6120的解决方案和配置过程. 网络规划 深圳总公司局域网网段为"192.168.0.0/24": 北京分公司为"192.168.1.0/24": 上海分公司为"192.168.2.0/24": 广州分公司为"192.168.3.0/24". 拓扑如

Nginx下ThinkPHP5的配置方法详解

本文主要给大家介绍了关于Nginx下ThinkPHP5的配置方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: url里public目录的隐藏 出于安全的考虑,TP5的入口文件改成放在public下了,因为这样的话能防止被恶意用户访问到"/thinkphp/"."/vendor/"等等这些目录下的文件.所以当你以之前的习惯将网站documentroot配置为项目根目录的时候就会需要在url后面加上/public/来访问.当然可能也会有童鞋把入口文件放

Redhat/CentOS通过yum安装与配置方法详解

1 检查当前Linux系统是否安装了vsftp  代码如下 复制代码 [root@localhost ~]#rpm -qa|grep vsftpd //若没有任何输出内容,则表示当前linux系统未安装vsftp. 2 安装vsftpd服务器 从redhat或者centos的安装镜像包的server/文件夹中提取出rpm包.(RHEL5.3中的是vsftpd-2.0.5-12.el5.i386.rpm,通过vmtools把它复制到root's home中去,然后执行如下命令:  代码如下 复制代