开源WiFi热点实现外文翻译资料

 2022-06-12 09:06

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


开源WiFi热点实现

摘要

本文章的目的是描述一个开源无线网络的设计(包括软件、硬件、以及配置)。我们设计出来的网络将需要用到身份验证。虽然需要采取措施保证身份验证过程的安全,但此网络将传输未加密过的数据。

头注

无线网络是为大学、图书馆提供服务的必要工具。本文将用开源软件和廉价的硬件构建一个开源无线网络。开源软件是专用的。这允许我们在灵活地设计和节省开支的同时为学生提供一个通过检查代码中他们感兴趣的特定部分以学习更多系统内部工作机制的平台。 标准廉价硬件将用于作为节省开销的手段。这将允许其他人以最少的基础设施重复这个设计方案。

这个网络的目的,就像其他的一样,是用于为其拥有者提供服务的;比如说是,图书馆的赞助人,或是大学的学生,教师和员工。为保证此网络可以为其所有者提供服务,使用者在使用前要先通过身份验证。在通过了身份验证之后,网络中心将为特定用户组提供不同等级的服务,在需要是,也包括游客访问。对于本系统而言,用户的易用性是首要考虑内容;除了身份验证以外的部分,此系统传输为加密的信息,而不是用安全套阶层SSL。

除了基本节点之外,其余的接入点使用无线连接彼此相连接以避免物理连接校园内的所有接入点并且这可以进一步节省网络部署的开支。我们将使用无线路由的WDS(wireless distributed system)特性完成这些内容。所有的接入点将连接到一组中心化的服务器上,这些服务器提供了一下服务: DHCP, 网页缓存代理,DNS缓存, radius,网页服务器,登录门户,以及本网络的网络流量日志。

* 硬件

本网络的硬件要求相对简单,使用廉价的无线路由以及若干个建立在比较久远的Pentium 3桌面系统的Linux服务器即可。选择Linksys Wrt54GS路由器作为接入点,因为他们廉价,并且是现成的,并且它们还具有运行自定义的开源防火墙的能力。

其他路由器也可以作为接入点来使用;然而,本文给出的配置方面的建议是具体到WRT54GS路由器的,并且可能不是用于其它类型的硬件。WRT54GS的路由功能在本文的实现并不会用到。服务器们则不需要任何特殊配置。比较久远的硬件也可以工作的很好。对于本次实现而言,使用了若干退役的900MHz的单元,其RAM的大小为512MB,硬盘大小为40GB。

* 无线路由软件

为了提供需要的功能,这些单元已经将防火墙刷新成了开源的,基于Linux的开放系统,这些系统可以从OpenWrt的Linksys路由获取(http://www.openwrt.org)。这个开源防火墙对于其他无线设备也提供了支持。OpenWrt提供的防火墙提供了完整的可写文件系统和包管理系统。正允许开发者仅仅通过选择他们需要的包和软件来为他们的应用自由地定制设备。由于路由器的存储容量是有限的,因此,能够仅仅选择必要的组件是一个十分明显的优势。

* 服务器软件

对于服务其使用的操作系统而言,我们选择Fedora Core。Fedora提供了Yellow Dog 更新器,改进了yum,这将极大地简化在系统上更新安装过的包的操作。这样的做法通过提供一个简易和频繁更新系统的平台提高了系统的安全性。Fedora Core 是一个免费的开源的版本。Fedora Core也拥有许多将要用于本次设计的其他开源包,例如Apache Web服务器。本系统的设计者相对更加熟悉Fedora系统,然而其他的提供类似好处的系统(例如:Suse,Ubuntu,OpenBSD,Debian,等等)也是可以使用的。服务器是运行在命令行模式下的,将不是用图形用户界面以降低服务器的负载并节省硬盘空间。

* 强制主页

为了在获取网络服务之前进行身份验证,需要用到一个强制主页。

在选择强制主页时,我们所希望的一些特性是:加密身份验证,流量日志,和为不同用户组提供不同等级的服务的能力。流量日志允许系统管理员识别出滥用网络的账户。那些无意中误用系统或者是可能已经被破坏了的账户可以暂时关闭他们的访问权限,直到他们阅读了网络的相关的使用说明以后。由于网络必须由所有人共享,那些习惯性滥用资源的人,可以永久地禁用其账户。强制主页还应当将Web流量重定向到一个登录页面来,这个页面使用安全套阶层SSL来提供服务,直到用户登录位置。由于Chillispot拥有上述所有的特性,所以我们选择它。

* 服务器布局

如附录A所示,该实现使用了三台服务器。第一个服务器被用作连接到因特网的主路由器。第二服务器上运行Squid Web缓存服务器。第二个服务器也同时运行了DNS缓存服务器和FreeRADIUS服务器。第三个服务器被用于强制主页。三个服务器分别用于不同的目的。首先,这样做可以平衡负载。其次,网络中不需要先通过强制主页部分的内容可以更方便地使用第二胎服务器提供的服务,Squid, DNS,和FreeRADIUS。需要注意的是,不需要三个独立的服务器;许多服务可以合并在两个甚至是一个服务器上,以减少硬件需求。实现取决于网络的特定需求。

* 服务器安装

在每个服务器上安装操作系统(Fedora Core)是一个相对直接简单的工作。每个机器划分了1024MB的分区作为交换空间,剩余的空间作为一个ext3分区,挂载点为“/”。辞职之安装了所需求的最少的包。第一台服务器,服务器# 1(路由器),给出三的网络接口,一个用于Internet连接,一个连接到一个交换机,然后连接到服务器# 2(网络/ DNS缓存和radius)以及其他不通过强制主页连接的机器,最后一个接口连接到服务器#3(强制主页机器)。第二台服务器,服务器#2,只需要一个接口,但是第三台服务器,服务器#3,需要两个接口,一个用作无线网络的主接入点,另一个连接到交换机上,交换机则连接网络的其余部分(附录A)。为了增强安全性,还应当禁用root的SSH登录。

* 服务器 #1 配置

对于服务器#1,只需要进行很少的设置即可。因为这个服务器主要作为一个路由器来使用,唯一一个比较重要的任务是配置其IP表的规则,这部分在附录B中展示。规则如下:

*设置网络地址转换;

*允许流量在网络内转发;

*记录无线网路部分的流量;

*允许设置透明Web代理服务器;

*在允许用户通过SSH登录路由器之前,设置端口敲门。

参考这个脚本放在/ etc /红/ rc.local文件,它将运行在服务器上的靴子。

这个脚本的引用放在 /etc/red/rc.local文件中,因此服务器一经启动,它就会运行。最后是三个网络接口的设置。这可以通过系统安装过程中或之后在Fedora Core服务器上通过编辑/etc/sysconfig/networkingscripts/目录中的配置文件来实现。本实现中使用的一个配置文件可以见附录C。当然,配置文件需要随着网络拓扑结构的改变一同改变。

* 服务器#2配置

第二个服务器需要更多的配置来配置它运行的所有必需的服务。实现中添加的第一个服务就是Web缓存代理服务,Squid。Squid的默认配置文件(/etc/squid.conf)非常的大。幸运的是,只需要改动其中一点点就可以简单地使服务器运行起来。实现中改动的部分可以见附录D。这个配置文件中最重要的部分在最后几行,这几行允许其作为透明代理服务器来运行,使其对用户来说变得透明,并且不需要配置他们的浏览器。

由于没有必要做一个权威DNS服务器,这里仅仅为网络缓存DNS即可,dnsmasp很容易配置,同时,处理DHCP服务和DNS缓存都很容易,因此我们选择它。在这个情况下,强制主页用于为网络其余部分的无线用户提供DHCP服务。Dnsmasp的配置相对来说比较简单,只需要改动默认配置文件中的一处即可, 即DNS服务器地址存储在哪里,改动/etc/dnsmasq_resolv.conf即可。

接下来则是FreeRADIUS服务器的配置。radius服务器的配置需要改动两个文件;两个文件的位置都在/etc/raddb/目录下。第一个文件是clients.conf(附录E)。此文件中最少需要列出两个用户,一个是localhost(本机),另一个是强制主页机器。对于每一个机器,必须为其指定一个密码和主机名。这样做建立了用于加密强制主页与radius服务器之间的交流的共享密钥。第二个文件是用户文件(附录F)。在这个文件中强制诸恶月系统的每个用户必须同其密码一起列出。本实现中也包含了一个类,一个会话超时时间(dhcp租约时间),绘画中间间隔和最大上载和下载速度。如果游客需要访问,则应当在文件中添加若干个游客账户条目,条目和注册用户是添加到一起的。每个接入点都需要添加一个条目,以便其从DHCP服务器维持一个地址。最后,对于这个机器而言,其接口配置文件需要根据网络的具体规范进行更改。对于这个机器来说,配置是十分简单的,因为它只有一个接口,对其地址的唯一要求是它要与其链接到的路由服务器处于同一个网络。

* 服务器#3配置

第三个服务器要求安装强制主页软件,本例中选用CHillispot。为了安装CHillspot,如果采用的是Fedora操作系统,可以通过RPM包管理文件安装一个打包好的二进制文件。否则,如果你发现你需要从源码开始编译,你可能就不能最小化地使用操作系统和基本组件了,还需要使用GNU编译器集合(gcc)。

当使用源码安装时,首先要从Chillispot网站上下载源码。源码下载好之后,解压源码,想要安装Chillspot守护进程则需要进入包含源文件的目录并输入以下标准命令:

./configure

make

make install

当安装好了Chillspot之后,不论是通过源码安装的,还是通过rpm安装的,还需要再配置两个文件并将其复制到正确的目录下,它们分别是主配置文件和登录文件。

配置文件,chilli.conf,位于包含源文件的目录下。将其移动到/etc/目录下并作出必要的改动。本实现中,这个文件需要若干处改动(附录G)。一个更重要的改动是修改默认网络范围192.168.182.0/24,这将限制网络地址的大小少于256个。

DHCP服务器的地址范围也被扩展以允许更多用户使用。网络地址的低位部分被留给地址空间,这些地址可以分配给无线接入点。无线接入点中要添加一项,以允许其维持一个静态IP地址。在此之后,必须对给用户的DNS和radius服务器地址进行设定。Chillispot配置文件中也有一项设置,可以允许用户不需要登录即可访问某些特定的域。对于此实现而言,此决定是为了允许用户可以在登录之前访问校园网和DNS服务器等。接下来,必须设定radiussecret。这个密码和在radius服务器上的clients.conf文件中输入的密码是同一个密码。设置用户将被导向到的页面的地址也是有必要的。需要在再添加两行以使无线接入点使用mac地址进行身份验证。所有的无线接入点使用同一个密码。Chillispot将无线接入点的物理地址连通密码一起传递给radius服务器。radius配置文件中必须为每一个IP/物理地址配置一个单独的条目。对于这个设置,重定向页面要放置在这个服务器上,因此也需要在这个服务器上安装Apache(使用yum),并且将此服务器的地址作为重定向页面地址添加进去(同时也要注意到,如果http模块没有自动安装,则需要为apache单独安装)。这时不需要写一个新的页面,只需要把Chillispot源文件中的样板页面(hotspotlogin.cgi)稍微改动一下即可(见附录H)。另外,此服务器也安装了安全套接层验证。这不是必要的,但是当用户在试图通过浏览器访问登录页面时避免弹出警告。

还需要添加一些ip映射表规则。需要执行第一个命令以利用网络地址转换(NAT)功能并将服务器的数据包向外传输到网络中。

/sbin/ iptables -t nat A POSTROUTING -o ethO \

-j MASQUERADE

接下来的命令是用于将来自于无线接入点的,目的地是网络外部的流量全部丢弃。这能阻止他人在访问因特网时嗅探无线接入点的物理地址,同时还能允许无线接入点和Chillispot服务器的通信配置和监控。

/sbin/iptables -A FORWARD -s 192.168.182.0/24 \

-j DROP

这些命令要在Chillispot机器启动时执行,所以要将他们放在/etc/rc.d/rc. local文件中。同时确认机器可以正确的转发网络流量也是有必要的。可以使用下面这个命令来完成确认,这个命令位于附录B的可执行命令中的第一个:

echo '1' gt; /proc/sys/net/ipv4/ip_forward

最后,要设置接口们的配置文件了。

* OpenWrt的安装与配置

有若干种用OpenWrt防火墙取代默认Lrnksys防火墙的方法。tftp协议在Windows系统和Linux系统中都可以使用,并且这种方法可以在附录I中查看。另外,使用标准网页接口的方法可以在OpenWrt网站中找到。有若干可以使用的OpenWrt版本;我们采用最新的版本,使用squashfs文件系统,因为这个版本利用了压缩的方法以节省无线接入点的空间。<!--

全文共6146字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[11069],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。