利用Linux实现远程办公可以弥补VPN方式的以上两点不足:可以实现按需开机;可以直接控制和监测远程计算机,以及远程计算机的桌面。此方法中Linux服务器必须是连接在公网上的一台机器,它“扮演”了网关和防火墙的角色,并且负责唤醒内网的计算机。
环境配置
1.安装wakelan软件
wakelan是Linux下的一款远程唤醒程序,能唤醒与Linux服务器相连的计算机,并且其网卡MAC地址为指定地址。命令格式是“wakelan MAC地址”。
wakelan的安装方法如下:
#tar wakelan-1.1.tar.gz
#cd wakelan-1.1
#./configure
#make
#make install
2.添加广播路由
在此实际工作环境中,局域网内的机器都通过交换机连在Linux服务器的eth1网卡上。Linux服务器要对整个局域网进行广播,需要添加以下一条路由:
#route add -host 255.255.255.255 -dev eth1
把上面这条路由添加到/etc/rc.local中,即使Linux服务器重新启动,也可以自动添加该路由。
3.配置DHCP
在DHCP的配置文件/etc/dhcpd.conf中指定内网Windows机器的IP地址、域服务器地址、域名、网关、DNS服务器等信息,使其启动后可以自动获取指定的IP。当然,如果每台计算机上都有固定的IP地址,则配置DHCP服务的过程可以忽略。
/etc/dhcpd.conf中配置的内容如下:
ddns-update-style ad-hoc;
max-lease-time -1;
default-lease-time -1;
option subnet-mask 255.255.255.0;
option broadcast-address 255.255.255.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
option domain-name "home.net.cn";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.11 192.168.0.100;
host platinum {
hardware ethernet 00:0a:e6:a9:64:a2;
fixed-address 192.168.0.2;
}
}
上面的配置中,对名为“platinum”的PC做了指定MAC的IP分配,固定platinum的IP地址为192.168.0.2,如有其它机器,也做类似设置即可。
用命令“/etc/rc.d/init.dhcpd start”启动DHCP服务,使DHCP可以正常运行。
4.配置iptables,设置DNAT功能
DNAT功能可以将访问Linux网关特定端口的所有连接请求都转到内网指定机器的相应端口上(内网用户的连接请求除外)。
举例如下:
#iptables -A PREROUTING -t nat -p tcp -s ! 192.168.0.0/24 --dport 4899
-j DNAT --to 192.168.0.2:4899
上例这条命令中,把访问Linux网关4899端口的所有连接请求都转到IP为192.168.0.2的机器的4899端口上。4899是远程控制程序Radmin的默认服务端口。可以把这条命令添加到文件/etc/rc.local里,使Linux启动就自带这个功能。用户也可以写一个实现同样功能的Firewall脚本,放在/etc/rc.local里执行。
5.在内网Windows上安装远程控制软件
常用的远程控制软件有pcAnywhere、Radmin等,用户可以根据自己的喜好安装其中一个,本人使用的是Radmin。用来远程办公的计算机和受控制的计算机都必须安装这个软件,不同的是被控端除了安装这个软件以外,还需要启动服务端程序。
6.远程唤醒内网机器
远程启动的前提是Windows机器支持网卡唤醒,并且BIOS的设置要符合网卡唤醒标准。在任何能上网的地方用SSH方式登录到Linux机器,执行远程唤醒命令:
#wakelan 00:0a:e6:a9:64:a2
如果电脑启动了,则证明前面的配置成功。要远程登录,用户还必须记住一堆难记的MAC地址,这是很麻烦的,而且不安全。我们可以通过Web服务来改进这个功能。
安全、便捷的Web启动方式
如果Linux中已经安装了Apache和PHP,就可以通过配置Apache和编写PHP脚本来实现更安全地远程启动。
1.编写PHP脚本
在Apache的DocumentRoot下面建立一个wakeup目录,在这个目录下建立index.php文件,内容如下:
<?
passthru("/usr/local/bin/wakelan 00:0a:e6:a9:64:a2");
echo "计算机platinum正在启动 . . .";
?>
现在,只要在浏览器中输入一个网址(事先在Apache中设置好的),比如,http://platinum.3322.org/wakup,就可以实现远程启动了。这样虽然很方便,但是任何人都可以访问,还是不安全,需要添加Apache认证来解决这个问题。
2.添加Apache认证
修改Apache的配置文档/usr/local/apache2/conf/httpd.conf,添加如下代码:
<Directory /usr/local/apache2/htdocs/wakeup>
AllowOverride AuthConfig
</Directory>
在wakeup目录中建立.htaccess文件,并编辑:
#vi /usr/local/apache2/htdocs/wakeup/.htaccess
AuthName "电脑platinum启动器"
AuthType Basic
AuthUserFile /usr/local/apache2/apache.users
require user platinum
3.创建密码文件
接下来,就是创建一个专门用来存放密码的文件apache.users:
root@server# htpasswd -c /usr/local/apache2/apache.users platinum
New password:
Re-type new password:
Adding password for user platinum
apache.users文件内的密码被加密,修改密码时,还是使用htpasswd命令,不带“-c”参数即可。
要使配置生效,必须重启Apache服务。这样,再用http://platinum.3322.org/wakeup访问,就会需要密码认证了(见图1)。不知道密码的人是无法进入系统开启指定计算机的。
图1 启动远程计算机的认证画面
开始远程控制
通过以上方法远程启动计算机后,启动事先装好的远程控制软件,输入Linux服务器的地址,就可以操作远程的电脑platinum了。操作完成后,如果不再需要计算机继续工作,可以通过远程控制软件关闭远程的计算机,避免了资源浪费。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |