在我们了解了PPPoE的基础后,就要学会PPPoE协议的一些应用了。那么今天我们向大家介绍的就是,利用ROS构建PPPOE服务器,通过对账号的管理实现对内网机器上网拨号授权,带宽限制等操作。
ROS构建PPPOE服务器第一步:创建地址池
所谓的地址池是用户拨号到服务器后,由服务器分配给客户一个拨号IP地址,通过这个IP地址实现共享上网,假定提供的IP地址段为10.0.0.0/24
- [admin@MikroTik] > ip pool
- [admin@MikroTik] /ip pool> add name=pppoe ranges=10.0.0.2-10.0.0.254
- [admin@MikroTik] /ip pool> print
- # NAME RANGES
- 0 pppoe 10.0.0.2-10.0.0.254
创建一个名称为“pppoe”的地址池
ROS构建PPPOE服务器第二步:建立用户类型
用户类型即为用户组,对用户先进行一个基于带宽的归类。
- [admin@MikroTik] > ppp
- [admin@MikroTik] /ppp> profile
- [admin@MikroTik] /ppp profile> print
- Flags: * - default
- 0 * name="default" use-compression=default use-vj-compression=default
- use-encryption=default only-one=default change-tcp-mss=yes
- 1 * name="default-encryption" use-compression=default
- use-vj-compression=default use-encryption=yes only-one=default
- change-tcp-mss=yes
- [admin@MikroTik] /ppp profile>
在初始状态,有两个系统默认的属性类型:“default”和“default-encryption”,这两个是不允许作删除操作。
假定我们需要添加两个带宽分别为512K和1M的用户组
- [admin@MikroTik] /ppp profile> add name=512K local-address=10.0.0.1 remote-address=pppoe dns-server=61.139.2.69 rate-limit=512K/512K only-one=yes idle-timeout=00:10:00
- [admin@MikroTik] /ppp profile> add name=1M local-address=10.0.0.1 remote-address=pppoe dns-server=61.139.2.69 rate-limit=1M/1M only-one=yes idle-timeout=00:10:00
- [admin@MikroTik] /ppp profile> print
- Flags: * - default
- 0 * name="default" use-compression=default use-vj-compression=default
- use-encryption=default only-one=default change-tcp-mss=yes
- 1 name="512K" local-address=10.0.0.1 remote-address=pppoe idle-timeout=10m
- use-compression=default use-vj-compression=default
- use-encryption=default only-one=yes change-tcp-mss=default
- rate-limit=512K/512K dns-server=61.139.2.69
- 2 name="1M" local-address=10.0.0.1 remote-address=pppoe idle-timeout=10m
- use-compression=default use-vj-compression=default
- use-encryption=default only-one=yes change-tcp-mss=default
- rate-limit=1M/1M dns-server=61.139.2.69
- 3 * name="default-encryption" use-compression=default
- use-vj-compression=default use-encryption=yes only-one=default
- change-tcp-mss=yes
解释一下部分参数的意思:local-address的意思是负责分配IP的服务器地址,作用相当于客户拨号后上网的网关,remote-address填写在第一步创建的地址池PPPOE,当客户拨号时,服务器会从地址池中拿一个空闲的IP分配给客户,rate-limit带宽限制值,only-one参数的作用是:是否限制同一时刻一个账号允许多个客户使用,idle-timeout参数是当用户无流量时,多长时间后,会自动从服务器断开。
ROS构建PPPOE服务器第三步:建立账号信息
假定:添加一个512K的账号及一个1M的账号
- [admin@MikroTik] /ppp profile> /
- [admin@MikroTik] > ppp secret
- [admin@MikroTik] /ppp secret> add name=111 password=111 profile=512K service=pppoe
- [admin@MikroTik] /ppp secret> add name=222 password=222 profile=1M service=pppoe
- [admin@MikroTik] /ppp secret> print
- Flags: X - disabled
- # NAME SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRESS
- 0 111 pppoe 111 512K
- 1 222 pppoe 222 1M
ROS构建PPPOE服务器第四步:建立PPPOE服务器
- [admin@MikroTik] /ppp secret>/
- [admin@MikroTik] > interface pppoe-server server
- [admin@MikroTik] /interface pppoe-server server> add service-name=pppoe interface=lan defaultdefault-profile=default-encryption one-session-per-host=yes
- [admin@MikroTik] /interface pppoe-server server> print
- Flags: X - disabled
- 0 X service-name="pppoe" interface=lan max-mtu=1480 max-mru=1480 mrru=disabled
- authentication=pap,chap,mschap1,mschap2 keepalive-timeout=10
- one-session-per-host=yes max-sessions=0
- defaultdefault-profile=default-encryption
- [admin@MikroTik] /interface pppoe-server server> enable 0
- [admin@MikroTik] /interface pppoe-server server> print
- Flags: X - disabled
- 0 service-name="pppoe" interface=lan max-mtu=1480 max-mru=1480 mrru=disabled
- authentication=pap,chap,mschap1,mschap2 keepalive-timeout=10
- one-session-per-host=yes max-sessions=0
- defaultdefault-profile=default-encryption
解释一下相关参数:
interface指定内网网卡,提供PPPOE服务器的网卡接口,max-mtu和max-mru最大传输单元和最大接收单元,如果有发现部分网站无法访问时,可以把这个参数修改小些,如1460等,one-session-per-host是否限制主机同一时刻的会话数,基于物理地址来限制,如果是yes,则表明新会话建立时,旧的会话会断开,与参数keepalive-timeout一起使用:“The default keepalive-timeout value of 10 is OK in most cases. If you set it to 0, the router will not disconnect clients until they explicitly log out or the router is restarted. To resolve this problem, the one-session-per-host property can be used”
ROS构建PPPOE服务器完成,说些废话:如果想让客户全部通过PPPOE上网,不允许使用静态地址上网时,可以在ip-firewall-filter里面对内网配置的192.168.1.0/24的网段地址作drop操作,因为这个涉及到防火墙功能部分,故在后续中会有描述,本章节主要是说明如何构建PPPOE服务器
如果是通过winbox连接到ROS的用户,以上所有的命令都可以在winbox中的主菜单中的:“new terminal”直接进行粘贴操作使用