辛星解读Linux下iptables的配置

查看与清除保存规则:

查看本机iptables设置:   iptables  -L  -n

清除预设表filter中的所有规则连的规则:  iptables  -F

清除预设表filter中使用者自定链中的规则:  iptables  -X

把当前配置保存:       /etc/rc.d/init.d/iptables   save

重启iptables功能:     service   iptables   restart

设定预设规则:

iptables   -p   INPUT   DROP

iptables   -p   OUTPUT   ACCEPT

iptables   -p   FORWARD   DROP

上面的意思是超出了iptables里的filter表中的两个链规则(INPUT、FORWARD)时,不在这两个规则包里的数据包直接DROP,也就是放弃。这样的配置还是很安全的,我们要控制流入数据包。而对于OUTPUT链,也就是流出的包,我们不用做太多限制,而是采用ACCEPT,也就是说,不在这个规则里的包也可以通过。

也就是说INPUT、FORWARD这两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过。当然我们也可以三个链都使用DROP,但是这样要写的规则就会增加。如果我们只想要有限的几个规则,比如只作为web服务器,那么我们还是推荐这三个链都是DROP。

INPUT链:

INPUT链的默认规则是DROP,我们就需要写ACCEPT(通过)的链:

为了能远程登录,我们要开启22端口,操作为:

iptables   -A  INPUT  -p  tcp  --dport  22  -j  ACCEPT

iptables   -A  OUTPUT  -p  tcp  --sport  22  -j  ACCEPT (注意,如果我们把OUTPUT设置为DROP的时候要写上它,如果我们忘了写它,那么会出现始终无法ssh的情况)

如果我们做了web服务器,我们需要开启80端口,操作为:

iptables   -A  INPUT  -p  tcp  --dport  80  -j  ACCEPT

当然如果我们的WEB服务器把OUTPUT也设置为了DROP,那么还需要加上:

iptables   -A OUTPUT  -p  tcp  --sport  80   -j  ACCEPT

如果我们做了邮件服务器,通常需要开启25和110端口:

iptables   -A  INPUT    -p  tcp   --dport   110   -j  ACCEPT

iptables   -A  INPUT    -p  tcp   --dport    25    -j  ACCEPT

如果我们做了DNS服务器,那么通常开启53端口:

iptables    -A  INPUT   -p tcp    --dport    53    -j  ACCEPT

允许loopback,不然会导致DNS无法正常关闭等问题:

iptables   -A INPUT  -i  lo  -p  all  -j   ACCEPT  (如果是INPUT  DROP)

iptables   -A  OUTPUT  -o  lo   -p all  -j  ACCEPT(如果是OUTPUT   DROP)

OUTPUT链:

由于OUTPUT链默认规则是ACCEPT,所以我们需要些DORP(放弃)的链。

我们可以减少不安全的端口连接,比如31337,如下:

iptables   -A OUTPUT   -p  tcp  --sport  31337   -j  DROP

iptables   -A  OUTPUT  -p  tcp  --dport  31337  -j  DROP

比如我们只允许192.168.0.101的机器进行SSH连接,如下:

iptables   -A  INPUT   -s  192.168.0.101  -p tcp  --dport  22  -j  ACCEPT

如果要允许或者限制一段IP可以用192.168.0.0/24表示192.168.0.1-255之间的所有IP,这里的24是子网掩码数。

如果我们允许所有IP都可以进行SSH连接,如下:

iptables  -A  INPUT  -p tcp  --dport  22  -j  ACCEPT

保存配置:

因为对于命令的方式,都是即时生效的,如果想要重启后也生效,就要写入到/etc/sysconfig/iptables里面。

我们可以使用/etc/rc.d/init.d/iptables   save来保存当前配置到配置文件中

FORWARD链:

FORWARD链的默认规则也是DROP,所以我们就写需要ACCEPT的链,对正在转发链的监控。

首先我们需要开启转发功能,在做NAT时,FORWARD默认规则是DROP时,必须做:

iptables  -A  FORWARD  -i  eth0  -o  eth1  -m state  --state  RELATED,ESTABLLISHED  -j ACCEPT

iptables  -A  FORWARD  -i  eth1  -o  eth0  -j  ACCEPT

我们丢弃坏的TCP包:

iptables   -A FORWARD  -p tcp ! --syn  -m state  --state  NEW  -j  DROP

我们处理IP碎片数量,防止攻击,允许每秒100个:

iptables  -A FORWARD   -f  -m  limit   --limit  100/s  --limit-burst  100  -j  ACCEPT

设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包:

iptables    -A  FORWARD   -p  icmp   -m  limit  --limit  1/s  --limit-burst  10  -j  ACCEPT

时间: 2024-07-30 23:52:39

辛星解读Linux下iptables的配置的相关文章

辛星浅析Linux下新用户的密码问题

当我们用Linux新建一个用户的时候,如果没有设置密码,那么此时的密码是一个未知数,它并不是一个空密码,我们可以用passwd来修改发现不论我们输入什么或者什么都不输入,都不起作用,还有就是这个用户无法被登陆,当然有一种情况是除外的,那就是使用root用户进行su. 当然要密码这个问题也非常简单,只要我们保证useradd和passwd成对出现,就肯定没有问题啦.它最大的误区就是我们会认为没有设置密码就是没有密码,直接一个回车就可以了,但是实际情况并不是这样.

辛星浅析Linux中的网卡配置指令

我们可以使用ifconfig来进行启动.观察与修改网络接口的相关参数,我们直接使用ifconfig就可以查看所有的网络接口,我们可以使用ifconfig   interface  up|down来启动或者关闭网络接口,我们可以使用ifconfig   interface  option的方式来进行修改,比如我们可以修改IP地址. 我们可以使用ifconfig   eth0来查看该网卡的配置,其中lo是loopback的意思,而HWaddr就是网卡的硬件地址,也就是所谓的MAC,而RX和TX分别是

辛星浅析Linux下用户锁定的一点问题

有时候我们需要锁定用户,通常有三种比较常见的方法: (1)禁止个别用户登录 比如禁止qian这个用户,我们只需要使用passwd  -l  qian 即可. 如果我们要解锁qian这个用户,我们只需要使用passwd   -u  qian 即可. (2)修改配置文件来禁止用户登录 比如我们要禁止qian这个用户登录,我们可以在/etc/passwd中把shell修改为/sbin/nologin即可 比如这一行可以改为qian:x:501:501:/home/qian:/sbin/nologin

LInux下iptables配置

linux下IPTABLES配置详解 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destination Chain FORWARD (policy ACCEPT)targ

Linux下iptables防火墙简单配置

Linux下防火墙简单配置 作为一个网站服务器,只需要开放80端口和22端口即可.80用于web访问,22用于远程登录管理,可以把22端口改成其他的端口,这样更安全.一般来说 在创建访问规则时 都会将原有的规则清零 这是一个比较好的习惯,因为某些规则的存在会影响你建的规则. 基本语法:iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]         [-p tcp,udp.icmp,all] [-s ip/nerwor

linux下IPTABLES配置详解 (防火墙命令)

linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT-A RH-Firewall-1-INPUT -s 121.10.120.24 -p tcp -m tcp --dport 18612 -j ACCEPT 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

2014年辛星解读CSS第八节 使用背景图片

这应该是系统CSS的教程的最后一节了,为什么呢,因为到这一节,我感觉基础知识就已经讲完了,接下来的就是无穷的实战,而实战是很难用知识去讲出来的,靠的是积累,拼的是经验,这些都不是讲出来的. 好,我们下面来说一下用CSS添加背景图片的方式把,它在background属性中指定,可以用url("图片路径")的方式来指定背景图片,如果是repeat,则图片在横向和纵向上平铺,如果是no-repeat,则背景图像不会平铺,只显示一次,如果是repeat-x,那么就在水平方向平铺,如果是repe

Linux下Redis服务器安装配置

说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl 2.安装tcl组件包(安装Redis需要tcl支持)cd /usr/local/src #进入软件包存放目录wget  http://downloads.sourceforge.net/tcl/tcl8.6.6-src.tar.gztar