bind 0.0.0.0的作用是什么呢?
背景描述:
今天在看redis的内容,看到同事在配置文件中将bind配置为0.0.0.0进行监听,不明白什么意思就查询了下,在此记录下。
解释:
0.0.0.0在服务器的环境中,指的就是服务器上所有的ipv4地址,如果机器上有2个ip 192.168.30.10 和 10.0.2.15,redis在配置中,如果配置监听在0.0.0.0这个地址上,那么,通过这2个ip地址都是能够到达这个redis服务的。同时呢,访问本地的127.0.0.1也是能够访问到redis服务的。
测试验证:
1.绑定到0.0.0.0
[aiprd@hadoop1 redis]$ src/redis-server ./redis.conf
[aiprd@hadoop1 redis]$ ps -ef | grep redis
aiprd : ? :: src/redis-server 0.0.0.0:
aiprd : pts/ :: grep redis
2.本地ip地址
[aiprd@hadoop1 redis]$ ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::8b:7e brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/ brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fe21:8b7e/ scope link
valid_lft forever preferred_lft forever
: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :::9f::be brd ff:ff:ff:ff:ff:ff
inet 192.168.30.10/ brd 192.168.30.255 scope global eth1
inet6 fe80::a00:27ff:fe9f:16be/ scope link
valid_lft forever preferred_lft forever
备注:本地地址127.0.0.1、10.0.2.15、192.168.30.10
3.分别通过3个ip地址进行访问
[aiprd@hadoop1 redis]$ src/redis-cli
127.0.0.1:> auth yksSLR7AU#7G6Wz
OK
127.0.0.1:> exit
[aiprd@hadoop1 redis]$
[aiprd@hadoop1 redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 10.0.2.15
10.0.2.15:> auth yksSLR7AU#7G6Wz
OK
10.0.2.15:> exit
备注:通过3个地址是都能够访问的。
4.绑定到192.168.30.10地址上
[aiprd@hadoop1 redis]$ src/redis-server ./redis.conf
[aiprd@hadoop1 redis]$ ps -ef | grep redis | grep -v grep
aiprd : ? :: src/redis-server 192.168.30.10:
5.分别通过以上的地址进行访问
[aiprd@hadoop1 redis]$ src/redis-cli
Could not connect to Redis at 127.0.0.1:: Connection refused
Could not connect to Redis at 127.0.0.1:: Connection refused
not connected> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 10.0.2.15
Could not connect to Redis at 10.0.2.15:: Connection refused
Could not connect to Redis at 10.0.2.15:: Connection refused
not connected> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:>
备注:发现绑定到192.168.30.10之后,只有这个地址是可以访问,但是呢,访问127.0.0.1都是访问不到的。
小结:
所以:综上,如果绑定到0.0.0.0那么所有机器上的地址都可以访问服务,如果绑定到特定的ip那么只能是特定的ip能够到达redis服务。
文档创建时间:2019年5月27日11:48:12
bind 0.0.0.0的作用是什么呢?的更多相关文章
- “#if 0/#if 1 ... #endif”的作用
		
1. "#if 0/#if 1 ... #endif"的作用,我们知道,C标准不提供C++里的"//"这样的单行风格注释而只提供"/* */" ...
 - <meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">的作用
		
本人对该标签理解不深,这里是复制了穆乙的文章:如果有人进来看到这篇文章,请按此https://www.cnblogs.com/pigtail/archive/2013/03/15/2961631.ht ...
 - c语言中“#if 0 / #if 1 ... #endif”的作用
		
原帖地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=2028608&bbs_page_no=1005&bbs_id=9999 1. ...
 - (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)
		
(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 更新:ios4.1现在已经将这个做到SDK了.你可以设置键盘类型为UIKeyboardTypeDecimal ...
 - 探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
		
前言 首先说明这并不是一个教程贴,而记事本应用是网上早有的案例,对于学习 vuex 非常有帮助.我的目的是探索 vuex 2.0 ,然后使用 vue 2.0 + vuex 2.0 重写这个应用,其中最 ...
 - ip地址0.0.0.0与127.0.0.1的区别(转载)
		
原文链接:http://blog.csdn.net/ttx_laughing/article/details/58586907 最近在项目开发中发现一个奇怪的问题,当服务器与客户端在同一台机器上时,用 ...
 - 用webpack2.0构建vue2.0超详细精简版
		
初始化环境 npm init -y 初始化项目 安装各种依赖项 npm install --save vue 安装vue2.0 npm install --save-dev webpack@^2.1. ...
 - 用webpack2.0构建vue2.0单文件组件超级详细精简实例
		
npm init -y 初始化项目 //-y 为自动生成package.json,如果需要自行配置,去掉-y即可 安装各种依赖项 npm install --save vue 安装vue2.0 np ...
 - 本机ip、127.0.0.1和0.0.0.0区别及内环流量
		
本机ip.127.0.0.1和0.0.0.0区别及内环流量 所谓内环流量 简单的说是指 计算机内部,程序间通讯产生的流量,或者叫 本地流量,对应的是来自网络的流量. 比如,你安装了卡巴斯基,avast ...
 - 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari
		
一.集群软硬件环境准备: 操作系统: centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...
 
随机推荐
- oracle 11g goldengate搭建(一)
			
初学ogg,基本了解ogg原理及架构之后,趁热打铁,搭建一个简单的学习环境,以实现目标:将sourcedb数据库的2个表:sourceuser.test01和sourceuser.dept通过ogg分 ...
 - Linux 计划任务管理
			
实际的生产环境中,总会做一些定期的任务,比如数据备份,我们不可能总等到那个时间去手动执行,这时计划任务就派上用场了. 一次性计划任务 at 一次性计划任务 at [HH:MM] [YYYY-MM-DD ...
 - 【转载】利用tasker推送手机短信到企业微信(App或者微信公众号)
			
本随笔转载自:https://www.52pojie.cn/thread-804477-1-1.html 转载声明:本文转自酷安tasker评论区 ID:随风荡 的评论,我只是按照我的需求进行了一次修 ...
 - jquery 表单元素选择器
			
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...
 - Python爬虫爬企查查数据
			
因为制作B2b网站需要,需要入库企业信息数据.所以目光锁定企查查数据,废话不多说,开干! #-*- coding-8 -*- import requests import lxml import sy ...
 - 为什么需要 Redis 哨兵?
			
在说哨兵之前,我们先说下主从复制,Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址,这种故障转移的方式对于很多应用场 ...
 - AST11103 Problem Solving
			
AST11103 Problem Solving with Programming SkillsAdditional Individual Assignment: Min-Game Programmi ...
 - 为啥用DTO
			
0.部分参数对于开发前端的人来说是无意义的,因为传递也没有效果.所以不应该暴露给前端使用. 1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析. 2.减少请求次数,大大提高效率. 3 ...
 - 查看.NET应用程序中的异常(下)
			
为什么要使用内存转储进行调试? 在两种主要情况下,您可能需要使用内存转储进行调试.第一种情况是应用程序有一个未处理的异常并崩溃,而您只有一个内存转储.第二种情况是,在生产环境中出现异常或特定行为,并且 ...
 - 1-移远GSM/GPRS M26 模块 Mini板 开发板(使用说明)
			
板子预览 引脚说明 供电 关于串口电压匹配引脚: 上面一版朋友测试反应的问题 (上面的内容不删除,因为已经出售了1套) 1,源码开发完以后,烧录完成 PWRKEY按键不能使用了,需要断电上电,那么就需 ...