|
发表于 2009-7-11 23:18:31| 字数 4,007| - 中国–江苏–盐城 电信
|
显示全部楼层
|阅读模式
Router os 无线station模式设置(真正的万能中继)(支持无线pppoe pptp等)
接触router os 完全是个偶然 ,个人觉得router os 非常强大。官方解释说 RouterOS是一种路由操作系统,并通过该软件将标准的PC电脑变成专业路由器,在软件的开发和应用上不断的更新和发展,软件经历了多次更新和改进,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,其极高的性价比,受到许多网络人士的青睐。RouterOS在具备现有路由系统的大部分功能,能针对网吧、企业、小型ISP接入商、社区等网络设备的接入,基于标准的x86构架的PC。一台586PC机就可以实现路由功能,提高硬件性能同样也能提高网络的访问速度和吞吐量。完全是一套低成本,高性能的路由器系统。
Routros 在主频为175mhz 的mips处理器上 可以带20台机。普通的tp-link 最多带4个人就会明显感觉到丢包了,在奔四机配置的机器上完全可以带100人以上。
先说一下我的实验环境吧!
Station-1:北京市海淀区紫荆公寓三楼
奔三 小主机一台 1张无线网卡 1张千兆网卡 1 台普通路由器(已经安装好router os
安装方法跳过 网上有很多,如果怕麻烦 可以到淘宝 买正版的 routeros 电子盘 才100多插到 电脑ide 接口上 电脑就可以变成一台路由器了) 3米长的2.4G屏蔽线 1个12db定向天线
Station-2: 搜狐大楼电信服务商提供的china-net 无线网络 直线距离 1公里
AP-China-net (验证方式为web 验证)
我在公寓三楼抱着笔记本在窗口搜 可以看到china-net 但无法连上路由 笔记本的内置天线是如此的弱注定了笔记本只能在很狭小的范围内使用 ,呵呵 首先来配置我们的路由器
打开router os 小主机 用双绞线将笔记本与小主机互联 首先从网络上下载winbox 打开winbox 选择在线的routeros 使用 默认的用户名 admin 密码为空 首先打开new terminal
输入 / ip address
add address=172.16.0.1/12 interface=ether1 (设置千兆网卡ip地址)
/ ip firewall nat
add chain=srcnat action=masquerade 是ip伪装,把内网的所有的机器的ip都伪装成公网的ip,来实现共享一个ip来上网。
/interface wirelesss wlan1 ssid="China-net" band= 2.4ghz mode=station disabled=no
设置无线网卡链接china-net 可以将无线网卡理解为笔记本用户
设置Dhcp 服务
设置一ip地址池
/ip pool add name=dhcp-pool ranges=172.16.0.10-172.16.0.20
增加一个dhcp network 172.16.0.0/12 和dhcp 服务器地址 172.16.0.1
/ipdhcp-servernetworkaddaddress=172.16.0.0/12gateway=172.16.0.1
最后增加一个dhcp 服务
/ip dhcp-server add interface= ether1 address-pool=dhcp-pool
设置dhcp client
/ip dhcp-client add interface=wlan1 use-peer-dns=yes\
add-default-route=yes disabled=no
好了配置就到这了 将定向天线对准搜狐大楼 将普通路由器wan口通过 有线连接小主机网卡 配置普通路由 为动态获取 dhcp模式 下面 测试信号 用笔记本连接普通路由器 ping 搜狐的ap 100个包 丢包率低于2% 测试效果还算可以 很满意^_^
但是如果ap的验证方式为pppoe 我们该怎么办呢
很简单
/interface pppoe-client addname=pppoe-user-mike user=mike password=123\ (user\password填从 isp 处获得的)
\... interface=wlan1 service-name=internet \disabled=no
另外必须添加如下代码
/ip dhcp-client add interface=wlan1 use-peer-dns=yes\
add-default-route=no disabled=no
因为dhcp获得的地址会干扰pppoe验证获得的ip地址
此方法优点是稳定 缺点是只能让一个人拨上号
想了很多种方案解决这个问题 第一个 想到了组wds 很遗憾routeros 和ap间组wds暴慢 我估计是不兼容 有人会说是不是有太多人连你路由了? 我想应该不会,因为我使用的是wds-station 不接受任何无线客户端
做桥也没有成功
于是开始分析pppoe 验证过程 google了一下 PPPoE协议会话的发现和会话两个阶段具体进程如下:
在发现(Discovery)阶段中用户主机以广播方式寻找所连接的所有接入集线器(或交换机),并获得其以太网MAC地址。然后选择需要连接的主机,并确定所要建立的PPP会话识别标号。发现阶段有四个步骤,当此阶段完成,通信的两端都知道PPPoESESSION_ID和对端的以太网地址,他们一起唯一定义PPPoE会话。这四个步骤如下:
1)主机广播一个发起分组(PADI),分组的目的地址为以太网的广播地址0xffffffffffff,CODE(代码)字段值为0x09,SESSION_ID(会话ID)字段值为0x0000。PADI包必须至少包含一个服务名称类型的标签(标签类型字段值为0x0101),向接入集中器提出所要求提供的服务。
2)接入集中器收到在服务范围内的PADI包分组,发送PPPoE有效发现提供包(PADO)分组,以响应请求。其中CODE字段值为0x07 ,SESSION_ID字段值仍为0x0000。PADO分组必须包含一个接入集中器名称类型的标签(标签类型字段值为0x0102),以及一个,或多个服务名称类型标签,表明可向主机提供的服务种类。
3)主机在可能收到的多个PADO分组中选择一个合适的PADO分组,然后向所选择的接入集中器发送PPPoE有效发现请求分组(PADR)。其中CODE字段为0x19 ,SESSION_ID字段值仍为0x0000。PADR分组必须包含一个服务名称类型标签,确定向接入集线器(或交换机)请求的服务种类。当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。
4)接入集中器收到PADR包后准备开始PPP会话,它发送一个PPPoE有效发现会话确认(PADS)分组。其中CODE字段值为0x65 ,SESSION_ID字段值为接入集中器所产生的一个惟一的PPPoE会话标识号码。PADS分组也必须包含一个接入集中器名称类型的标签确认向主机提供的服务。当主机收到PADS包确认后,双方就进入PPP会话阶段。
/ interface bridge nat
add chain=dstnat in-interface=wireless-client mac-protocol=0x8863 action=dst-nat \
to-dst-mac-address=MAC-OF-REMOTE-PPPOE-SERVER comment="" disabled=no
(转发无线网卡中接收到的全网广播的pppoe服务器的mac数据帧 也就是进行pppoe-discovey阶段)
add chain=dstnat in-interface=wireless-client mac-protocol=0x8864 action=dst-nat \
to-dst-mac-address=MAC-OF-REMOTE-PPPOE-SERVER comment="" disabled=no
(这一部分执行的是pppoe验证的第四部分 pppoe session)
实际使用过程中发现根本获得不了mac数据帧 查了很多资料都没有结果 最后还是在官方文档里找到了解释
MAC level bridging of Ethernet, Ethernet over IP (EoIP), Prism, Atheros and RadioLAN interfaces are supported. All 802.11a, 802.11b, and 802.11g client wireless interfaces (ad-hoc, infrastructure or station mode) do not support this because of the limitations of 802.11. However, it is possible to bridge over the Prism and Atheros based links using the WDS feature (for Atheros and Prism chipset based cards) or Ethernet over IP protocol. 这句话的主要意思是mac级别的桥接网络 atheros 和无线电缆 是被支持的 所有的802.11 a/b/g 客户端模式是不被支持的 因为802.11 的限制 但是桥接基于prism atheros芯片的wds 模式 是被支持的 或者eoip 是支持的 考虑过使用 eoip 但是会减慢网络性能 就没使用 读到了这里 终于明白了 station模式根本连桥都组不了 又谈何数据链路层的数据帧转发呢!直接放弃。后来听说pppoe-relay 可以实现client mac数据帧的转发 我也没有怎么深究了 因为那样就要涉及到router os内核的编译了 只能望洋兴叹!
本人知识有限,如有错误欢迎大家指出,我的邮箱yanxiaohui543@sina.com |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|