PC+双网卡+802.11N无线网卡+Ubuntu=超级802.11N无线软路由现在的无线路由器款式很多,但都大同小异,但说实话性能都很一般,而且如果有更新更高速的技术出现,则又要花银子重新买设备。用旧的闲置电脑做路由器的案例很多而且性能也比买成品路由器要强,如ROS等等,但大多又是收费的。
笔者是一个不甘落后的速度追求者,喜欢尝试较新的技术,近日闲来无事决定用自己闲置的电脑装Ubuntu 10.04尝试免费而高效的无线路由器。
以下的设置资料是笔者一点点自己摸索出来的,可能不够专业和完善,还请给为大侠多多指教。
使用到的配件如下:
PC:P4以上,512M内存,40G硬盘(这个配置现在大多数都用在以旧换新买大家电去了吧)。
有线网卡:100M 网卡2块,有条件的可以用1块100M网卡接宽带,1000M网卡接内网(1000M的网卡现在也不贵)。
无线网卡:笔者所使用的是TP-Link TL-WN951N 802.11N 300M 3X3MIMO网卡。
宽带情况:PPPOE
安装步骤:
(1) 安装Ubuntu Server 10.04,安装软件选项需要选中DNS server & OpenSSH server(其他可根据需求添加)。
(2) 个人认为用root账户管理与安装软件比较方便,这样很多命令不需要sudo开头。启用root账户方式:sudo passwd root,输入新的密码后即可登陆。(如需删除其他用户可用命令:userdel -r <user>,其中-r参数意义为remove home directory and mail spool)。
(3) 为ubuntu server安装图形界面:
>-------------------------------------------
安装 X 窗口系统:sudo apt-get install x-window-system-core
安装登录管理器:sudo apt-get install gdm
安装桌面环境或窗口管理器,仅安装最基本的组件:sudo apt-get install gnome-core,安装完整的Ubuntu桌面环境:sudo apt-get install ubuntu-desktop
安装终端:sudo apt-get install konsole
安装新利得软件管理器
sudo apt-get install synaptic
安装资源管理器:sudo apt-get install Konqueror
安装中文显示:
sudo apt-get install language-pack-zh
sudo apt-get install language-pack-kde-zh
sudo apt-get install scim
sudo apt-get install ttf-wqy-zenhei
安装完成需要刷新下载列表:sudo apt-get update
-------------------------------------------<
(4) 安装DHCP3-SERVER:sudo apt-get install dhcp3-server
(5) 安裝 bridge 套件:sudo apt-get install bridge-utils
(6) 安装hostapd(无线AP模式):sudo apt-get install hostapd,配置/etc/hostapd/hostapd.conf文件:
>-------------------------------------------
修改以下参数
interface=wlan0
bridge=br0
driver=nl80211
ssid= #你自定义的ssid。
#country_code=US #国家代码注销掉。
hw_mode=g #abg网卡可以改为对应模式数值。
channel=11 #频道 11(不要改动,否则影响ht_capab=[HT40-]参数)
dtim_period=1 #设置DTIM周期,稳定的关键。
rts_threshold=2347 #可考虑注销此项目来提高网卡性能,如果更改后变得不稳定则取消注销。
fragm_threshold=2346 #可考虑注销此项目来提高网卡性能,如果更改后变得不稳定则取消注销。
macaddr_acl=1 #0为允许未在hostapd.deny文件中列出的MAC地址访问,1为只允许hostapd.accept文件中列出的MAC地址访问。
accept_mac_file=/etc/hostapd/hostapd.accept #指定hostapd.accept文件位置。
deny_mac_flie=/etc/hostapd/hostapd.deny #指定hostapd.deny文件位置。
auth_algs=3
ieee80211n=1 #如果是n网卡则参数为1,否则为0。
ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40] #n网卡启动300M速率。
wpa=1 #启动WPA,1=WPA,3=WPA2。
wpa_passphrase=*********** #WPA密码,长度一般是8-63字节ASCII字符。
wpa_key_mgmt=WPA-PSK #WPA加密类型。
wpa_pairwise=TKIP CCMP #如果只启用WPA2则去掉前面的TKIP。
rsn_pairwise=CCMP
-------------------------------------------<
(7) 编辑/etc/default/hostapd文件
>-------------------------------------------
RUN_DAEMON="yes" #开机后台自动运行hostapd。
DAEMON_CONF="/etc/hostapd/hostapd.conf" #hostapd.conf配置文件位置。
-------------------------------------------<
(8) 安装UPnP:apt-get install linux-igd
(9) 设置PPPOE命令:pppoeconf
(10) 配置/etc/network/interfaces文件:
>-------------------------------------------
假设eth0为Wan口,eth1为Lan口。
添加以下内容
#Bridge interface
auto eth1
auto wlan0
auto br0
iface br0 inet static
address 192.168.1.1
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
bridge-ports eth1 wlan0
(以下内容由pppoeconf自动生成)
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
auto eth0
iface eth0 inet manual
-------------------------------------------<
(11) 配置/etc/dhcp3/dhcpd.conf文件
>-------------------------------------------
在文件最后添加以下内容
#Subnet for DHCP Clients
subnet 192.168.1.0 netmask 255.255.255.0 {
allow booting;
allow bootp;
interface br0;
option domain-name-servers 192.168.1.1;
default-lease-time 604800; #7 days
max-lease-time 2592000; #30 days
range 192.168.1.100 192.168.1.200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
}
-------------------------------------------<
(12) IP伪装 为了使局域网中的其他机器能通过Linux服务器共享上网,至少须执行下面的命令:iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
(13) 编辑/etc/rc.local启动配置文件( 若开机不执行,在终端输入chmod +x /etc/rc.local重启看看):
>-------------------------------------------
添加(必须添加在exit 0前面)
/etc/init.d/dhcp3-server start #启动DHCP服务
echo "[OK]"
echo "Drop ICMP form anywhere"
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "[OK]"
#(前面四句用于关闭ICMP,防止别人Ping)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE #启动网络转发
echo "1" > /proc/sys/net/ipv4/ip_forward
-------------------------------------------<
(14) PPP拨号成功后自动启动UPnP
>------------------------------------------
新建或编辑/etc/ppp/ip-up.local文件
添加upnpd ppp0 br0
设置ip-up.local文件为可执行:chmod 755 ip-up.local
-------------------------------------------<
(15)修改/etc/samba/smb.conf文件中的workgroup=WORKGROUP可以改变域或工作组的名字。
(16)安装dnsmasq
>------------------------------------------
命令: sudo apt-get install dnsmasq
编辑dnsmasq的配置文件
命令: sudo vim /etc/dnsmasq.conf
找到下面这一项
#resolv-file=
用下面的一条语句替换
resolv-file=/etc/resolv.dnsmasq.conf
确保你没有更改过/etc/resolv.conf文件,如果改过,恢复原状
然后执行命令
sudo cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
然后编辑resolv.conf
命令: sudo vim /etc/resolv.conf
将其中的域名服务器全部去掉,加入以下这行
nameserver 127.0.0.1
保存,退出
执行以下命令
sudo gedit /etc/ppp/peers/dsl-provider
在 usepeerdns 前面增加 # ,也就是把这条语句覆盖掉。
以防,resolv.conf的设置被pppoe覆盖(因为采用adsl拨号的用户默认是从服务器更新dns服务器地址的,取消这个语句就意味着不会每次开机拨号都改变resolv.conf文件的设置。
一定要重启电脑,来达到重新启动dnsmasq的目的。
(不重启也可以,要重新启动服务, 命令: sudo /etc/init.d/dnsmasq restart )
同时,你也可以把dns地址更改为opendns的设置,这样在速度,智能性,防钓鱼站点各个方面都有所提高.
opendns的地址是(修改/etc/resolve.dnsmasq.conf文件):
nameserver 208.67.222.222
nameserver 208.67.220.220
/etc/dnsmasq.conf文件进行配置,我的配置如下:
#不读取/etc/resolv.conf文件
no-resolv
#不扫描/etc/resolv.conf和/etc/dnsmasq.conf文件的改动,如果有改动直接重启程序即可
no-poll
#禁用掉dnsmasq的dhcp功能。dnsmasq还有dhcp功能,而且代码还占了很大的比重,反正我用不到
no-dhcp-interface=br0
no-dhcp-interface=eth1
no-dhcp-interface=wlan0
-------------------------------------------<
Ubuntu 10.04中的hostapd是0.6.9-3版本,这个版本有些不稳定,有时候无线网络会没有反应,建议升级到0.6.10-2(这个版本会包含在Ubuntu 10.10中),可以去Google查一下他的deb包。
到此配置结束,重起你的电脑尽情享受速度的快感!
无线网卡的不同可能会造成无线网络不能使用,需要调整部分参数即可,还请各位自己尝试,把经验分享一下。
还请各位大侠多多指教,完善这个免费又实用的Ubuntu无线软路由。