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执行计划(一)----概述
(1)什么是执行计划SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划.Oracle必须做出选择,一次只能有一种访问路径.一个访问路径就是一个执行计划. (2)执行计 ...
- gps示例代码
/* main.c */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #incl ...
- 洛谷 P2722 总分题解
题目描述 我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数.你的任务是写一个程序来告诉USACO的 ...
- Python 进程共享数据(数据传输)实例
#coding:utf-8 ''' Created on 2017年11月22日 @author: li.liu ''' import multiprocessing from time import ...
- 如何在Windows上部署Redis集群和SpringBoot进行整合
一.安装Redis的Windows版本并进行配置 (1)下载链接 https://github.com/microsoftarchive/redis/releases (2)将下载后的Redis复制成 ...
- 爬虫 - 请求库之requests
介绍 使用requests可以模拟浏览器的请求,比起python内置的urllib模块,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容 ...
- docker的daemon配置
文件:/etc/docker/daemon.json,如果没有就创建 修改后重启生效:systemctl restart docker 示例内容: { "registry-mirrors&q ...
- JS判断某变量是否为某数组中的一个值的3种方法
1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. 1 Array.prototype.in_array = function (e) ...
- [Web] Adaptive loading
There is pretty good talk about performacne https://www.youtube.com/watch?v=puUPpVrIRkc It targets t ...
- dinoql 使用nodejs 运行的几个问题
dinoql 是一个很不错的javascript objects 查询处理方案,基于graphql,当前版本有点问题 node 环境运行 ReferenceError: window is not d ...