centos6 下使用 iptables 只允许某ip对本机某端口的访问

iptables的基础知识可以查看 王聪写的《学习使用iptables》http://wangcong.org/articles/learning-iptables.cn.html (写得非常棒)

iptables的一些术语之间的包含关系:表包含链,链包含规则,规则由匹配和目标组成。

匹配当然是指从网络进来的数据包匹配你制定的匹配条件了,目标则是说匹配成功后将会做什么操作(即目标)。

iptables的整个流程会读取四个表,其中的第三个表是 filter, 而本文题目所设定的目标就是通过在 filter 表里的 INPUT 链里添加一些规则来实现的。

这些链里的“规则”的运行规则是这样的:根据规则的先后顺序,从先到后一条一条地执行,若某条规则匹配了,则退出当条链的过滤;若某条规则未匹配,则进行下一条规则的匹配。

所以要只允许某ip(ip1)对端口(port1)的访问,就要在filter表的INPUT链里制定两个规则

1.接受ip1对port1的访问。

2.禁止所有ip对port1的访问。

因为如果1成立,就退出了当前链,即规则2不会执行,所以,设定成功。

以下是只允许ip1对端口25访问具体命令(请把ip1换成真实的ip):

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

iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 25 -j DROP


你可能感兴趣的:(操作系统)