首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用本地IP访问所有本地端口,而localhost和127.0.0.1可以访问本地端口

无法使用本地IP访问所有本地端口,而localhost和127.0.0.1可以访问本地端口
EN

Unix & Linux用户
提问于 2019-09-12 10:41:48
回答 1查看 1.8K关注 0票数 -3

虽然我可以通过本地主机访问本地服务打开的:::9100

代码语言:javascript
运行
复制
[root@os3 ~]# curl localhost:9100

Node Exporter

Node Exporter
Metrics


[root@os3 ~]#

我无法通过本地IP访问端口(它也侦听IPv4,在文章末尾测试并附加结果)和所有其他服务(除了SSH)

代码语言:javascript
运行
复制
[root@os3 ~]# curl 70.60.31.103:9100
.... hanging ....

[root@os3 ~]# curl 70.60.31.103:80
.... hanging ....

Server信息 OS: CentOS7.6 (firewalldSELinux禁用)打开服务

代码语言:javascript
运行
复制
[root@os3 ~]# netstat -tpln
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:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      12116/X
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12890/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      12886/cupsd
tcp        0      0 127.0.0.1:3128          0.0.0.0:*               LISTEN      15722/sshd: hbseo@p
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      13262/master
tcp        0      0 70.60.31.103:80         0.0.0.0:*               LISTEN      8418/httpd
tcp6       0      0 :::9100                 :::*                    LISTEN      14128/node_exporter
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::6000                 :::*                    LISTEN      12116/X
tcp6       0      0 :::22                   :::*                    LISTEN      12890/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      12886/cupsd
tcp6       0      0 ::1:3128                :::*                    LISTEN      15722/sshd: hbseo@p
tcp6       0      0 ::1:25                  :::*                    LISTEN      13262/master

[root@os3 ~]#

接口

代码语言:javascript
运行
复制
[root@os3 ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp5s0f0:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:69:21:b2 brd ff:ff:ff:ff:ff:ff
3: enp5s0f1:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:69:21:b3 brd ff:ff:ff:ff:ff:ff
4: enp130s0f0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0c:c4:7a:55:fe:a2 brd ff:ff:ff:ff:ff:ff
    inet 70.60.31.103/24 brd 70.60.31.255 scope global noprefixroute enp130s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::bc7c:de99:848a:a6ff/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
5: enp4s0f0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0c:c4:7a:bc:71:68 brd ff:ff:ff:ff:ff:ff
6: enp130s0f1:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:55:fe:a3 brd ff:ff:ff:ff:ff:ff
7: enp4s0f1:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:bc:71:69 brd ff:ff:ff:ff:ff:ff
8: enp133s0f0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0c:c4:7a:bc:71:6e brd ff:ff:ff:ff:ff:ff
9: enp133s0f1:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0c:c4:7a:bc:71:6f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.103/24 brd 192.168.1.255 scope global noprefixroute enp133s0f1
       valid_lft forever preferred_lft forever
    inet6 fe80::2fdc:d6c1:e4f3:2c8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
10: docker0:  mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:17:99:89:9c brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
11: ovs-system:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 9e:e6:48:43:73:87 brd ff:ff:ff:ff:ff:ff
12: br-tun:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ea:c1:6d:7d:8d:41 brd ff:ff:ff:ff:ff:ff
13: br-int:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ce:14:02:e1:0d:4b brd ff:ff:ff:ff:ff:ff

路由表

代码语言:javascript
运行
复制
[root@os3 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp130s0f0
70.60.31.0      0.0.0.0         255.255.255.0   U     100    0        0 enp130s0f0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     101    0        0 enp133s0f1

[root@os3 ~]# ip route show table local
broadcast 70.60.31.0 dev enp130s0f0 proto kernel scope link src 70.60.31.103
local 70.60.31.103 dev enp130s0f0 proto kernel scope host src 70.60.31.103
broadcast 70.60.31.255 dev enp130s0f0 proto kernel scope link src 70.60.31.103
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 172.17.0.0 dev docker0 proto kernel scope link src 172.17.0.1
local 172.17.0.1 dev docker0 proto kernel scope host src 172.17.0.1
broadcast 172.17.255.255 dev docker0 proto kernel scope link src 172.17.0.1
broadcast 192.168.1.0 dev enp133s0f1 proto kernel scope link src 192.168.1.103
local 192.168.1.103 dev enp133s0f1 proto kernel scope host src 192.168.1.103
broadcast 192.168.1.255 dev enp133s0f1 proto kernel scope link src 192.168.1.103
[root@os3 ~]#
[root@os3 ~]#
[root@os3 ~]# ip route show table main
default via 70.60.31.1 dev enp130s0f0 proto static metric 100
70.60.31.0/24 dev enp130s0f0 proto kernel scope link src 70.60.31.103 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.1.0/24 dev enp133s0f1 proto kernel scope link src 192.168.1.103 metric 101
[root@os3 ~]#

桥梁信息

代码语言:javascript
运行
复制
[root@os3 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.02421799899c       no
[root@os3 ~]#

iptables

代码语言:javascript
运行
复制
[root@os3 ~]# iptables -t nat -vL
Chain PREROUTING (policy ACCEPT 482 packets, 53615 bytes)
 pkts bytes target     prot opt in     out     source               destination
   95  5700 DOCKER     all  --  any    any     anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 313 packets, 29974 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 805 packets, 53019 bytes)
 pkts bytes target     prot opt in     out     source               destination
    7   420 DOCKER     all  --  any    any     anywhere            !loopback/8           ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 805 packets, 53019 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  any    !docker0  172.17.0.0/16        anywhere

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  docker0 any     anywhere             anywhere
[root@os3 ~]# iptables -vL
Chain INPUT (policy ACCEPT 47446 packets, 26M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-USER  all  --  any    any     anywhere             anywhere
    0     0 DOCKER-ISOLATION-STAGE-1  all  --  any    any     anywhere             anywhere
    0     0 ACCEPT     all  --  any    docker0  anywhere             anywhere             ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  any    docker0  anywhere             anywhere
    0     0 ACCEPT     all  --  docker0 !docker0  anywhere             anywhere
    0     0 ACCEPT     all  --  docker0 docker0  anywhere             anywhere

Chain OUTPUT (policy ACCEPT 39943 packets, 41M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  anywhere             anywhere
    0     0 RETURN     all  --  any    any     anywhere             anywhere

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  any    docker0  anywhere             anywhere
    0     0 RETURN     all  --  any    any     anywhere             anywhere

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  any    any     anywhere             anywhere
[root@os3 ~]#

我遗漏了什么吗?

我认为端口也在监听IPv4,我在另一台服务器上测试了它,如下所示

代码语言:javascript
运行
复制
[centos@gateway ~]$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:ce:96:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.102.59/24 brd 192.168.102.255 scope global dynamic eth0
       valid_lft 55866sec preferred_lft 55866sec
    inet6 fe80::f816:3eff:fece:9697/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0:  mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:bf:18:26:36 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:bfff:fe18:2636/64 scope link 
       valid_lft forever preferred_lft forever


[centos@gateway ~]$ netstat -ptln
(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp6       0      0 ::1:25                  :::*                    LISTEN      -                   
tcp6       0      0 :::443                  :::*                    LISTEN      -                   
tcp6       0      0 :::4001                 :::*                    LISTEN      -                   
tcp6       0      0 :::6443                 :::*                    LISTEN      -                   
tcp6       0      0 :::2379                 :::*                    LISTEN      -                   
tcp6       0      0 :::2380                 :::*                    LISTEN      -                   
tcp6       0      0 :::111                  :::*                    LISTEN      -                   
tcp6       0      0 :::9100                 :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
[centos@gateway ~]$ 
[centos@gateway ~]$ curl 192.168.102.59:9100


 
  Index of /
 
 
.....
EN

回答 1

Unix & Linux用户

发布于 2019-09-12 11:15:03

您正在尝试访问ipv4地址,但您的服务只监听ipv6。尝试更改服务的配置,以便侦听ipv4套接字。您的ssh和web正在侦听ipv4套接字,这就是为什么可以使用ipv4从本地服务器外部访问ssh的原因。

更新:这一行意味着ssh在ipv4上是打开的。

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 12890/sshd

这一行意味着端口80在ipv4上是打开的:

tcp 0 0 70.60.31.103:80 0.0.0.0:* LISTEN 8418/httpd

这一行意味着9100在ipv6上是打开的

tcp6 0 0 :::9100 :::* LISTEN 14128/node_exporter

根据您的净状态,您在ipv4上没有任何9100

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/541356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档