• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Flash1
V2EX  ›  程序员

服务器访问自己 IP 会发生什么

  •  
  •   Flash1 · Nov 20, 2019 · 6508 views
    This topic created in 2548 days ago, the information mentioned may be changed or developed.

    服务器上装代理软件,然后客户端通过这个代理访问同一个服务器上的网站,这个过程发生了什么。服务器还会发送请求给 ISP 吗。 如果服务器上监听的是 127.0.0.1 的本地端口,外部网络能不能通过这种方法来访问

    18 replies  •  2019-11-21 23:58:56 +08:00
    skyeycirno
    skyeycirno
    Nov 20, 2019
    1
    不会发生什么,会显示你来访问的 ip 是内网 ip
    lhx2008
    lhx2008
    Nov 20, 2019 via Android
    2
    猜测,第一次应该是到网关,然后到公网路由,然后打回来,下次就直接交换机打回来了。
    opengps
    opengps
    Nov 20, 2019 via Android
    3
    大部分都正常访问到自身的指定端口的服务
    但如果防火墙不支持内部访问外部自身 ip,那么只能是访问不通。这个情况我在思科防火墙见过
    CEBBCAT
    CEBBCAT
    Nov 20, 2019 via Android
    4
    路由表了解一下
    mnssbe
    mnssbe
    Nov 20, 2019
    5
    你访问 127.0.0.1 会发生什么
    lc7029
    lc7029
    Nov 20, 2019
    6
    该显示啥显示啥,至于走哪个 IP 就要看路由表了
    wangyzj
    wangyzj
    Nov 21, 2019
    7
    看路由表
    HTSdTt3WygdgQQGe
    HTSdTt3WygdgQQGe
    Nov 21, 2019 via Android❤️4
    8
    自己访问自己,相当于递归,最后机器会炸
    msg7086
    msg7086
    Nov 21, 2019
    9
    > 如果服务器上监听的是 127.0.0.1 的本地端口,外部网络能不能通过这种方法来访问

    可以。SSH 隧道代理了解一下。
    dangyuluo
    dangyuluo
    Nov 21, 2019
    10
    如果只监听 127.0.0.1 的话,不做任何 hack 的话外界是访问不到的。

    输入 ip route 可以看到本机路由表
    alphatoad
    alphatoad
    Nov 21, 2019
    11
    不会发生什么
    deepreader
    deepreader
    Nov 21, 2019
    12
    @q409640976 自己撸自己,相当于递归,会死?
    ochatokori
    ochatokori
    Nov 21, 2019 via Android
    13
    @deepreader #12 是的,你递归多会爆栈
    你撸和递归到爆栈的次数一样多也会“爆栈”
    ungrown
    ungrown
    Nov 21, 2019
    14
    @ochatokori #13 不会,只会“爆浆”
    misaka19000
    misaka19000
    Nov 21, 2019
    15
    网关会把流量转回去
    gesse
    gesse
    Nov 21, 2019❤️2
    16
    你可以吧 127.0.0.1 所绑定的 lo 视为“网卡”,视作和外网 /内网 ip 绑定的网卡比如 eth0 等效。
    lo 网卡是为了本系统进程相互访问自己而“发明”的,外部网络访问不到这个“网卡”,lo 是专门为自己系统进程服务的。
    eth0 这个才是绑定了能外部访问的外网 /内网 ip 的网卡。

    你有个服务绑定在 8080 端口,如果只让自己系统的进程访问,就绑定 127.0.0.1 这个 ip (对,lo 这个“网卡”专门干这个的)
    如果你要让外部也能访问,你就绑定 eth0 网卡上面的 ip,比如 192.168.1.10 。
    如果你要都绑定, 就绑定 0.0.0.0 这个“ip”(代表了所有 ipv4 地址都绑定服务)

    至于外部、内部访问服务会发生什么,你可以先简单了解下 tcp/ip,然后再从 iptables 上找到答案。

    PS:我写的这个答案可能过于初级,但是暂时我假定楼主可能希望得到这个答案。
    dswyzx
    dswyzx
    Nov 21, 2019
    17
    @gesse 然鹅 windows 机器配置 0.0.0.0 就会惊喜
    HhZzXx
    HhZzXx
    Nov 21, 2019
    18
    我 ping 自己的局域网 IP,wireshark 没有在 wlan 那个端口抓到 icmp 包,在 localhost 端口抓到,虽然 route 表都是走 wlan 端口
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    default _gateway 0.0.0.0 UG 600 0 0 wlp3s0
    10.242.0.0 0.0.0.0 255.255.128.0 U 600 0 0 wlp3s0
    link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4649 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 01:33 · PVG 09:33 · LAX 17:33 · JFK 20:33
    ♥ Do have faith in what you're doing.