0、前言
本地虚拟机3台主机:
hadoop101(192.168.10.128)、hadoop102(192.168.10.129)、
hadoop103(192.168.10.130)等搭建完hadoop集群,本地ip192.168.10.1。
在开始之前以上4台机器均可以访问:
yarn webui(http://192.168.1.210:8088/cluster)。
目标要求:只允许192.168.10.X网段或某一台机器访问hadoop服务器192.168.10.129服务器8088端口。
今天才开始研究网络端口,虽然找到了解决方案,依然有很多不明白的地方。中间也有很多曲折故事。
1、解决方案
采用“拒绝规则”完成目标。(准许规则为啥不生效,一时半会没整明白。才疏学浅,需要继续研究)
1.1、在正式配置前,先备份,清空规则
在192.168.10.129上面执行下面命令:
iptables -Fiptables -Xiptables -Z

1.2、只允许某个ip访问129服务器
在192.168.10.129上面执行下面命令:
iptables -I INPUT ! -s 192.168.10.1 -j DROP

【命令注释】:拒绝192.168.10.1以外的主机连接192.168.10.129,即只允许192.168.10.1连接192.168.10.129
【验证结果】:验证通过。
仅192.168.10.1能访问yarn webui 界面,192.168.10.128、192.168.10.129、192.168.10.130使用ghome中火狐浏览器均不能访问129的8088端口




1.3、只允许某个网段访问129服务器
在192.168.10.129上面执行下面命令:
iptables -I INPUT ! -s 192.168.10.0/24 -j DROP

【命令注释】:拒绝192.168.10.X网段以外的主机连接192.168.10.129,即只允许192.168.10.X连接192.168.10.129
【验证结果】:在192.168.10.1、192.168.10.128、192.168.10.129、192.168.10.130均验证可以访问yarn webui 界面




【注意】:在执行这个命令之前,建议清空iptables,防止其他规则干扰。可以参考下面命令。
#查看iptablesiptables --line -nvL INPUT#删除指定规则编号的规则iptables -D INPUT 1
1.4、只允许某个网段访问129服务器的8088端口(正例)
在192.168.10.129上面执行下面命令:
iptables -I INPUT ! -s 192.168.10.0/24 -p tcp --dport 8088 -j DROP


【命令注释】:拒绝192.168.10.X网段以外的主机连接192.168.10.129端口8088,即只允许192.168.10.X连接192.168.10.129端口8088
【验证结果】:在192.168.10.1、192.168.10.128、192.168.10.129、192.168.10.130均验证可以访问yarn webui 界面。即该命令是我们想要的答案。




【注意】:在执行这个命令之前,建议清空iptables,防止其他规则干扰。可以参考下面命令。
1.5、只允许10.0.0.X网段访问129服务器的8088端口(反例)
在192.168.10.129上面执行下面命令:
iptables -I INPUT ! -s 10.0.0.0/24 -p tcp --dport 8088 -j DROP

【命令注释】:拒绝10.0.0.X网段以外的主机连接192.168.10.129端口8088,即只允许10.0.0.X连接192.168.10.129端口8088
【验证结果】:在192.168.10.1、192.168.10.128、192.168.10.129、192.168.10.130均验证不可以访问yarn webui 界面




【注意】:在执行这个命令之前,建议清空iptables,防止其他规则干扰。可以参考下面命令。
2、其他
2.1、准许方案--验证未通过
#清除所有预设值iptables -F#指定固定ip可以访问端口8088iptables -I INPUT -s 192.168.10.1 -p tcp --dport 8088 -j ACCEPTiptables -I INPUT -s 192.168.10.129 -p tcp --dport 8088 -j ACCEPT#保存service iptables save执行这个命令的时候有时候可能会报错:The service command supports only basic LSB actions(start, stop, restart, try-restart, reload, force-reload,status). For other actions, please try to use systemctl.这是因为没有安装iptables服务,直接使用yum安装iptables服务即可yum install iptables-services#重启service iptables restart#开机自启systemctl enable iptables.service【验证结果】:验证未通过,具体原因待研究,暂不明了。
2.2、其他参考命令
#打开防火墙systemctl start firewalldsystemctl enable firewalld#关闭防火墙,关闭防火墙开机自启systemctl stop firewalldsystemctl disable firewalld.service#查看iptablesiptables --line -nvL INPUT#删除指定规则编号的规则iptables -D INPUT 1




