当前位置: 首页 > news >正文

【Linux】使用 iptables 验证访问HDFS 所使用到的端口

目录

​编辑

一、实操背景

二、iptables 简介

三、模拟操作


一、实操背景


背景: 在客户有外网的服务器需要访问内网大数据集群HDFS,使用iptable模拟测试需要开放的端口。


二、iptables 简介


具体介绍看文章: 【Linux】Iptables 详解与实战案例_linux iptable-CSDN博客

表(tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。

链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策略来处理数据包。

规则链名包括(也被称为五个钩子函数(hook functions)):

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


三、模拟操作


对某台HDFS Client服务器禁止所有的INPUT FORWARD OUTPUT 只对某些端口开放。

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

开启 22端口 可以使用远程工具连接

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

开启8020 ,88, 749 端口

iptables -I OUTPUT -s 192.168.2.155 -p tcp -d 192.168.2.154 --dport 8020 -j ACCEPTiptables -I OUTPUT -s 192.168.2.155 -p udp -d 192.168.2.152 --dport 88 -j ACCEPT
iptables -I OUTPUT -s 192.168.2.155 -p udp -d 192.168.2.152 --dport 749 -j ACCEPT 

上传文件报错 datanode 1019端口

继续放开 DataNode 1019端口

iptables -I OUTPUT -s 192.168.2.155 -p tcp -d 192.168.2.152 --dport 1019 -j ACCEPT 
iptables -I OUTPUT -s 192.168.2.155 -p tcp -d 192.168.2.153 --dport 1019 -j ACCEPT 
iptables -I OUTPUT -s 192.168.2.155 -p tcp -d 192.168.2.154 --dport 1019 -j ACCEPT 
iptables -I OUTPUT -s 192.168.2.155 -p tcp -d 192.168.2.155 --dport 1019 -j ACCEPT 

文件成功上传到 HDFS

至此我们可以看到客户端访问HDFS使用到的端口如下:

端口

作用

8020

NameNode元数据访问

88

Kerberos Server

749

Kerberos admin

1019

DataNode访问

端口限制参考:centos 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法_centos如何禁止所有网络访问只开放某些ip-CSDN博客

相关文章:

  • 光纤通讯资料收集
  • java课程设计GUI学生信息管理系统
  • 爬虫阶段思考
  • 【Rust】——所有可能会用到模式的位置
  • Spring Cloud学习:如何实现Gateway 服务网关限流
  • ESP32 esp-idf esp-adf环境安装及.a库创建与编译
  • OpenCV颜色检测
  • 网络编程(六)TCP并发服务器
  • B3996 [洛谷 202406GESP 模拟 三级] 小洛的数字游戏
  • SpringMVC:拦截Mybatis的mapper
  • 如何设计高可用的淘客返利系统
  • Synchronized、volatile与ReentrantLock:比较这些同步机制在Java并发编程中的应用和区别
  • Spring响应式编程之Reactor操作符
  • Kubernetes 托管与非托管有哪些区别?应该怎么选型?
  • LeetCode:503. 下一个更大元素 II(Java 单调栈)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 5、React组件事件详解
  • ES6--对象的扩展
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • KMP算法及优化
  • Linux快速复制或删除大量小文件
  • Nodejs和JavaWeb协助开发
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 从零搭建Koa2 Server
  • 基于游标的分页接口实现
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 手机端车牌号码键盘的vue组件
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 用mpvue开发微信小程序
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • !!java web学习笔记(一到五)
  • #if和#ifdef区别
  • #laravel 通过手动安装依赖PHPExcel#
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (Python) SOAP Web Service (HTTP POST)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)setTimeout 和 setInterval 的区别
  • (转)winform之ListView
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .form文件_SSM框架文件上传篇
  • .htaccess 强制https 单独排除某个目录
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Core引入性能分析引导优化
  • .NET 使用 XPath 来读写 XML 文件
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • @Valid和@NotNull字段校验使用
  • @软考考生,这份软考高分攻略你须知道
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured