小编scu*_*bbo的帖子

为什么 `curl <this machine's IP>` 与 `curl localhost` 的行为不同?

(重定向自networkengineering.stackexchange

我的网络上有两个 Raspberry Pi——我们称它们为 Pi 和 Rho。

我正在尝试通过它们之间的 ssh 隧道设置端口转发,以便应用程序可以连接到 Rho 上的端口并从侦听 Pi 上的端口的服务器获取结果(我的最终目标实际上是设置端口转发,例如不同网络上的主机可以通过到 Rho 的 ssh 连接访问 Pi 上的 Samba 共享,而我不必完全打开到 Pi 的防火墙端口)。

我局域网中 Pi 的 IP 是192.168.42.69,而 Rho 的192.168.42.112IP是- 这些是我从本地网络通过 ssh 连接到它们的 IP。

为了对此进行测试,我SimpleHTTPServer在 Pi 的端口 8000 上启动了一个最小的 Python 服务器(带有),并sudo ssh -L 140:localhost:8000 root@192.168.42.69 -N在 Rho 上运行。当我curl localhost:140curl 127.0.0.1:140在 Rho 上时,我得到了我期望的响应。但是,当我curl 192.168.42.112:140在 Rho 上时,连接被拒绝;下面的详细输出:

$ curl -vvv 192.168.42.112:140
* Expire in 0 …
Run Code Online (Sandbox Code Playgroud)

networking ssh ip-address port-forwarding ip

6
推荐指数
2
解决办法
1123
查看次数

为什么无法通过 VPN 解析 Avahi“.local”域?

我有一个家庭实验室,其中有一些 Raspberry Pi,它们使用Avahi进行服务公告 - 我可以通过 ssh 连接到它们,ssh pi@<hostname>.local而不必记住各个 IP 地址。特别要注意的是,这不仅可以在我的笔记本电脑上运行,还可以在 Pi 本身上运行 - 也就是说,如果我通过 ssh 连接到pi1,我就可以成功ssh pi@pi2.local

我最近设置了一个在其中一台 Pi 上运行的Wireguard VPN,这样我即使不在家也可以访问我的家庭实验室。在我的笔记本电脑上使用此 VPN 时,我可以使用 ssh 到 pi ssh pi@<LAN-IP-address-of-pi>,但不能使用ssh pi@<hostname>.local

这是为什么?我对 VPN 的(诚然是基本的)理解是,它们的运行方式是让您的连接“就像”源自 VPN 服务器一样。如果是这种情况,为什么我通过 VPN 获得的 ssh 行为与通过 VPN 服务器本身获得的 ssh 行为不同?或者说,如果事实并非如此,那又怎么会不正确呢?

我的直觉是 DNS 解析不通过 VPN - 当我比较dig pi.local我的 VPN 笔记本电脑和 VPN 服务器的结果时,我得到不同的结果(不共享整个有效负载,因为我不太了解网络和安全性以了解哪些内容可以安全共享,哪些内容不安全):

  • 从我的笔记本电脑上,该;SERVER行引用8.8.8.8(我相信这是 Google 拥有的标准 DNS 服务器,它会正确地“不知道”我的 Pi …

networking dns ssh vpn avahi

1
推荐指数
1
解决办法
2892
查看次数

标签 统计

networking ×2

ssh ×2

avahi ×1

dns ×1

ip ×1

ip-address ×1

port-forwarding ×1

vpn ×1