之前一直对iptables的sport、dport不清楚,因此这里记录一下。linux
(1)清理防火墙:服务器
iptables -F iptables -X iptables -Z
(2)iptables命令选项输入顺序:tcp
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动做
表名包括:spa
规则链名包括:.net
动做包括:翻译
iptables里面的dport和sport代理
首先先来翻译一下dport和sport的意思:日志
dport:目的端口
sport:来源端口
初学iptables比较容易迷糊,可是我尽可能用通俗的语言给你讲解。blog
dport 和sport字面意思来讲很好理解,一个是数据要到达的目的端口,一个是数据来源的端口。ip
可是在使用的时候要分具体状况来对待,这个具体状况就是你的数据包的流动行为方式。(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指本地。
推荐博客:
http://www.zsythink.net/archives/1199