背景描述:
今天在看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.15、192.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