如何在Linux中使用Ubuntu 9.10和FreeNX设置终端服务器
曾经是旧的是新的,而以桌面为中心的计算正在为缩减瘦客户机/大型机计算的回报而努力。 本教程将引导您完成Ubuntu桌面,以充当“大型机”,能够使用优秀的FreeNX服务器,由瘦客户端或常规桌面访问。
FreeNX是NoMachine的NX Server的开源实现。 与通常的VNC协议相比,微软的RDP协议更为类似,因此在将带宽保持在最低限度的同时,它保持良好的视觉质量和响应能力。 您可以使用NoMachine的免费NX Client (可用于Windows,OS X,Linux或Solaris)进行连接。 此外,默认情况下,所有流量都通过SSH,因此您的连接已加密。
有很多情况是有用的。 在工作中,我们的敏感数据在不直接连接到互联网的网络上。 为了访问互联网,用户远程连接到NX服务器。 这只需要在一个方向上打开一个单一的端口(22),并且是相当安全的。 它节省了巨大的硬件布局,简化了管理,并且由于它是一个锁定的Linux计算机,所以对病毒和恶意软件的担心比较少(我们的网络主要是Windows)。
就我个人而言,我在家里的工作站上运行一个类似的设置,这让我可以从我的上网本访问我的电脑的全部性能和所有的文件,无论我连接到互联网。 使用与Linux终端服务器项目相结合的NX服务器可以重新利用旧的旧版桌面,用于新的应用程序。
我应该在这里放一个免责声明。 这些说明适用于我。 他们也应该为你工作,尽管他们可能不会。 网络安全是一个复杂的课题。 虽然这样的设置有可能是高度安全的,但我没有涵盖可能涉及的所有方面。 所以,请按照这些说明自己承担风险。
话虽如此,让我们开始吧。
操作系统
首先要做的是安装Ubuntu 9.10。 我不会详细介绍这一点,因为它是相当简单的,并且已经有其他地方的优秀说明,如:
https://www.youcl.com/info/4752
第1步-3将是最低限度的,但随时可以根据需要进一步定制。
先决条件
通过单击应用程序 - >附件 - >终端
来打开终端窗口,然后将您的权限提升为根。
sudo su -l
我们要安装一个必需的软件包和一些有用的软件包。 Openssh-server是FreeNX服务器的一个要求,fail2ban将锁定尝试使用不正确的凭据登录的用户,这有助于减轻暴力攻击。 我正在使用firehol来帮助编写iptables防火墙。
aptitude update && aptitude install openssh-server fail2ban firehol
我们来测试我们的ssh服务器是否正在运行:
ssh 127.0.0.1
您应该获得一个RSA密钥指纹列表和查询是否要继续连接。 你可能会记下指纹。 我们将在稍后的步骤中进行比较。 因为我们不想连接到这里,所以我们只想知道我们的ssh服务器正在运行。
继续离开那个终端窗口打开。 我们很快就会回来。
联网
接下来我们来配置网络。 因为这将是一个远程访问的服务器,我们将要设置一个静态IP地址。 其他选项包括从DHCP服务器设置静态分配的IP地址,但这超出了本教程。 您可能还需要在不同网络上的IP地址。 如果你想要任何这些,你可能知道你正在做什么,不需要我的帮助来配置你的网络,所以继续设置你的网络,让我们在网络配置后见面。 否则,让我们设置一个静态IP地址。
我的示例对我的网络是正确的,但你需要修改它们的网络。 开始的好地方是看到已经分配给您的网络设置。 从您的终端窗口输入:
ifconfig eth0
注意addr
(IP地址), Bcast
(广播)和Mask
(网络掩码)设置。 下一个类型
cat /etc/resolv.conf
并注意您的DNS服务器(Nameservers)。 最后输入:
route
并记下从默认
开始的行旁边的网关
地址。 这是您的默认网关。
因此,您需要选择与当前设置相同的网络范围内的IP地址,但不会由DHCP服务器分配IP地址,以避免网络冲突。 一旦你这样做,我们来静静地添加这些设置:
nano /etc/network/interfaces
如果存在以下行,则将要将dhcp
更改为static
。
iface eth0 inet dhcp
如果没有,请添加以下内容:
iface eth0 inet static
然后我们要添加几行。 确保使用您的网络设置,而不是我的:
address 192.168.1.253 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8, 8.8.4.4
然后保存(control-o)并退出(control-x)。
我打算插上Google的公共DNS服务器,我觉得比我的ISP要快得多,方式更容易记住。
我们通过键入来测试设置
/etc/init.d/networking restart
如果都按计划进行,您应该能够打开Firefox并浏览互联网。 在继续之前,确保这样工作。
接下来,我们来配置我们的防火墙。 再次,如果你知道你在做什么,并想要配置这个不同的,那没关系。 否则,返回到我们的终端窗口并键入以下内容:
nano /etc/default/firehol
并换行:
START_FIREHOL=NO
至
START_FIREHOL=YES
让我们用以下命令更新firehol的保留IP地址列表:
get-iana
凉。 所以请随意配置不同,但是对于这些教程,我们将设置防火墙以允许端口22(ssh)上的传入连接,而没有别的。 我们不会限制传出连接。 去做这个:
nano /etc/firehol/firehol
并在配置文件的底部添加以下行:
server ssh accept
使用以下命令保存配置文件并启动firehol:
firehol start
你应该看到:
Activating new firewall (47 rules): OK
如果您好奇,可以看到使用以下命令生成的规则:
iptables --list
FreeNX
好的,所以现在是安装FreeNX的时候了。 幸运的是,Ubuntu上的FreeNX实现是在附加存储库中,因此我们可以使用以下命令轻松安装它:
add-apt-repository ppa:freenx-team
aptitude update
aptitude install freenx
/usr/lib/nx/nxsetup --install
为了增加安全性,您可以生成新的密钥,但是在这一点上,您必须与客户端软件一起分发密钥。 我个人的看法是,在内部网络上,这不是一个问题,但是如果您的NX服务器面向外部,则应该生成自己的。 它将为您生成自定义键。 制作钥匙的副本(设置客户端时需要它),如果这样做,请将其保存在安全的地方。
客户端安装
因此,您的NX服务器应该正在运行。 我们来安装一个客户端 切换到第二台计算机并启动以下网站: http : //www.nomachine.com/download.php
为您的操作系统下载相应的NX Client产品并进行安装。 您不需要任何附加组件。
第一次运行它时, NX连接向导
将显示。 组成会话的名称,输入服务器的IP地址,并设置与服务器的速度网络连接速度,最可能是LAN
。
下一个屏幕还有几个选项。 由于我们使用的是Ubuntu 9.10,默认情况下是Gnome桌面环境,所以您必须将默认值从KDE
更改为Gnome
。 设置屏幕分辨率,然后点击下一步
。
如果生成自定义键,请选中显示高级配置
对话框。 如果没有,请点击完成
。 在“ 高级配置”对话框中
,“ 服务器”
部分旁边有一个名为“ 键”
的按钮。 您需要在那里导入您的自定义键,如果您生成了一个。
所以现在我们已经准备好远程登录了。 输入您的用户名和密码,然后单击登录
。 第一次连接时,会要求您验证RSA密钥指纹。 这是您的SSH密钥,指纹应该与之前的SSH测试相匹配。 你应该接受这个钥匙,但是请注意,如果以后再次出现这种情况,那么应该在你的头脑里掀起警报 - 这可能是恶意的。
如果一切都按计划进行,你应该远程登录。
从这里,您可以为要连接的每个人创建新的登录。 只需进入系统 - >管理
,然后选择用户和组
。
恭喜,您现在有了一个可用的FreeNX服务器。 根据您计划在服务器上进行的操作,还可以执行其他一些步骤。 要启用远程访问,在路由器上,您可以将端口22转发到服务器的IP地址,这将允许您从网络外部连接到服务器。 在业务环境中,您可以在NX服务器和内部网络之间添加防火墙,再次转发端口22.如果执行此操作,则应生成自定义密钥并使用NX客户端软件进行分发。 通过这样的设置,您可以避免设置潜在的昂贵或复杂的VPN设置。
更多文件: