Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152582
  • 博文数量: 53
  • 博客积分: 250
  • 博客等级: 二等列兵
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-17 10:37
文章分类

全部博文(53)

文章存档

2013年(1)

2012年(52)

分类: LINUX

2012-12-17 18:34:00


首先先来翻译一下dport和sport的意思:
dport:目的端口
sport:来源端口
初学iptables比较容易迷糊,但是我尽量用通俗的语言给你讲解。


dport 和sport字面意思来说很好理解,一个是数据要到达的目的端口,一个是数据来源的端口。


但是在使用的时候要分具体情况来对待,这个具体情况就是你的数据包的流动行为方式。(INPUT还是OUTPUT)


比如你的例子:/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
注意里面的INPUT参数,这个代表你的这条数据包的进行的 "进入" 操作!
那么你的这条数据包可以这么描述:
1.这是一条从外部进入内部本地服务器的数据。
2.数据包的目的(dport)地址是80,就是要访问我本地的80端口。
3.允许以上的数据行为通过。
总和:允许外部数据访问我的本地服务器80端口。


再看第2条列子:/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
1.这是一条从外部进入内部本地服务器的数据。
2.数据包的来源端口是(sport)80,就是对方的数据包是80端口发送过来的。
3.允许以上数据行为。
总结:允许外部的来自80端口的数据访问我的本地服务器。


input方式总结: dport指本地,sport指外部。




如果你的数据包是(OUTPUT)行为,那么就是另外一种理解方式:
比如:
/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
1.这是一条从内部出去的数据。
2.出去的目的(dport)端口是80。
3.允许以上数据行为。


output行为总结:dport只外部,sport指本地。


不知道这样的解释是否清楚,其实有个简单的方式。
用他们自身的意思去读,然后看你iptables的数据方式(input or output)来读这条规则就能够理解了,祝你好运。
阅读(1751) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~