科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>如何实现Linux防火墙让远程办公更安全

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

目前,通过VPN来实现远程办公是比较常见的方法。上面的配置中,对名为“platinum”的PC做了指定MAC的IP分配,固定platinum的IP地址为192.168.0.2,如有其它机器,也做类似设置即可。

来源: 2007年10月14日

关键字:安全 远程办公 防火墙 Linux

  目前,通过VPN来实现远程办公是比较常见的方法。该方法的不足之处主要有两点:第一,若要保证VPN用户随时访问内网,内网的计算机必须长时间保持开机状态,造成大量资源的浪费;第二,用户连入VPN之后,只能把远程计算机当成网络邻居中的一员来互传资料。 利用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,添加如下代码:

AllowOverride AuthConfig

在wakeup目录中建立.htaccess文件,并编辑:

#vi /usr/local/apache2/htdocs/wakeup/.htaccessAuthName "电脑platinum启动器"AuthType BasicAuthUserFile /usr/local/apache2/apache.usersrequire user platinum

3.创建密码文件
接下来,就是创建一个专门用来存放密码的文件apache.users:

root@server# htpasswd -c /usr/local/apache2/apache.users platinumNew password:Re-type new password:Adding password for user platinum

apache.users文件内的密码被加密,修改密码时,还是使用htpasswd命令,不带“-c”参数即可。
要使配置生效,必须重启Apache服务。这样,再用
http://platinum.3322.org/wakeup访问,就会需要密码认证了(见图1)。不知道密码的人是无法进入系统开启指定计算机的。


图1 启动远程计算机的认证画面
开始远程控制
通过以上方法远程启动计算机后,启动事先装好的远程控制软件,输入Linux服务器的地址,就可以操作远程的电脑platinum了。操作完成后,如果不再需要计算机继续工作,可以通过远程控制软件关闭远程的计算机,避免了资源浪费。

推广二维码
闂傚倸鍊搁崐椋庢閿熺姴鐭楅幖娣妼缁愭鏌¢崶鈺佷汗闁哄閰i弻鏇$疀鐎n亞浠炬繝娈垮灠閵堟悂寮婚弴锛勭杸閻庯綆浜栭崑鎾诲冀椤撱劎绋忛梺璺ㄥ櫐閹凤拷

濠电姷鏁告慨鐑姐€傛禒瀣劦妞ゆ巻鍋撻柛鐔锋健閸┾偓妞ゆ巻鍋撶紓宥咃躬楠炲啫螣鐠囪尙绐為梺褰掑亰閸撴盯鎮惧ú顏呪拺闂傚牊鍗曢崼銉ョ柧婵犲﹤瀚崣蹇旂節婵犲倻澧涢柛瀣ㄥ妽閵囧嫰寮介妸褋鈧帡鏌熼挊澶婃殻闁哄瞼鍠栭幃婊堝煛閸屾稓褰嬮柣搴ゎ潐濞叉ê鐣濈粙璺ㄦ殾闁割偅娲栭悡娑㈡煕鐏炲墽鐭嬫繛鍫熸倐濮婄粯鎷呯粵瀣異闂佹悶鍔嬮崡鍐茬暦閵忋倕鍐€妞ゆ劑鍎卞皬闂備焦瀵х粙鎴犫偓姘煎弮瀹曚即宕卞Ο闀愮盎闂侀潧鐗嗛幊搴㈡叏椤掆偓閳规垿鍩ラ崱妞剧凹濠电姰鍨洪敋閾荤偞淇婇妶鍛櫤闁稿鍊圭换娑㈠幢濡纰嶉柣搴㈣壘椤︾敻寮诲鍫闂佸憡鎸鹃崰搴敋閿濆鏁嗗〒姘功閻绻涢幘鏉戠劰闁稿鎹囬弻锝呪槈濞嗘劕纾抽梺鍝勬湰缁嬫垿鍩為幋锕€宸濇い鏇炴噺閳诲﹦绱撻崒娆戝妽妞ゃ劌鎳橀幆宀勫磼閻愰潧绁﹂柟鍏肩暘閸斿矂鎮為崹顐犱簻闁圭儤鍨甸鈺呮倵濮橆剦妲归柕鍥у瀵粙濡歌閸c儳绱撴担绛嬪殭婵☆偅绻堝濠氭偄绾拌鲸鏅i悷婊冪Ч閹﹢鎳犻鍌滐紲闁哄鐗勯崝搴g不閻愮儤鐓涢悘鐐跺Г閸犳﹢鏌℃担鐟板鐎规洜鍠栭、姗€鎮╅搹顐ら拻闂傚倷娴囧畷鍨叏閹惰姤鈷旂€广儱顦崹鍌炴煢濡尨绱氶柨婵嗩槸缁€瀣亜閺嶃劎鈽夋繛鍫熺矒濮婅櫣娑甸崨顔俱€愬銈庡亝濞茬喖宕洪埀顒併亜閹哄棗浜鹃梺鎸庢穿婵″洤危閹版澘绫嶉柛顐g箘椤撴椽姊虹紒妯哄鐎殿噮鍓欒灃闁告侗鍠氶崢鎼佹⒑閸撴彃浜介柛瀣閹﹢鏁冮崒娑氬幈闁诲函缍嗛崑鍡樻櫠椤掑倻纾奸柛灞剧☉缁椦囨煙閻熸澘顏柟鐓庢贡閹叉挳宕熼棃娑欐珡闂傚倸鍊风粈渚€骞栭銈傚亾濮樺崬鍘寸€规洖缍婇弻鍡楊吋閸涱垽绱遍柣搴$畭閸庨亶藝娴兼潙纾跨€广儱顦伴悡鏇㈡煛閸ャ儱濡煎褜鍨伴湁闁绘ǹ绉鍫熺畳闂備焦瀵х换鍌毼涘Δ鍛厺闁哄洢鍨洪悡鍐喐濠婂牆绀堟慨妯挎硾閽冪喖鏌曟繛褍瀚烽崑銊╂⒑缂佹ê濮囨い鏇ㄥ弮閸┿垽寮撮姀鈥斥偓鐢告煥濠靛棗鈧懓鈻嶉崶銊d簻闊洦绋愰幉楣冩煛鐏炵偓绀嬬€规洟浜堕、姗€鎮㈡總澶夌处

重磅专题