zoukankan      html  css  js  c++  java
  • 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     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地址

    [aiprd@hadoop1 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.15192.168.30.10

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

    [aiprd@hadoop1 redis]$ src/redis-cli
    127.0.0.1:6379> auth yksSLR7AU#7G6Wz
    OK
    127.0.0.1:6379> exit
    [aiprd@hadoop1 redis]$ 
    [aiprd@hadoop1 redis]$ src/redis-cli -h 192.168.30.10
    192.168.30.10:6379> auth yksSLR7AU#7G6Wz
    OK
    192.168.30.10:6379> exit
    [aiprd@hadoop1 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地址上

    [aiprd@hadoop1 redis]$ src/redis-server ./redis.conf 
    [aiprd@hadoop1 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.分别通过以上的地址进行访问

    [aiprd@hadoop1 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
    [aiprd@hadoop1 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
    [aiprd@hadoop1 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

  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/10929903.html
Copyright © 2011-2022 走看看