首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 您现在的位置: 中国IT实验室 >> 安全 >> 防火墙 >> 正文


如何实现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可以正常运行。
 

  #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可以正常运行。
  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了。操作完成后,如果不再需要计算机继续工作,可以通过远程控制软件关闭远程的计算机,避免了资源浪费。


 

【责编:wayen】


相关文章
谁更安全 六款主流浏览器深度测试
安全技巧 通过命令限制上网用户的权限
Rambo安全经验谈:如何应对DoS攻击
木马攻击 杀毒软件失灵:企业安全噩梦
利用网络访问管理(NAC) 保障系统安全
安全性对比 浅析防火墙与路由器配置
关注企业数据安全 十招谨防数据泄露
世界第一黑客改过自新 总结电脑安全十大建议
热点文章
 文章评论
 精彩友情推荐
  • Asp源码 PHP源码
  • CGI源码 JSP源码
  • 建站书籍教程
  • 服务器软件 .net源码
  • 建站工具软件
  • IDC资讯大全
  • 机房品质万里行
  • IDC托管必备知识
  • 全国IDC报价
  • 网站推广优化

  •  最新更新
     技术专题