V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Flash1
V2EX  ›  程序员

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

  •  
  •   Flash1 · 2019-11-20 21:45:19 +08:00 · 5449 次点击
    这是一个创建于 1830 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    可以。SSH 隧道代理了解一下。
    dangyuluo
        10
    dangyuluo  
       2019-11-21 02:43:33 +08:00
    如果只监听 127.0.0.1 的话,不做任何 hack 的话外界是访问不到的。

    输入 ip route 可以看到本机路由表
    alphatoad
        11
    alphatoad  
       2019-11-21 04:47:19 +08:00
    不会发生什么
    deepreader
        12
    deepreader  
       2019-11-21 07:16:33 +08:00
    @q409640976 自己撸自己,相当于递归,会死?
    ochatokori
        13
    ochatokori  
       2019-11-21 07:55:58 +08:00 via Android
    @deepreader #12 是的,你递归多会爆栈
    你撸和递归到爆栈的次数一样多也会“爆栈”
    ungrown
        14
    ungrown  
       2019-11-21 10:25:16 +08:00
    @ochatokori #13 不会,只会“爆浆”
    misaka19000
        15
    misaka19000  
       2019-11-21 10:42:56 +08:00
    网关会把流量转回去
    gesse
        16
    gesse  
       2019-11-21 13:27:01 +08:00   ❤️ 2
    你可以吧 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
        17
    dswyzx  
       2019-11-21 22:16:38 +08:00
    @gesse 然鹅 windows 机器配置 0.0.0.0 就会惊喜
    HhZzXx
        18
    HhZzXx  
       2019-11-21 23:58:56 +08:00
    我 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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.