Как возможно, что один компьютер получит доступ к локальному хосту другого компьютера (127.0.0.1)?
Я знаю, что такое localhost,
Однако это произошло . Мне интересно, почему это произошло..
Проблема, объяснение
Среда
- Узел А: 192.168.9.21 (Windows 10)
- Узел B: 192.168.9.22 (поток Centos 8)
Я веду блог со страницами GitHub, где используется Jekyll с Ruby .
И это запускалось на машине Linux (узел B, 192.168.9.22) для тестирования.
Ниже изображения приведено описание моего окружения.
Ситуация
Я запускаю сервер Jekyll с Ruby на своем узле B (машина с Linux)
[root@dev-desktop TyeolRik.github.io]# uname -a
Linux dev-desktop 4.18.0-408.el8.x86_64 #1 SMP Mon Jul 18 17:42:52 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@dev-desktop TyeolRik.github.io]# ifconfig | grep 'inet'
inet 172.21.0.1 netmask 255.255.0.0 broadcast 172.21.255.255
inet6 fe80::42:a8ff:fe12:6327 prefixlen 64 scopeid 0x20<link>
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:c4ff:fe87:1d10 prefixlen 64 scopeid 0x20<link>
inet 192.168.9.22 netmask 255.255.255.0 broadcast 192.168.9.255
inet6 fe80::b62e:99ff:fece:dbe3 prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
inet6 fe80::e41b:acff:fe76:5180 prefixlen 64 scopeid 0x20<link>
inet6 fe80::3cc3:a1ff:feac:ec90 prefixlen 64 scopeid 0x20<link>
[root@dev-desktop TyeolRik.github.io]# bundle exec jekyll serve
Configuration file: /root/TyeolRik.github.io/_config.yml
Source: /root/TyeolRik.github.io
Destination: /root/TyeolRik.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 1.337 seconds.
Auto-regeneration: enabled for '/root/TyeolRik.github.io'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
Вы можете видеть, что IP-адрес узла B (машина с Linux) — 192.168.9.22.
И я запустил сервер Jekyll с помощью команды
На узле A (Windows) я включаю Chrome и получаю доступ к адресу 127.0.0.1:4000. И это работает.
Чтобы доказать, что я подключаюсь к компьютеру с Windows (без заблуждений), я также показываю вам конфигурацию
своей сети , которую можно отобразить в настройках Windows.
Вопрос
Как это возможно?
* Сначала я написал этот вопрос в разделе «Обмен стеками сетевого проектирования». Но его закрыли из-за не по теме.
Добавлен
[root@dev-desktop ~]# ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=1011,fd=13))
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=1026,fd=5))
udp UNCONN 0 0 0.0.0.0:37490 0.0.0.0:* users:(("avahi-daemon",pid=1011,fd=15))
udp UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=1011,fd=14))
udp UNCONN 0 0 [::]:47088 [::]:* users:(("avahi-daemon",pid=1011,fd=16))
udp UNCONN 0 0 [::1]:323 [::]:* users:(("chronyd",pid=1026,fd=6))
udp UNCONN 0 0 *:49805 *:* users:(("java",pid=3818,fd=337))
tcp LISTEN 0 128 127.0.0.1:6013 0.0.0.0:* users:(("sshd",pid=3262,fd=13))
tcp LISTEN 0 128 127.0.0.1:6014 0.0.0.0:* users:(("sshd",pid=3472,fd=13))
tcp LISTEN 0 128 127.0.0.1:6015 0.0.0.0:* users:(("sshd",pid=45778,fd=13))
tcp LISTEN 0 128 127.0.0.1:4000 0.0.0.0:* users:(("bundle",pid=66201,fd=8))
tcp LISTEN 0 128 127.0.0.1:6016 0.0.0.0:* users:(("sshd",pid=47351,fd=13))
tcp LISTEN 0 128 127.0.0.1:6017 0.0.0.0:* users:(("sshd",pid=47502,fd=13))
tcp LISTEN 0 128 127.0.0.1:6018 0.0.0.0:* users:(("sshd",pid=65822,fd=13))
tcp LISTEN 0 128 127.0.0.1:40327 0.0.0.0:* users:(("node",pid=2263,fd=18))
tcp LISTEN 0 128 0.0.0.0:8629 0.0.0.0:* users:(("docker-proxy",pid=49044,fd=4))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1099,fd=3))
tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1154,fd=7))
tcp LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* users:(("sshd",pid=2120,fd=13))
tcp LISTEN 0 128 127.0.0.1:6011 0.0.0.0:* users:(("sshd",pid=2380,fd=13))
tcp LISTEN 0 128 127.0.0.1:6012 0.0.0.0:* users:(("sshd",pid=2464,fd=13))
tcp LISTEN 0 128 [::1]:6013 [::]:* users:(("sshd",pid=3262,fd=12))
tcp LISTEN 0 128 [::1]:6014 [::]:* users:(("sshd",pid=3472,fd=12))
tcp LISTEN 0 128 [::1]:6015 [::]:* users:(("sshd",pid=45778,fd=12))
tcp LISTEN 0 128 [::1]:6016 [::]:* users:(("sshd",pid=47351,fd=12))
tcp LISTEN 0 128 *:38080 *:* users:(("java",pid=47090,fd=132))
tcp LISTEN 0 128 [::1]:6017 [::]:* users:(("sshd",pid=47502,fd=12))
tcp LISTEN 0 128 [::1]:6018 [::]:* users:(("sshd",pid=65822,fd=12))
tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=47090,fd=440))
tcp LISTEN 0 128 [::]:8629 [::]:* users:(("docker-proxy",pid=49052,fd=4))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1099,fd=4))
tcp LISTEN 0 5 [::1]:631 [::]:* users:(("cupsd",pid=1154,fd=6))
tcp LISTEN 0 128 [::1]:6010 [::]:* users:(("sshd",pid=2120,fd=12))
tcp LISTEN 0 128 [::1]:6011 [::]:* users:(("sshd",pid=2380,fd=12))
tcp LISTEN 0 128 [::1]:6012 [::]:* users:(("sshd",pid=2464,fd=12))
2 ответа
Похоже, вы выполняете переадресацию локальных портов. Я предполагаю, что вы используете шпатлевку и настроили ее аналогично следующей команде:ssh -L 4000:127.0.0.1:4000 user@192.168.9.22
.
Если у вас нет SSH-соединения или чего-то подобного, это также может быть обратный прокси-сервер. В этом случае добавьте выводss -tulpn
на ваш вопрос.
Проверьте настройки прокси.
Пока не192.168.9.22:4000
настроен как прокси, происходит настоящая магия.
У вас есть дубликат192.168.9.22
адреса здесь, так что настройка уже беспорядок.