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

[[email protected] redis]$ src/redis-server ./redis.conf
[[email protected] redis]$ ps -ef | grep redis
aiprd     2422     1  0 11:53 ?        00:00:00 src/redis-server 0.0.0.0:6379
aiprd     2426  1401  0 11:53 pts/0    00:00:00 grep redis

2.本地ip地址

[[email protected] redis]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:21:8b:7e brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
    inet6 fe80::a00:27ff:fe21:8b7e/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:9f:16:be brd ff:ff:ff:ff:ff:ff
    inet 192.168.30.10/24 brd 192.168.30.255 scope global eth1
    inet6 fe80::a00:27ff:fe9f:16be/64 scope link
       valid_lft forever preferred_lft forever

备注:本地地址127.0.0.1、10.0.2.15、192.168.30.10

3.分别通过3个ip地址进行访问

[[email protected] redis]$ src/redis-cli
127.0.0.1:6379> auth yksSLR7AU#7G6Wz
OK
127.0.0.1:6379> exit
[[email protected] redis]$
[[email protected] redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:6379> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:6379> exit
[[email protected] redis]$ src/redis-cli -h 10.0.2.15
10.0.2.15:6379> auth yksSLR7AU#7G6Wz
OK
10.0.2.15:6379> exit

备注:通过3个地址是都能够访问的。

4.绑定到192.168.30.10地址上

[[email protected] redis]$ src/redis-server ./redis.conf
[[email protected] redis]$ ps -ef | grep redis | grep -v grep
aiprd     2434     1  0 11:57 ?        00:00:00 src/redis-server 192.168.30.10:6379

5.分别通过以上的地址进行访问

[[email protected] redis]$ src/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> exit
[[email protected] redis]$ src/redis-cli -h 10.0.2.15
Could not connect to Redis at 10.0.2.15:6379: Connection refused
Could not connect to Redis at 10.0.2.15:6379: Connection refused
not connected> exit
[[email protected] redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:6379> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:6379> 

备注:发现绑定到192.168.30.10之后,只有这个地址是可以访问,但是呢,访问127.0.0.1都是访问不到的。

小结

所以:综上,如果绑定到0.0.0.0那么所有机器上的地址都可以访问服务,如果绑定到特定的ip那么只能是特定的ip能够到达redis服务。

文档创建时间:2019年5月27日11:48:12

原文地址:https://www.cnblogs.com/chuanzhang053/p/10929903.html

时间: 2024-10-07 22:51:41

bind 0.0.0.0的作用是什么呢?的相关文章

“#if 0/#if 1 ... #endif”的作用

1. “#if 0/#if 1 ... #endif”的作用,我们知道,C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能,我们通常使用它写代码中说明性的注释文字(注释作用)以及在调试时关闭某段代码对编译器的可见性(屏蔽作用),当然,这里所谓的“注释作用”和“屏蔽作用”是我们从功能上下的主观定义,对预处理器而言,两者并无任何区别.对于前者,因为“注释”中不会再出现“注释”和“需要屏蔽的代码段”,所以不会有嵌套的需求,所以通常不会有问题:而对于后者,当我们在调试

大话Hadoop1.0、Hadoop2.0与Yarn平台

2016年12月14日21:37:29 Author:张明阳 博文链接:http://blog.csdn.net/a2011480169/article/details/53647012 近来这几天一直在忙于Hbase的实验,也没有太静下心来沉淀自己,今天打算写一篇关于Hadoop1.0.Hadoop2.0与Yarn的博文,从整体上把握三者之间的联系,博客内容如有问题,欢迎留言指正!OK,进入本文正题-- 在开始接触Hadoop的时候,也许大家对于Hadoop是下面的一个概念:Hadoop由两部

【Web】Web1.0和Web2.0

具体请参照百度百科: web1.0时代是一个群雄并起,逐鹿网络的时代,虽然各个网站采用的手段和方法不同,但第一代互联网有诸多共同的特征,表现在技术创新主导模式.基于点击流量的盈利共通点.门户合流.明晰的主营兼营产业结构.动态网站.在WEB1.0上做出巨大贡献的公司有Netscape,Yahoo和Google. Netscape研发出第一个大规模商用的浏览器,Yahoo的杨致远提出了互联网黄页, 而Google后来居上,推出了大受欢迎的搜索服务. 中文名 web1.0 特    点 群雄并起,逐鹿

022 (n&gt;0 &amp;&amp; ((n &amp; (n-1)) == 0)) (keep it up)

以下代码的作用: (n>0 && ((n & (n-1)) == 0)) 很简单:判断n是否为2的整数次幂 写程序计算从整数A变为整数B需要修改的二进制位数. 输入:31,14 输出:2 这个题也很简单:A和B异或然后再算结果中1的个数 代码: int getModifyNum(const int vA, const int vB) { int Tmp = vA ^ vB; int Count = 0; while (Tmp > 0) { if (Tmp & 1

vue1.0 -vue 2.0

vue.js 发表于 2017-01-15   | vue基础 vue1.0 vue1.0对象的属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 var vm = new Vue({ el:'#box', //容器 data:{ //数据 msg:"data", a:1 }, methods:{ //普通方法 }, computed:{ //计算属性(属性b随着其return

Hadoop2.6.0 + Spark1.4.0 在Ubuntu14.10环境下的伪分布式集群的搭建(实践可用)

前言,之前曾多次搭建集群,由于疏于记录,每次搭建的时候到处翻阅博客,很是费劲,在此特别记录集群的搭建过程. 0.环境:Ubuntu14.10.Hadoop2.6.0.spark-1.4.0 1.安装jdk1.7 (1)下载jdk-7u25-linux-i586.tar.gz: (2)解压jdk-7u25-linux-i586.tar.gz,并将其移动到 /opt/java/jdk/路径下面 (3)配置java环境变量: 在 /etc/profile文件中追加 #set java env expo

本机IP、127.0.0.1和0.0.0.0的区别

本机ip.127.0.0.1和0.0.0.0区别 网络java IP地址的记法: IP地址由四个字节构成,为了方便阅读和书写,每个字节用0-255的数字表示,字节之间用'.'分割,如: 10.10.152.235 有时候我们会看到这样的IP: 10.10.152.235/24, 后面的/24表示子网掩码,24表示子网掩码上有24个1,等价于255.255.255.0 . IP地址和子网掩码按位 与,得到的是 网络号(Network ID), 剩余的部分是子网内的 主机号(host ID,当然,这

Web 1.0、2.0、3.0

web1.0:网络-人(单向信息,只读,eg个人网站,大英百科全书): web2.0:人-人(以网络为沟通渠道进行人与人沟通,eg维基.博客): web3.0:人-网络-人(人工智能.关联数据和语义网络构建,形成人和网络以及网络与人的沟通,同时在SEO支持下,提高人与人沟通的便利性): web1.0网络是信息提供者,单向性的提供和单一性理解: web2.0网络是平台,用户提供信息,通过网络,其他用户获取信息: web3.0网络成为用户需求理解者和提供者,网络对用户了如指掌,知道用户有什么.要什么

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(二)

在上一篇文章中我详细的介绍了如何搭建maven环境以及生成一个maven骨架的web项目,那么这章中我将讲述Spring MVC的流程结构,Spring MVC与Struts2的区别,以及例子中的一些配置文件的分析. 一.Spring MVC 3.0介绍 Spring MVC是一个典型的MVC框架,是Spring内置的Web框架,可以作为应用项目的展示层,继Spring 2.0对Spring MVC进行重大升级后,Spring 2.5又为Spring MVC引入了注解驱动功能,再到3.0时代,全

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)

这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能.     之前在使用Struts2实现MVC的注解时,是借助struts2-convention这个插件,如今我们使用Spring自带的spring-webmvc组件来实现同样的功能,而且比之以前更简单.另外,还省掉了整合两个框架带来的不稳定因素.     对于Spring MVC框架,我主要讲一下它的常用注解,再结合一些示例进行说明,方便大家能够快速理解.     一.Spring MV