把Linux变成无线基站服务器
时间:2010-10-26 来源:腾讯科技
创建自己的特设无线接入点包括以下几步:
1.用正确的方式来配置网络
2.确保无线网卡是以特设模式配置
3.在无线网卡上提供DHCP 服务
4.为ip桌面伪装配置防火墙
或许读者曾经阅读过如何利用Fedora Core 13来实现这种配置。除个别的配置文件名称不同外,该篇文章叙述的步骤和所有已发行的主要Linux系统几乎都兼容。
网络配置
要使服务器成为接入点,用户需要两个网站配置。其中一个提供服务器的互联网接入。可以直接与互联网连通也可以通过一个NAT路由器来接通(该步骤不是很重要)。如果使用服务器来实现这种配置,网络接口通常是局域网;也可以用笔记本来代替服务器,从而使用任何接口与网络连通。
除网络接口外,还需要无线接口。该篇文章中,假定网络接口在服务器中是以eth0来识别,无线接口是以wlan0来识别。为创建该配置,可以使用用户认为最便捷的工具来建立网络接口,没必要使用手动配置来建立。至于无线接口,用户就需要手动了。
配置无线网卡
将配置转化为配置文件之前,在命令行中为无线网卡来建立配置不失为一个好主意。可以使用iwconfig命令来完成这项任务。使用该项命令之前的第一件事就是将无线网卡设为通讯模式。下面的命令可以完成该设置任务:
iwconfig wlan0 mode Ad-Hoc用户的无线网卡只有在别的电脑已设置成通讯模式的情况下才能与其连通。下一步,用户的电脑还需要一个ESSID,该名称是识别该网络的唯一标识符。在所讲解的这个例子中,如果 essid 超网(supernet)已被使用,用户则可以使用任何essid,前提是在用户电脑可接触的范围内该essid还没有被使用。下面的命令可以为用户的电脑设置一个ESSID。
iwconfig wlan0 essid supernet
在这种情况下,用户的无线网卡应具备所有的要求参数,可以使用iwconfig命令来验证这一点。
下一步,用户需要为无线网卡来指定IP地址配置,可以使用IP地址命令来完成这项任务,如下所示:
ip address add dev wlan0 192.168.100.1 netmask 255.255.255.0
指定IP地址时,需要确定该地址是唯一的,未被使用的。用户不需要指定默认网关和DNS服务器,因为用户的电脑通过网络接口已经获取了这些信息。IP地址指定后,用户的无线网卡建立起来了,能够从邻近的电脑上看到无线接入点。
用户可以与它链接,但此时还不能获得IP地址,因为DHCP服务器还没有被配置。
第2页:DHCP服务器配置
DHCP服务器配置
下一步,用户要确认自己的接入点能够提交IP地址。为了完成该任务,首先需要使用yum安装方式来安装DHCP。然后,建立一个名称为/etc/dhcp/dhcpd.conf的配置文件,并使该文件包含以下内容:
[root@sfo ~]# cat /etc/dhcp/dhcpd.conf
完成配置后,用户需要启动DHCP服务器,并确信它在服务器重启后可以自动启动。以下的命令可以帮助用户完成该任务:
service dhcpd start
配置防火墙
配置的最后一步是在服务器上配置NAT。用户可以使用功能强大的内部Linux iptables防火墙来完成。如果没有附加的防火墙配置到用户的服务器上,完成该NAT配置是相当容易的,但要注意所使用的方法。在Fedora, Red Hat 和 CentOS中,用户可以使用图示版本的system-config-firewall工具来创建防火墙规则。然而,这种工具使用方便,却会破坏已经手动建好的防火墙配置,因此,最好直接使用该种简捷的防火墙配置工具。
使用一个命令就可以激活用户服务器上的NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
该命令中最重要的部分就是-o eth0这个选项。该选项指定了用户用来接通网络的的网络接口名称。确定该选项表达了正确的接口名称。
如果其他的防火墙规则在用户的服务器上也是激活状态的话,用户可以用两项命令行来确保以下条件的成立:无线网络的流量接通到网络上; 防火墙允许关于该网址流量的回复返回到服务器。以下的命令行会帮助用户完成该任务:
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
然后,用户需要改变/etc/sysconfig/iptables-config。如果用户给予iptables-config中的以下三个参数值是“是(yes)”的话,Fedora和它的衍生产品就会体现它们的一项优良功能:减少在命令行中输入的iptables行:
IPTABLES_MODULES_UNLOAD
还有一件事需要完成,用户的电脑要提出一个IP数据包,这样一来,用户电脑就可以充当一个路由器。为实现这一点,可以把以下的命令行放入/etc/sysctl.conf中:
net.ipv4.ip_forward=1
到此,配置已经完成了,用户可以重启电脑,来检验一下所有的东西是否如预期的进行。然后,用户就可以使用自己的特设接入点了。