可以修改/etc/rc.d/boot.local让规则重启后也能生效,如:

/sbin/iptables -F

/sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT

/sbin/iptables -A INPUT -i eth0 -p tcp -j DROP

/sbin/iptables -A INPUT -i eth0 -p udp -j DROP

iptables是一个链的方式从前往后判断,如果前面的规则成立就不会往后继续,所以要注意顺序,一般每行对应一条规则。

-A是Append意思,也就是追加

-I是Insert意思,也就是插入

-F表示清除(即删除)掉已有规则,也就是清空。

查看已有的规则,执行命令:iptables -L -n

如(参数-L为list意思,-n表示以数字方式显示IP和端口,不指定-n则显示为名称,如:http即80端口):

# iptables -L -n

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:443

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:80

DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           

DROP       udp  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination 

从可以看到:iptables有三种规则链(Chain),即INPUT、OUTPUT和FORWARD。

INPUT 用于指定输入规则,比如外部是可以访问本机的80端口

OUTPUT 用于指定输出规则,比如本机是否可以访问外部的80端口

FORWARD 用于指定端口转发规则,比如将8080端口的数据转到到80端口

-I和-A需要指定链(Chain)名,其中-I的链名后还需要指定第几条(行)规则。

可通过-D参数删除规则,有两种删除方式,一是匹配模式,二是指定第几条(行)。

也可以通过-R参数修改已有规则,另外-L参数后也可以跟链(Chain)名,表示只列出指定链的所有规则。

-j参数后跟的是动作,即满足规则时执行的操作,可以为ACCEPT、DROP、REJECT和REDIRECT等。

在iptables的INPUT链的第一行插入一条规则(可访问其它机器的80端口):

iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT

在iptables的INPUT链尾追加一条规则(可访问其它机器的80端口):

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

如果要让其它机器可以访问本机的80端口,则为:

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

插入前:

# iptables -L -n

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           

DROP       udp  --  0.0.0.0/0            0.0.0.0/0  

插入:

# iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT

插入后:

# iptables -L -n

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:80

DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           

DROP       udp  --  0.0.0.0/0            0.0.0.0/0  

追加前:

# iptables -L -n

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           

DROP       udp  --  0.0.0.0/0            0.0.0.0/0 

追加:

# iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT

追加后(ACCEPT将不能生效):

# iptables -L -n

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           

DROP       udp  --  0.0.0.0/0            0.0.0.0/0 

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:80

iptables简单应用的更多相关文章

  1. iptables简单配置

    iptables简单配置 分类: Linux 安全2010-10-20 16:56 4241人阅读 评论(0) 收藏 举报 input防火墙tcpfilterubuntuservice # iptab ...

  2. iptables简单使用

    1.安装iptables yum install iptables-services 2.iptables简单使用 iptables防火墙文件路径/etc/sysconfig/iptables sys ...

  3. [ 总结 ] web server iptables 简单配置

    [root@server ~]# iptables -F [root@server ~]# iptables -X [root@server ~]# iptables -A INPUT -m stat ...

  4. iptables 简单介绍及应用 Linux防火墙

    iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...

  5. iptables 简单配置

    通过命令 netstat -tnl 可以查看当前服务器打开了哪些端口  Ssh代码   netstat -tnl     查看防火墙设置  Ssh代码   iptables -L -n      开放 ...

  6. Linux iptables简单配置

    #!/bin/sh#modprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t ...

  7. iptables简单用法

    iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 &l ...

  8. iptables简单规则记录

    先来一句:好记性不如烂笔头! 1.iptables简介 iptables是基于包过滤的防火墙,它主要工作在osi模型的2,,4层,也可以工作在7层(iptables + squid) 2.原理 防火墙 ...

  9. iptables简单了解

    简介 Iptables是unix/linux自带的一款优秀且开源的基于包过滤的防火墙工具. 怎么用 可以用来做主机防火墙. 可以做局域网共享上网. 可以做ip及端口映射. Iptables工作流程 i ...

随机推荐

  1. 在 JavaScript 中 ["1","2","3"].map(parseInt) 为何返回不是 [1,2,3] 却是 [1,NaN,NaN]?

    这个问题我是希望有很多人可以一起交流的: 我在 http://blog.csdn.net/justjavac/article/details/19473199#t0 上看到了比较详细的解释, 但是具体 ...

  2. will not be exported or published. Runtime ClassNotFoundExceptions may result.

    在eclipse中加入某个jar包时,会出现Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFou ...

  3. 安装doxygen(一个自动文档生成工具)+Graphviz图形可视化软件

    参考文章: http://www.fmddlmyy.cn/text21.html http://www.cnblogs.com/duguguiyu/archive/2008/06/29/1231852 ...

  4. 微信小程序之 ----API接口

    1. wx.request 接口    可在文件 wxs中操作,连接服务器处理数据    参数    ① url ② data ③ header ④ method ⑤ dataType   回调   ...

  5. u-boot之ARM920T的start.S分析

    cpu/arm920t/start.S程序步骤大致有以下几个 1.设置中断向量表 2.设置CPU模式为SVC32 mode并且关闭IRQ与FIQ中断 3.关闭看门狗 4.屏蔽所有中断 5.判断程序是否 ...

  6. MySQL优化(一) 优化关键技术

    MySql的优化是一个综合性的技术,主要包括有: (1)表的设计合理化(符合 3NF 三范式) (2)添加适当的索引(Index):索引分类:普通索引.主键索引.唯一索引.全文索引(文本).空间索引. ...

  7. php 类与对象

    1.类与对象 对象:实际存在该类事物中每个实物的个体.$a =new User(); 实例化后的$a引用:PHP的别名,两个不同的变量名字指向相同的内容 封装: 把对象的属性和方法组织在一个类(逻辑单 ...

  8. php中static静态关键字的使用方法和应用场景

    php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的 ...

  9. .net序列化

    在开发过程中,会遇到很多需要使用序列化的场景,比如wcf,webservice或者jquery+.net等.那今天就说说我对序列化的理解. 在.net中有几种序列化的方式,XML.二进制.SOAP.还 ...

  10. 从1~N中任选出三个数,最小公倍数最大

    已知一个正整数N,问从1~N中任选出三个数,它们的最小公倍数最大可以为多少. 当n为奇数:n.n-1.n-2这是三个最大数,并且它们两两互质.因为连续的奇.偶.奇,互质.连续的两个数互质是因为它们的公 ...