很多时候,在网络扩建中,我们需要对一些设置进行虚拟操作。下面我们就讲解一下PPPoE虚拟拨号的内容。我们知道,利用时下流行的PPPoE的方法,是最好的避免基于以太网的arp攻击的方法。(其具体原理请读者自行查阅资料,本人不再累述)。但是专业的硬件解决方案价格太高了,申请了多次,领导都没有批准。没办法,只好自选出路了。在网上流浪了一天以后,终于选择出了一款软路由软件——RouterOs,由MikroTik公司出品,号称是ISP级的路由软件。看过它的说明书后,发现它的功能还真是够多!最关键就是——它支持PPPoE Server。好,就选择它了!下面就开始我的RouterOs之旅:
一:RouterOs简介
RouterOs是一款基于Linux的路由器操作系统,功能强大,拥有几乎所有硬件路由具有的功能。当然在PPPoE虚拟拨号设置中,这里我们只选用了它的PPPOE Server功能。RouterOs要求相当简单:一台具有奔腾以上的CPU,64M内存的X86计算机就足够了(既然号称ISP级的路由器,对内存的要求是大了点)。关键是对网卡的支持:Intel的8255X系列、3com的3c905系列、RealTek的8139系列,常见的网卡全可以。(建议大家选用Intel82559网卡,速度和稳定性都很好。RealTek8139对CPU资源消耗较大,不适合大数据流量工作。3com就不要考虑了,官方文件说它不支持MTU1500,在特殊应用上可能有问题。具体的资料请大家到到www.mikrotik.com查询)。笔者使用的系统是Intel的奔腾Ⅲ450,64M内存,Intel82559 100M 网卡,可以轻松的承担大约200用户的PPPOE拨号以及NAT(网络地址转换)。唯一的缺点是该软件是收费的,试用时间只有24小时。不过还好,发挥我们的“能动性”,可以解决这个问题。
二:RouterOs的安装
这一点很简单――RouterOs已经和Linux结合在一起了。大家可以到http://www.mikrotik.com/download.html#v2 去下载。大约有20M。软盘镜像版可能需要7-9张软盘,建议下载光盘镜像版。将下载的.iso文件用刻录软件刻录为光盘,可以利用这张光盘启动并安装RouterOs。安装是自动的,基本不需人工干预。为了以后方便使用,可以一起下载RouterOs的图形配置界面Winbox。
三:RouterOs的基本配置
重新启动计算机后,可以看到下图的界面:
管理员用户名是:admin 默认口令为空。Ok,现在忘掉你学过的cisco或者华为命令吧。让我们来看看RouterOs的配置命令:如果大家用过Linux,就会感觉很熟悉。RouterOs的配置按分操作目录分类的(官方文件叫Home menu level,我暂且这么翻译),也就是说在不同的目录提示符下所能进行的工作是不同的。所以,在下文中还请大家注意当前工作目录。
常用命令如下(该命令基本通用):
输入?来显示当前目录下可执行的命令。
使用print来显示当前目录下的配置。
使用add 来添加配置。
使用remove 来删除指定配置。
输入..回到上曾目录。
RuterOs有?号命令补全功能,在没有歧义的情况下也可以使用命令缩写。
为了安全,请大家在根目录先使用password命令来修改admin用户的口令。
接下来,开始进入我们的RouterOs PPPoE虚拟拨号设置的PPPoE Server之旅吧!
⒈ 配置我们的网卡:
RouterOs中,网卡默认以ether1、ether2、ether3的形式进行命名。
网卡配置是在[admin@MikroTik] interface>目录,使用print命令来看看:
- [admin@MikroTik] interface> print
- Flags: X - disabled, D - dynamic, R - running
- # NAME TYPE RX-RATE TX-RATE MTU
- 0 X ether1 ether 0 0 1500
- 1 X ether2 ether 0 0 1500
X表示网卡还没有启动,使用enable命令启动:
- [admin@MikroTik] interface> en 0
- [admin@MikroTik] interface> en 1
再用print命令看看:#p#
- [admin@MikroTik] interface> print
- Flags: X - disabled, D - dynamic, R - running
- # NAME TYPE RX-RATE TX-RATE MTU
- 0 R ether1 ether 0 0 1500
- 1 R ether2 ether 0 0 1500
状态变成R,说明网卡启动成功。
查看网卡ether1数据流量:
- [admin@MikroTik] interface> monitor-traffic ether1
- received-packets-per-second: 3
- received-bits-per-second: 24.4kbps
- sent-packets-per-second: 0
- sent-bits-per-second: 0bps
- [Q uit|D dump|C-z pause]
Q键退出。D键记录数据包。C键暂停。
查看网卡ether1工作状态:
- [admin@MikroTik] interface ethernet> monitor ether1
- status: link-ok
- auto-negotiation: done
- rate: 100Mbps
- full-duplex: yes
- default-cable-setting: standard
- [Q quit|D dump|C-z pause]
可以看出,网卡已经连接,以100M全双工的方式运作。
⒉ 为网卡配置IP地址。
我的网络外网连接IP是219.218.188.12(教育网的)。连接到网卡ether1。
为网卡ether1设置IP地址:
[admin@MikroTik] ip address> add address=219.218.188.12/24 interface=ether1
内网网卡用于PPPoE Server,为了减少麻烦,所以不设置IP地址。
查看一下IP设置情况:#p#
- [admin@MikroTik] ip address> print
- Flags: X - disabled, I - invalid, D - dynamic
- # ADDRESS NETWORK BROADCAST INTERFACE
- 0 219.218.188.12/24 219.218.188.0 219.218.188.255 ether1
⒊ 配置PPPoE-Server
这里有点麻烦,还请大家特别注意当前工作目录。
RouterOs的PPPoE Server 配置大致可分4个步骤
·为PPPoE虚拟拨号用户设置一个IP地址池,用于给客户动态分配IP地址。
·添加一个PPP profile ,设置一个路由器IP地址,以使客户可以从IP POOL中获取IP地址。
·添加PPPoE拨号用户,用户可以使用用户名和口令进行拨号。
·添加一个PPPoE Server。
工作完成,用户才可以进行PPPoE虚拟拨号。再强调一下,请大家注意工作目录。
我们来具体操作一下:
① 添加一个名称为mypool的地址池
[admin@MikroTik] ip pool> add name=mypool ranges=192.168.0.3-192.168.0.254
可以使用print命令看一下:
- [admin@MikroTik] ip pool> print
- # NAME RANGES
- 0 mypool 192.168.0.3-192.168.0.254
② 添加一个名称为myserver的PPP Profile
[admin@MikroTik] ppp profile> add name=myserver local-address=192.168.0.1 remote-address=mypool
PPPoE虚拟拨号设置中可以使用print命令看一下:
- [admin@MikroTik] ppp profile> print
- Flags: * - default
- 1 name="myserver" local-address=192.168.0.1 remote-address=mypool session-timeout=0s idle-timeout=0s
- use-compression=no use-vj-compression=no use-encryption=no require-encryption=no only-one=no
- change-tcp-mss=yes tx-bit-rate=0 rx-bit-rate=0 incoming-filter="" outgoing-filter="" dns-server=""
- wins-server=""
③ 为PPPoE Server添加用户名为yourland,口令为10057,该用户只能使用PPPoE服务。#p#
[admin@MikroTik] ppp secret> add name=yourland password=10057 service=pppoe profile=myserver
使用命令print看一下:
- [admin@MikroTik] ppp secret> print
- Flags: X - disabled
- # NAME SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRES
- 0 yourland pppoe 10057 myserver 0.0.0.0
④ 添加一个PPPoE 服务,名为mypppoe,端口设置为内网接口ether2
[admin@MikroTik]interface pppoe-server server>add service-name=mypppoe interface=ether2 default-profile=myserver
也可以使用命令print看一下。
四.配置NAT(网络地址转换)
由于我们内网使用的是私有IP地址,为了学生可以正常上网,还要配置NAT进行地址转换才可以。
我们要使用的是RouterOs称为“Source NAT”的方式。
[admin@MikroTik] ip firewall src-nat>add action=masquerade out-interface=ether1
使用命令激活NAT
[admin@MikroTik] ip firewall src-nat> enable 0
五.为路由器配置默认路由,IP地址219.218.188.1是我们下一跳的地址。
[admin@MikroTik] ip route> add dst-address=0.0.0.0/0 gateway=219.218.188.1
六.配置客户机
客户机上只需要安装一款PPPoE虚拟拨号软件就可以了。只是要注意,客户机和PPPoE服务器要通过交换机正确连接才可以。
七.使用Winbox进行方便配置
在一台可以和RouterOs服务器正确连接的PC上安装Winbox。
这样,配置就方便多了,终于可以忘记刚才的命令了。
总之,RouterOs功能的确很是强大,我这里只用到了一小部分功能。更多的功能还待大家来共同发掘!另:如果您如果觉的用硬盘不够安全的话,可以去购买一块“电子硬盘”或者CF卡转IDE口的转接器,把您的RouterOs配置成一台真正的路由。配置了PPPoE虚拟拨号以后,我们的网络管理员终于闲了下来,还真的有点不习惯。