Chain 有点像是防火墙规则的分组,不过要注意每个 Chain 里的规则的顺序很重要。 我们可以根据需求自己去创建 Chain ,默认有三个。INPUT,表示输入,这个 Chain 里面处理的是进入到服务器上的数据包 ..
OUTPUT,输出,它处理的是服务器向外面发送的数据包,比如你想安装或者升级服务器上的某个服务,服务器本身就会向外面去发送一些数据包。
FORWARD,转发。这个分组里的数据包就是要从一个地方转发到另一个地方。
这些 chain,也就是规则的分组里面,可以包含多条规则,在检查数据包的时候,分组里的规则的顺序是很重要的。比如一个数据包会从第一条规则开始检查 ..
如果它符合某个 chain 里的某条规则的描述,就会执行对应的动作,也就是接受,丢弃或者拒绝,这样就不会再继续去检查这个数据包是不是符合其它的规则了。
所以在分组里排在前面的规则,它的优先级比后面的规则的优先级更高一些 .. 这样我们就需要在设计规则的时候,把一些比较通用的规则放到前面。
然后把更具体的规则放在后面 .. 比如你想禁用从某个 IP 地址发送进来的数据 ,这应该就是比较具体的规则。
每个分组都可以设置一个默认的动作 ... 这样如果数据包不符合分组里的所有的防火墙规则,就会执行这个默认的动作,这个动作可以是接受,也可以是丢弃。