简单地说,就是设定一些规则,对进来和出去的数据包的ip做检查,符合规则的通行,不符合的做响应的处理,要了解这个流程中的三个表:
nat表,filter表,mangle表,五条链:INPUT链,OUTPUT链,FORWARD链,PREROUTING链,POSTROUTING链。1)对于进来的包:经过IP校验后,经过第一条链PREROUTING处理,一般是做DNAT;然后经过路由,决定是到本地的还是需要转发的包。a、如果是到本地的,就经过INPUT链处理,比如过滤等,经过处理后发往上层协议。b、如果是需要转发的,经过FORWARD链处理,一般是做过滤,然后经过路由代码,再经过POSTROUTING链处理(主要是做SNAT),再传输到网络上。2)对于本地产生的包:先经过OUTPUT链处理,若过滤可以后,进行路由选择处理,然后经过POSTROUTING做SNAT处理后发送到网络上。