Java教程

Iptables - 基础应用

本文主要是介绍Iptables - 基础应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。

-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-I:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源IP地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口;
-m: 匹配扩展模块;
-h:显示帮助信息。

 

表名包括:

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

规则链名包括:

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

动作包括:

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

安装iptables-services并启动服务,保存防火墙规则。

yum -y install iptables-services
systemctl start iptables.service
systemctl enable iptables.service
service iptables save
防火墙规则存放文件:/etc/sysconfig/iptables

 

实例:K8S添加iptables防火墙策略

#a) 查看当前iptables规则
iptables -L -n --line-number
 
#b) 插入禁止访问的端口规则并允许本机访问
iptables -I INPUT -p tcp -m multiport --dports 6443,2379:2381,10250:10259 -j DROP
iptables -I INPUT -p tcp -s 127.0.0.1 -m multiport --dports 6443,2379:2381,10250:10259 -j ACCEPT
iptables -I INPUT -p tcp -s `hostname -i` -m multiport --dports 6443,2379:2381,10250:10259 -j ACCEPT
 
#c) 对特定IP解除6443访问限制(Flannel和工作节点)
iptables -I INPUT -p tcp -s 10.244.0.0/16 --dport 6443 -j ACCEPT
iptables -I INPUT -p tcp -s 10.3.61.189,10.3.61.192 --dport 6443 -j ACCEPT
 
#d) 开机自动添加防火墙规则(k8s_iptables.sh为上述命令)
chmod +x /etc/rc.d/rc.local
echo ". /etc/kubernetes/k8s_iptables.sh" >>/etc/rc.d/rc.local

 

 

常见的模块拓展-m iprange 、-m multiport

1)指定-m multiport就可以使用--dports、--sports 标准的--dport与--sport使用方式: 80、80:90、:80、90: 扩展的--dports与--sports使用方式:以上组合,使用冒号来分离。
iptables -I INPUT -p tcp -m multiport --dports 6443,2379:2380,10250:10259 -j DROP
2)指定-m iprange就可以使用--src-range 、--dst-range 标准的-s 使用方式:192.168.1.1、192.168.1.0/24、192.168.1.2,10.1.1.1、(192.168.1.1,10.1.1.0/24) 扩展的--src-range使用方式:192.168.1.5-192.168.1.6
iptables -A INPUT -p tcp --dport 6443 -m iprange --src-range 10.3.61.189-10.3.61.192 -j ACCEPT

 

这篇关于Iptables - 基础应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!