bind 0.0.0.0的做用是什麼呢?

背景描述redis

  今天在看redis的內容,看到同事在配置文件中將bind配置爲0.0.0.0進行監聽,不明白什麼意思就查詢了下,在此記錄下。服務器

解釋oop

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服務的。測試

 

測試驗證:spa

1.綁定到0.0.0.0code

[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地址server

[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.一、10.0.2.15192.168.30.10blog

3.分別經過3個ip地址進行訪問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個地址是都可以訪問的。hadoop

 

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

相關文章
相關標籤/搜索