![ssh 隧道并更改 IP](https://linux22.com/image/228960/ssh%20%E9%9A%A7%E9%81%93%E5%B9%B6%E6%9B%B4%E6%94%B9%20IP.png)
我通过以下方式在笔记本电脑中创建隧道:
ssh -p 22 -CfND 7777 mohsen@myserver
输入密码后,连接就建立了。
我使用 Firefox 中的 socks5127.0.0.1:7777
浏览许多经过过滤的网站。
但谷歌或某些网站知道我使用了隧道,我该如何配置我的 ssh 服务器来告诉谷歌或其他网站我不是假的?
答案1
这不是关于 SSH 服务器,而是关于 SOCKS5 客户端:Firefox。
当 Firefox 执行 DNS 查找时,任何能够通过 DNS 进行地理定位的 DNS 服务器(例如 Google 的)都会发出针对该地址量身定制的 DNS 答案。客户的(或其 NAT 路由器的...)实际 IP 地址,而不是 SOCKS5 的服务器 IP 地址。或者,如果客户端设置为使用递归 DNS 服务器(例如:ISP 的)进行解析,并在 DNS 级别执行过滤,则该 DNS 服务器可能会直接过滤请求,而不让客户端接收最终 DNS 服务器将要接收的实际地址。已提供。
默认情况下,无论是否使用 SOCKS5 代理,Firefox 将继续执行自己的 DNS 解析,或者至少这是 Firefox 115 ESR 的默认设置,其中 false 显示为默认值(非粗体),true 显示为network.proxy.socks_remote_dns
.
有关的文档network.proxy.socks_remote_dns
告诉:
背景
此首选项控制 SOCKS v5 客户端的 DNS 查找是发生在客户端还是代理服务器上。
可能的值及其影响
真的
让代理服务器执行 DNS 查找。
错误的
在客户端上执行 DNS 查找。
所以
转到高级配置首选项中的 Firefox 设置(
about:config
无需任何其他内容即可使用特殊的 Firefox URL 进行访问)在参数搜索中输入
network.proxy.socks_remote_dns
将其从 切换
false
到true
由于 OpenSSH SOCKS5 实现仅支持 TCP,而不支持 UDP,因此还应该验证(客户端系统上的 tcpdump)或确保(客户端系统上的防火墙)客户端(Firefox、Chromium 等)不会通过以下方式使用 QUIC 或 HTTP/3:如果 UDP SOCKS5 尝试失败,则没有 SOCKS5 代理的 UDP 会“泄漏”实际位置,尽管我怀疑这种情况会发生。