首页 > 系统相关 >Iptables - 基础应用

Iptables - 基础应用

时间:2022-09-06 10:02:01浏览次数:69  
标签:Iptables iptables -- 基础 6443 应用 规则 INPUT 数据包

 

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,iptables,--,基础,6443,应用,规则,INPUT,数据包
From: https://www.cnblogs.com/leozhanggg/p/16660724.html

相关文章

  • delphi TcxGrid网格组件:OnGetContentStyle 获取内容UI样式事件 的应用
    1.位置:OnGetContentStyle事件,在事件列表的Style下.2.OnGetContentStyle何时触发:当获取内容数据的UI样式(style)时触发此事件.注意,用户每次点击单元格时,都会触发此......
  • 面试~线程池-三大方法、七个参数、四种拒绝策略、实际应用
    池化技术程序的运行,本质:占用系统的资源!优化资源的使用!=>池化技术线程池、连接池、内存池、对象池///.....创建、销毁。十分浪费资源池化技术:事先准备好一些资源,有......
  • React 应用程序中的简单路由
    React应用程序中的简单路由一个简单的、可扩展的路由解决方案可以满足您的应用程序的所有需求,而不会引入像React-Router这样的工具所提供的复杂性。进入:浏览器的窗......
  • 学习现代 JavaScript (ES6+) 的基础知识
    学习现代JavaScript(ES6+)的基础知识您应该在代码中开始使用的10个现代功能您可能已经知道JavaScript是一种功能丰富的编程语言,每次更新都会不断增强。有很多事......
  • Day02超链接标签及应用
    链接标签超链接​从一个页面链接到另一个页面锚链接功能性链接<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>链接标签学习<......
  • C++11~C++20 新基础类型
    目录整数类型longlong(C++11)字符类型char16_t和char32_t(C++11)C++11为什么要引入char16_t和char32_t?字符类型char8_t(C++20)参考资料整数类型longlong(C++11)C++1......
  • webpack基础_2基本配置
    基本配置在开始使用Webpack之前,我们需要对Webpack的配置有一定的认识。5大核心概念entry(入口)指示Webpack从哪个文件开始打包。output(输出)指示Webpack打......
  • 数据库基础操作 part1
    初识数据库数据库相关概念数据库管理软件:本质就是一个C/S架构的套接字程序服务端套接字客户端套接字操作系统:Linux操作系统:随......
  • C++基础入门:C++初始
    1.C++环境:Clion搭建下载链接:clion官方网址1.1点击下载1.2下载对应版本1.3安装步骤:1.3.1下载完毕后,打开exe文件,进入安装界面,点击【Next>】1.3.2选择安装目录......
  • Navicat基础教程
    1、安装可以直接前往官网进行安装,网址如下:https://navicat.com.cn/download/navicat-premium下载之后将下载后的压缩包解压到当前文件夹,然后根据里面自带的安装教程逐步......