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

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

因为需要测试客户端程序与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.lryc.cn/news/5821.html

相关文章:

  • JavaScript Math(算数) 对象
  • 超详细的JAVA高级进阶基础知识04
  • Python 运算符?
  • linux nuxt 部署 问题汇总
  • C++内存管理
  • 电子招投标系统源码之 —采购数字化转型快人一步,以大数据支撑供应链管理未来
  • ie获取cookie数据,中文乱码;cookie中文乱码终极解决办法
  • day16_关键字this和super丶就近原则和追根溯源原则
  • MySQL 共享锁 (lock in share mode),排他锁 (for update)
  • 类与对象(下)
  • feign技巧 - form方式传值
  • MATLAB | 情人节来绘制更立体的玫瑰花吧
  • 【Python表白代码】 2.14“Valentine‘s Day”“没别的意思 就是借着特殊日子说声喜欢你”你在哪儿?我去见你~(各种玫瑰源码合集)
  • 压力应变电桥信号隔离放大变送器差分输入0-±10mV/0-±20mV转0-20mA/0-10v
  • Linux系统之部署个人导航页
  • 四、Windows 平台安装 MongoDB
  • 浅谈应用安全测试工具
  • 四类(七种)排序算法总结
  • [oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
  • 理解框架的编译时与运行时
  • 推挽电路---采用二极管消除交越失真----克服交越失真的互补推挽输出电路图
  • day11_面向对象
  • 大数据处理学习笔记1.1 搭建Scala开发环境
  • VSCODE C++ 调用matplotlibcpp画图
  • 面对“开门红”,跨境支付如何寻求新增长曲线?
  • MySQL入门篇-MySQL MHA高可用实战
  • C语言文件操作
  • Flink中核心重点总结
  • gismo中NURBS的相关函数的使用---待完善
  • 5.数据共享与持久化