【转】利用ROS构建PPPOE服务器,通过对账号的管理实现对内网机器上网拨号授权,带宽限制等操作

来源:互联网 发布:数据库日志备份 编辑:程序博客网 时间:2024/05/16 05:43

原文链接:http://tianlexu.blog.163.com/blog/static/60246368201001342641183/

教程是以“ROS菜鸟系列1--实现共享上网”为基础,高手请飘过

利用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”的地址池

实现第二步:建立用户类型
用户类型即为用户组,对用户先进行一个基于带宽的归类。
[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参数是当用户无流量时,多长时间后,会自动从服务器断开。

实现第三步:建立账号信息
假定:添加一个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         

实现第四步:建立PPPOE服务器
[admin@MikroTik] /ppp secret>/
[admin@MikroTik] > interface pppoe-server server 
[admin@MikroTik] /interface pppoe-server server> add service-name=pppoe interface=lan default-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 
     default-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 
     default-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 to0, 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”

以上完成一个PPPOE服务器创建,

说些废话:如果想让客户全部通过PPPOE上网,不允许使用静态地址上网时,可以在ip-firewall-filter里面对内网配置的192.168.1.0/24的网段地址作drop操作,因为这个涉及到防火墙功能部分,故在后续中会有描述,本章节主要是说明如何构建PPPOE服务器

如果是通过winbox连接到ROS的用户,以上所有的命令都可以在winbox中的主菜单中的:“new terminal”直接进行粘贴操作使用
0 0
原创粉丝点击