nanoHUB 使得远程计算成为可能
2008-11-10 08:25:40 来源:WEB开发网清单 1. nanoHUB 的经过精心设计的 fuse_main()
fuse_setup(...);
umask(0);
setfsuid(...);
chroot(...);
setregid(...);
setreuid(...);
fuse_loop(...);
fuse_teardown(...);
用于安全性的 Goldilocks 级别 在这里的含义是:严格设置合适的权限和访问,既不太多也不太少。
比较
nanoHUB 并不像常见的远程控制 系统(如 Fog Creek Copilot、Microsoft® Remote Desktop、WebEx Desktop、或者 GoToMyPc)那样共享一台计算机的物理显示器;相反,它是 Citrix(在一个服务器中承载多个虚拟显示器)的再现。使用 nanoHUB 无需缴纳许可费用,并且就承载和显示来说,nanoHUB 比 Citrix 具有更强的可移植性。同样,可以将 nanoHUB 客户端嵌入到 Web 浏览器中,如前所述,并且可以更加容易地对连接进行更改,以便穿过典型的防火墙。
nanoHUB 一次又一次地体现出它的总体主题,即类似于一些更常见的技术(例如,常规的 Web 应用程序),但是它在基础设施中进行了重新设计,以达到更高的安全标准、性能或者可伸缩性。
端口转发
下面为端口转发提供了一个具有说明性的示例:nanoHUB 使用 Web 服务器中的连接路由器进行端口转发。它侦听端口 563 (NNTPS),并等待连接。当 nanoHUB 将 VNC 客户端配置提供给用户浏览器(通过 HTTPS 实现安全性)的时候,nanoHUB 将添加几个参数,以便告诉客户端如何与连接路由器进行协商。该路由器被动地将这个连接转发到私有内部网络中合适的 VNC 服务器。
在其早期历史中,nanoHUB 使用 iptable 进行连接路由。在最好的情况下,与用户空间路由相比,iptable 的效率要高得多,因为用户空间路由涉及到两条 通道中(通过内核从网络到路由器,再返回到其他网络)的数据包。用户空间路由还强制进行至少两次上下文切换。
更多精彩
赞助商链接