我有我的个人 VPN,连接多个设备,以便它们可以在始终可访问的网络上拥有固定的 IP 地址(只要它们连接到 Internet)。这对我来说是必要的,因为我的设备可能在移动中,在不同的和不可预测的网络上(4G 网络手机,大学里的笔记本电脑,家里的家庭服务器),而且我有一个需要连接到它们的备份服务器(有时,我也必须)。
我也在考虑安装类似 syncthing 的东西,这也可能受益于更低的延迟和更紧密的节点。
另外,我很懒,我喜欢从我的智能手机播放/暂停在我的家庭服务器上播放的音乐,这可能不在同一个网络上(应该,但并非总是如此)。
这意味着我有一个 OpenVPN 服务器,并且openvpn客户端在每台设备上运行。它们都连接到服务器,任何两个节点的任何流量都必须经过服务器,服务器相对较远,吞吐量非常有限。这意味着延迟和缓慢。当我按下“暂停”按钮时,实际暂停音乐最多可能需要 10 秒钟。即使两个节点实际上都在同一个 LAN 上(因为它们通过 VPN 进行通信)。嗯。
理想情况下,应该存在某种创建 VPN 的方法,能够找到节点之间的最短路径,并尝试直接连接它们。类似于 Skype 与超级节点合作的方式?
虽然服务器离这里很远,但其中一个节点有一个公共 IP 地址,其他节点可以访问。它可以充当它们的服务器——即使它不是服务器本身,尽管对于某些节点来说它是更好的选择。
我想我可以做一些类似于同时运行客户端和服务器的事情,并在该节点上桥接它们,但这看起来并不优雅。它是骇人听闻的,它使 PKI 复杂化,它拆分了 VPN。我不喜欢。
虽然我可以使用像 PPTP 这样的简单 VPN,它确实不能确保通信安全,但我决定不想费心配置 Bacula 来加密节点之间的连接,这意味着 VPN 内部的流量是简单的。VPN 封装是唯一的安全性,因此它应该不会很弱。但是,任何解决“网状”式 VPN 没有保密性的东西都已经是一个好的开始——我会确保流量开始通过 SSL/TLS。
这看起来像是其他人可能遇到的问题,并且现在已经解决了。有这样的吗?
我也有可能以错误的方式看待这个问题,但到目前为止,它看起来是确保我始终可以远程连接到我的任何设备的最佳方法,无论我在哪里,或者它们在哪里。
我dd_rescue是硬盘驱动器,我知道坏块在哪里。我仍然随身携带驱动器,因此我可以从 SMART 或fdisk.
我想知道是否有可能在物理上看到这些坏块所在的位置。我听说过扇区、磁道、柱面(至少在旧磁盘中),但我不知道磁盘是如何组织的,也不知道将块映射到物理扇区所涉及的数学。我相信这将是一个很好的起点,我会尽快搜索它,但由于这是我现在遇到的情况,我提前提出问题,因此任何人都可以早点帮我。
理想情况下,我会有一个圆形磁盘的(文字)图像,我将能够确定磁盘中的位置,比如说,块 #1000。
可行吗?可能不是在具有磨损均衡技术的磁盘中,但至少在桌面硬盘驱动器上,例如我正在查看的 Western Digital Caviar Green,具有超过 40k 的坏块。
这是一个学术问题。该磁盘显然将不再受信任,但我希望能够查看是否存在物理模式。
是否可以在 nginx 上发送 Strict-Transport-Security 标头,即使是在需要 WWW-Authentication 的页面上?
当我同时拥有auth_basicand 时add_header Strict-Transport-Security "max-age=2592000";,不会发送 HSTS 标头:
$ curl -Ik https://****************
HTTP/1.1 401 Unauthorized
Server: nginx/1.4.6 (Ubuntu)
Date: Sun, 14 Sep 2014 17:56:08 GMT
Content-Type: text/html
Content-Length: 203
Connection: keep-alive
WWW-Authenticate: Basic realm="*********"
Run Code Online (Sandbox Code Playgroud)
这是一个不同的页面,不需要身份验证的传送,所以add_header指令是有效果-只是没有当它需要验证。