linux中的 127.0.0.1和0.0.0.0和::

IP地址表示,IP地址有两个部分组成,net-id和host-id,即网络号和主机号。

127.0.0.1

127.0.0.1属于{127,}集合中的一个,所有的网络号为127的地址都被称为环回地址,所以环回地址不等价于127.0.0.1,后者只是环回地址的一份子,是包含关系,环回地址loop back。
相比于127.0.0.1,localhost 具有更多的意义,localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为同一个是因为我们使用的大多数电脑上都将localhost指向了127.0.0.1这个地址。

0.0.0.0

服务器端,通过0.0.0.0匹配所有服务器IP,如果进程监听0.0.0.0那么客户端访问服务器任何一个可达IP都可以使用此进程。
个人电脑未配置IP时表示本机地址
路由器表示默认路由

127.0.0.1是个环回地址,是IP,并不表示“本机”,0.0.0.0才是真正表示网路中的本地。
例:服务端绑定端口的时候一般选择绑定到0.0.0.0,这样用户可以通过多个本服务器的IP进行访问。
实际:服务器有内外网IP,一般财务系统绑定内网IP仅内部访问,OA绑定0.0.0.0内外网均可访问。

::

全0的IPV6地址,和IPV4的0.0.0.0一样,表示匹配多个IPV6地址。

用双冒号“::”表示一组0或多组连续的0,但只能出现一次,每项数字前导的0可以省略,省略后前导数字仍是0则继续。
 

linux运维都需要对端口开放查看  netstat 就是对端口信息的查看

# netstat -nltp

p 查看端口挂的程序

复制代码

[root@iz2ze5is23zeo1ipvn65aiz ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3346/nginx: master  
tcp        0      0 127.0.0.1:8081          0.0.0.0:*               LISTEN      2493/docker-proxy-c 
tcp        0      0 127.0.0.1:8082          0.0.0.0:*               LISTEN      5529/docker-proxy-c 
tcp        0      0 127.0.0.1:8083          0.0.0.0:*               LISTEN      17762/docker-proxy- 
tcp        0      0 127.0.0.1:8084          0.0.0.0:*               LISTEN      2743/docker-proxy-c 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2155/sshd

复制代码

看到 查询的有Local、Address、Foregin、Program name

Local :访问端口的方式,0.0.0.0 是对外开放端口,说明80端口外面可以访问;127.0.0.1 说明只能对本机访问,外面访问不了此端口;

Address:端口

Foregin Address:对外开放,一般都为0.0.0.0:* 

Program name:此端口是那个程序在用,程序挂载此端口

重点说明 :

                0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口

               127.0.0.1 只能对本机 localhost访问,也是保护此端口安全性

    ::: 这三个: 的前两个”::“,是“0:0:0:0:0:0:0:0”的缩写,相当于IPv6的“0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在替换bind 127.0.0.1 -::1为bind 0.0.0.0之前,我们需要先查看端口占用情况。可以使用命令netstat -anp | grep 6379来查看6379端口的占用情况。根据引用\[1\]的结果,我们可以看到tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1108/redis-server 1,表示6379端口已经被redis-server进程占用了。 根据引用\[2\]的解决方案,我们可以使用netstat -tanlp命令来查看当前占用端口的情况。然后我们可以根据占用情况来决定是否替换bind 127.0.0.1 -::1为bind 0.0.0.0。 最后,根据引用\[3\]的报错信息,我们可以看到在尝试启动docker的redis时报错,错误信息为Error starting userland proxy: listen tcp4 0.0.0.0:6379: bind: address already in use。这也说明了6379端口已经被占用了。 因此,在替换bind 127.0.0.1 -::1为bind 0.0.0.0之前,我们需要先释放或关闭占用6379端口的进程或服务,然后再进行替换操作。 #### 引用[.reference_title] - *1* *3* [Redis:Error starting userland proxy: listen tcp4 0.0.0.0:6379: bind: address already in use](https://blog.csdn.net/weixin_45698935/article/details/123549869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux 系统Error starting userland proxy: listen tcp4 0.0.0.0:xx端口: bind: address already in use的...](https://blog.csdn.net/shenxinde/article/details/123720168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值