iptables防火墙屏蔽指定ip的端口

news2024/11/26 1:24:32

因为需要测试客户端程序与hadoop服务器之间正常通信需要开通的端口, 所以在hadoop各服务器上使用iptables防火墙屏蔽了测试客户端程序的ip和所有端口。然后,根据报错信息提示的端口号来逐步放开直到能正常通信下载文件。

  1. 在服务器端屏蔽指定ip访问所有端口
    在这里插入图片描述
    在这里插入图片描述
#查看防火墙状态,没启动的要启动
service iptables status
service iptables start

#查看已有规则和规则号,iptables的链是从上到下匹配到就结束
iptables -nL --line-number
# ssh用的22端口不要限制
iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT 1 -p tcp --dport 22 -j ACCEPT

#尾部插入一条记录,拒绝ip访问除了22端口以外的所有端口
iptables -A INPUT -s 192.1.217.54 -p tcp -m tcp ! --dport 22  -j REJECT

  1. 测试客户端程序报错端口,然后再放开单个端口
    报错无法和namenode通信,需要放开8020端口
    在这里插入图片描述
#iptables -nL --line-number 查看规则在第几行
# 在第1行插入一条放行的端口,一定要插入在上面那个REJECT屏蔽ip的上面,因为iptables的链是从上到下匹配到就结束
iptables -I INPUT 1 -s 192.1.217.54 -p tcp -m tcp --dport 8020  -j ACCEPT
# 命令说明, 
# -I代表插入规则
# INPUT代表是INPUT进入来的链路
# -s 是匹配源,这里是指定了ip
# -p tcp 协议类型,指定了匹配tcp的
# 

可以读取目录了,继续测试get下载文件,报错1004端, 继续放开1004端口,和上面放开端口的方法一样,iptables -I INPUT 1 -s 192.1.217.54 -p tcp -m tcp --dport 1004 -j ACCEPT。这个端口是datanode的服务端口,需要把hadoop集群的所有datanode机器防火墙上1004端都做处理,因为你也不知道文件会在哪个datanode上保存着。

#iptables -nL --line-number 查看规则在第几行
#在第1行插入一条放行的端口,一定要插入在上面那个REJECT屏蔽ip的上面,因为iptables的链是从上到下匹配到就结束
iptables -I INPUT 1 -s 192.1.217.54 -p tcp -m tcp --dport 1004  -j ACCEPT

开放namenode的8020和datanode的1004端口后,可以下载hdfs文件了。
测试完成后删除规则

#删除规则,谨慎操作, iptables -nL --line-number查看规则前的编号
iptables -D INPUT 规则编号

在这里插入图片描述

简单介绍下防火墙的使用:
#根据网络的进出链路,有几个可以增加规则进行控制的地方,一般只会用到INPUT和OUTPUT。
#可以对规则进行指定行号插入-I,修改-R也可以新增-A
#规则内有匹配规则,
#规则匹配后的处理是ACCEPT放行还是REJECT拒绝还是DROP直接抛弃
#在一个链路内,是匹配到规则就结束

  1. 参考
    [1]https://blog.csdn.net/wxh0000mm/article/details/106239509
    [2]https://blog.csdn.net/weixin_53139887/article/details/122418822
    [3]https://blog.csdn.net/choukuad381324/article/details/100945546
    [4]https://blog.csdn.net/m0_59432158/article/details/120369973
    [5]https://blog.csdn.net/waghaiping/article/details/118048947
    [6]https://blog.51cto.com/benny27/1952689

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UUID的弊端以及雪花算法

目录 一、问题 为什么需要分布式全局唯一ID以及分布式ID的业务需求 ID生成规则部分硬性要求 ID号生成系统的可用性要求 二、一般通用方案 (一)UUID (二)数据库自增主键 (三)Redis生成全局id策略 三…

与AI相遇 | 在ChatGPT中输入“情人节”,我们会得到......?

最近ChatGPT可谓是风靡全球,大家彼此的问候从“你吃饭了吗”变成“你玩ChatGPT了吗”。这款当今最火爆的AI语言模型,是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构&#xff…

校园创新创业基地管理系统(java,jsp,ssh,mysql)+全套视频教程

技术栈: JAVA,SSH, MYSQL, JQUERY,HTML,CSS, JAVASCRIPT首页访问 http://localhost:8080/Struts2.3.16.1Hibernate4.3.4Spring4.0.2/index_index.action管理员admin 123456用户 user1 123456代码功能演示: http://woc.xin/8C64kZ功能列表:本系统包含普通用户,后台管…

LeetCode(Java)—— 加一(简单)

加一概述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。输入:digits [1,2,3] …

如何设计一个API接口?

在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的…

Python readline()和readlines()函数:按行读取文件

如果想读取用 open() 函数打开的文件中的内容,除了可以使用 read() 函数,还可以使用 readline() 和 readlines() 函数。和 read() 函数不同,这 2 个函数都以“行”作为读取单位,即每次都读取目标文件中的一行。对于读取以文本格式…

基于JAVA+SpringBoot+VUE的心理健康测试系统的设计与实现

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着现代社会的不断发…

写给小白,Python 爬虫学习思路

爬虫是Python是一个很经典的方向,大多数的小伙伴看到的是Python爬虫的就业效果,确实Python爬虫学习成本低(学习快),就业效果好,特别适合新手入门,但是也要关注另外一个点,就是Python…

iTerm2 + Oh My Zsh 打造舒适终端体验

最终效果图: 因为powerline以及homebrew均需要安装command line tool,网络条件优越的同学在执行本文下面内容之前,可以先安装XCode并打开运行一次(会初始化安装components),省去以后在iterm2中的等待时间。…

LeetCode 234. 回文链表 | C语言版

LeetCode 234. 回文链表 | C语言版LeetCode 234. 回文链表题目描述解题思路思路一:使用快慢双指针代码实现运行结果参考文章:[https://leetcode.cn/problems/palindrome-linked-list/solutions/1011052/dai-ma-sui-xiang-lu-234-hui-wen-lian-bia-qs0k/?…

这几款高效办公神器,职场大神都在用(建议收藏)

都快2023年了,还不知道怎么用网站来提高工作和生活质量?还不快搬好小板凳,听我来安利这几个实用网站! 一、做图神器 1.创可贴:国内最火的在线设计工具 链接:https://www.chuangkit.com/designtools/desi…

基于深度学习的三维重建(一):三维重建简介、patchmatchNet环境部署、用colmap如何测试自己的数据集

目录 1.什么是三维重建 2.MVS是什么 3.传统MVS的局限性和为什么基于深度学习的MVS性能好于传统三维重建 4.基础概念 5. patchmatchNet环境配置 6.如何测试自己的数据集(位姿计算) 6.1 colmap导出位姿 6.2 将colmap位姿转换成MVS读取的数据格式 1.…

Linux安装Docker配置docker-compose 编排工具【超详细】

一、介绍Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有…

面试官:什么是性能测试计划?(内含干货)

引言在进入今天的内容前, 先想几个问题:什么是测试计划?什么是性能测试计划?在你的性能知识领域中, 你认为性能测试计划应该包含哪些内容?因为作为企业的金牌面试官, 经过我面试的求职者&#x…

一文搞懂:JS严格模式“use strict”

什么是JS的严格模式 JS严格模式概念是在ES5中引入的,在此模式下,JS对语法的要求会变的严格,某些不太严谨的代码在严格模式下将不能运行。 如何启用严格模式 只需要JS代码的起始添加 "use strict"即可。如: "use…

Spring Boot邮件发送(powernode CD2207)(内含教训视频+源代码)

Spring Boot邮件发送(powernode CD2207)(内含教训视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87452056 目录Spring Boot邮件发送(powernode CD2207&…

图解LeetCode——1233. 删除子文件夹(难道:中等)

一、题目 你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。 如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下,那么 folder[i] 就是 folder[j] …

Redis学习【4】之简单动态字符串

文章目录一 简单动态字符串 SDS1.1 SDS简介1.2 SDS结构1.3 SDS优势1.3.1 防止”字符串长度获取”性能瓶颈1.3.2 保障二进制安全1.3.3 减少内存再分配次数1.3.4 兼容C函数1.4 常用的 SDS 操作函数一 简单动态字符串 SDS 1.1 SDS简介 无论是 Redis 的 Key 还是 Value&#xff0…

《系统架构设计》-01-架构和架构师概述

文章目录1. 架构的基本定义1.1 架构组成理论1.1.1 系统元素1)概念2)静态结构和动态结构1.1.2 基本系统属性1.1.3 设计和发展原则1.2 架构的决策理论1.2.1 统一软件过程(Rational Unified Process,统一软件过程)1.2.2 决…

《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)

1.简介 上一篇文章中,从TestNg的特点我们知道支持变量,那么我们这一篇就通过变量参数来启动不同的浏览器进行自动化测试。那么如何实现同时启动不同的浏览器对脚本进行测试,且听我娓娓道来。 2.项目实战 2.1创建一个TestNg class 1.首先按…