
写在之前
规则
iptables 规则就是当数据包“流经”系统时,数据包符合什么样的条件,就做出什么样的策略进行处理。这些规则中包括源地址、目的地址、源端口、目的端口、传输协议、服务类型等,当数据包与规则匹配时,iptables根据定义好的规则进行 accept、drop、reject、jump、queue等处理。
链 和 表
iptables 规则作用在哪里呢?其实就是在 IP 层,IP 层有5个钩子点的位置,其实就对应iptables的 5 条链:INPUT、OUTPUT、PREROUTING、POSTROUTING、FORWARD。
五链五表

iptables 日志记录

添加至系统日志自动滚动

重启 rsyslog 服务
systemctl restart rsyslog.service
iptables 配置中添加记录日志
# 记录所有通过防火墙的日志
[root@k8s-master-1 ~]# iptables -A INPUT -j LOG --log-prefix "[k8svip ipvs]"
[root@k8s-master-1 ~]# iptables -A OUTPUT -j LOG --log-prefix "[k8svip ipvs]"
[root@k8s-master-1 ~]# iptables -t mangle -A POSTROUTING -j LOG --log-prefix "[k8svip ipvs]" --log-level debug
[root@k8s-master-1 ~]#
操作无非是增删改查,可以自行 Google 学习下。
简单通过kubernetes cluster ip进行测试

总结
iptables 是学习 kubernetes 的基础,这里简单进行下总结,网络数据包主要有三种类型,入站数据流、出端数据流和转发数据流,这个一定要理解,否则学习 kubernetes kube-proxy 中流量转发时,就会一头雾水。
文章转载自Linux点滴运维实践,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




