网络安全问题非常敏感,数不过来的安全隐患一直困扰着我们。那么这里我们则讲解一下通过架设pppoe服务器拨号上网,从而防止ARP欺骗的内容。ARP病毒是局域网中的一个不可回避的话题,但是这个问题在拨号用户那儿好象没怎么听说过,现在电信或者网通的家庭用户一般都是使用PPPOE拨号的方法上网,我到亲戚家帮着调试网络的时侯就发现怎么他的机器里面IP地址与网关的地址是一致的(呵呵,象我们在局域网中调试网络习惯了,拿到一个机器先打ipconfig/all命令看看,了解一下网络的基本情况),一般来说电信或网通ADSL猫PPPOE拨号的网络拓扑如图1所示:
图1
是的,尽管解决ARP地址欺骗的方法有很多,但是我们在局域网中借鉴ADSL所采用PPPOE拨号上网的方法,在局域网中建立PPPOE服务器,让局域网用户也通过PPPOE服务器拨号上网,使局域网中的微机既可以上网,又使其获得的IP地址与网关地址一致,从而达到防止利用ARP地址欺骗在局域网中发动攻击的可能,不也是一种思路吗.
一、搞清楚PPPOE网络拓扑
从网上大家也可以找到架设pppoe服务器的教程,但是如果没有一个明白人指点的话,自己摸索着配置很难成功,为什么,因为网上的教程都是直接从命令配置说起,没有把网络拓扑说清楚,如果是在虚拟机中进行配置,那个网络拓扑就更难说清楚,所以为了把PPPOE服务器的配置讲清楚,先要搞清楚网络拓扑,先说一下,正常的PPPOE服务器在局域网中的拓扑图(如图2).
图2
结合图2我们要再说明一下,一般来说在单位的局域网中,用户上网都是先通过网线连接到交换机,交换机再上连NAT(地址转换)设备(宽带路由器或硬件防火墙或宽带上网管理系统)来实现的,PPPOE服务器位于交换机与NAT设备之间,起到验证拨号用户信息和分配IP地址等作用,但是PPPOE服务器分配给用户的IP地址与DHCP服务器分配给用户的IP地址是不一样,DHCP服务器分配给了用户完整的IP地址/子网掩码/网关/DNS等信息,但是PPPOE分配给用户的只是IP地址和DNS服务器地址.
如果我们要在虚拟机中拿routeros软件作PPPOE服务器的实验,就要更加好好的规划一下网络拓扑,
第一个要点:真实的机器中虚拟出一台XP的系统(作为拨号测试的客户端),再虚拟出一台routeros系统(作为PPPOE服务器).
第二个要点,虚拟的routeros系统要设置两块网卡,而且都处于桥接模式,网络拓扑如图2所示:
图3
但是实际上我们是没有这两台交换机的,但是由于虚拟机的桥接网卡的功能,我们可以按照上面的图示理解.#p#
二、PPPOE服务器网络配置
结合我架设pppoe服务器的经验(也可以说总结多次不成功的经历所带来的教训吧),很多次都是配置过程中某一个小环节出现问题导致失败,所以说要想成功的配置好PPPOE服务器,先要知道在哪儿出现问题了,也就是说要保证前面的操作是正确的,总体来说,有关网络设置的操作有如下几步:
(一)设置网卡的名字和IP地址信息
- [admin@MikroTik] interface> set 0 name=lan
- [admin@MikroTik] interface> set 1 name=wan
- [admin@MikroTik] interface> print
- Flags: X - disabled, D - dynamic, R - running
- # NAME TYPE RX-RATE TX-RATE MTU
- 0 R lan ether 0 0 1500
- 1 R wan ether 0 0 1500
- [admin@MikroTik] interface> /ip
- [admin@MikroTik] ip> address
- [admin@MikroTik] ip address> add
- address: 10.70.10.10/16
- interface: wan
- [admin@MikroTik] ip address> print
- Flags: X - disabled, I - invalid, D - dynamic
- # ADDRESS NETWORK BROADCAST INTERFACE
- 0 10.70.10.10/16 10.70.0.0 10.70.255.255 wan
经过以上的设置,我们就为这台PPPOE服务器设置了必要的网络参数,有了IP地址,我们就可以登录http://10.70.10.10,从上面下载winbox这款软件,以后的操作都可以图形界面中进行了.
(二)设置默认路由
PPPOE服务器也可以理解为一台路由器,因此也必须设置默认路由.
>IP>Router,添加一条新的路由即可,本机设置的为10.70.0.1
架设PPPOE服务器的以上步骤设好以后,我们可以点击winbox中的New Terminal,登录进入这台PPPOE服务器,进行一下ping网关的操作,如果能够ping通,说明网络设置已经没有问题了.#p#
三、PPPOE服务器的设置
PPPOE服务器的设置分为4步:
(一)添加一个地址池
- IP>Pool
- Name:pool1
- Address:192.168.0.10-192.168.0.100
从这儿就可以看到,我们为用户分配的地址只有IP地址,没有子网掩码,也没有网关.
(二)在PPP中添加一个新的Profile文件
- PPP>Profiles,新建一个
- Name:profile1
- Loacl Address:192.168.1.1
- Remote Address:pool1(即为客户端分配地址池pool1的地址)
(三)在PPP的Secrets中添加拨号用户
- PPP>Secrets
- Name:ppp1
- Password:ppp1
- Service:pppoe
- Profile:profile1
当然了,如果要添加多个用户的话,就在这儿多添加几个吧.
(四)添加PPPOE服务
这个步骤是没有错,只是要特别的提醒大家,是在PPP>Interfaces下已经有PPPoE Server了,我们要选中这一项,再点添加"+",这时就会出现相应的选项:
- Service Name:Service1
- Interface:lan
- Default profile:profile1
架设PPPOE服务器的以上四步设置完成了,PPPOE服务器也就架设好了,在另一台虚拟的XP上就可以新建一个宽带连接,服务器名填"service1",用户名和密码均为"ppp1",应该可以很顺利的就拨号上去了,用ipconfig命令看一下,会得到如下信息:
- PPP adapter service1:
- Connection-specific DNS Suffix . :
- Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
- Physical Address. . . . . . . . . : 00-53-45-00-00-00
- Dhcp Enabled. . . . . . . . . . . : No
- IP Address. . . . . . . . . . . . : 192.168.0.98
- Subnet Mask . . . . . . . . . . . : 255.255.255.255
- Default Gateway . . . . . . . . . : 192.168.0.98
- DNS Servers . . . . . . . . . . . : 222.175.169.91
- 219.146.0.130
- NetBIOS over Tcpip. . . . . . . . : Disabled
从中可以看出IP地址与网关地址是一致的,而且子网掩码是255.255.255.255(表示一台主机),当然现在还是无法上网的,还需要下面的两步设置.
(五)设置NAT
- IP>Fireware>NAT
注意,我们要在右上角的位置选择"srcnat",即针对源地址作NAT
- Out.Interface:wan
- Action:masquerade(即作IP伪装).
(六)设置DNS
- IP>DNS>Static>Settings
- Primary DNS:222.175.169.91
- Seconday DNS:219.146.0.130
以上六步建立好以后,用户再次PPPOE拨号上网,就可以正式上网了.
利用routeros软件建立PPPOE服务,大致步骤就是这样,搞清楚了网络拓扑,再掌握必要的配置命令,利用routeros来建立一台PPPOE服务器并不是一件很困难的事,但是一个不可回避的事实是routeros是一款商业软件,价格不菲,所以我们要寻求替代产品,红旗LINUX6.0桌面版就可以胜任,下一篇文章就介绍一下利用通用的LINUX系统来架设PPPOE服务器.