iptables----sport、dport解释

之前一直对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

  • raw:高级功能,如:网址过滤。
  • mangle:数据包修改(QOS),用于实现服务质量。
  • net:地址转换,用于网关路由器。
  • filter:包过滤,用于防火墙规则。

规则链名包括:.net

  • INPUT链:处理输入数据包。
  • OUTPUT链:处理输出数据包。
  • PORWARD链:处理转发数据包。
  • PREROUTING链:用于目标地址转换(DNAT),路由前。
  • POSTOUTING链:用于源地址转换(SNAT),路由后。
  •  

动做包括:翻译

  • accept:接收数据包。
  • DROP:丢弃数据包。
  • REDIRECT:重定向、映射、透明代理。
  • SNAT:源地址转换。
  • DNAT:目标地址转换。
  • MASQUERADE:IP假装(NAT),用于ADSL。
  • LOG:日志记录。

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

相关文章
相关标签/搜索