当前位置:Linux教程 - Linux资讯 - 在Linux下建立PPPOE服务器的步骤

在Linux下建立PPPOE服务器的步骤

  在Linux下建立PPPOE服务器的步骤  建立环境:  操作系统:DEBIAN 2.2 升级到3.0  内 核:2.4.18  硬件环境:赛扬3 1.1G ,内存 128M , 硬盘 40G ,主板芯片组 694T  显 卡:ATI RAGE IIC(4M)  PPPOE服务器:RP-PPPOE 3.4.1  RADIUS服务器:FREERADIUS 0.8  数 据 库: mysql 3.23.56  PPPOE服务器认证的建立分三种认证方式,第一种方式为用RP-PPPOE自带的基于文本认证方式,第二种方式为建立在RADIUS认证服务器上的文本认证方式,第三种方式是基于MYSQL的数据库认证方式    一、编译内核  要建立PPPOE服务器,除了内核要支持PPP以外还需要内核支持PPPOE,不过在2.4.18里需要打开内核的不成熟代码才可以选择,内核的配置如下:  code maturity level options——>  [*] prompt for development and/or incomplete code/drivers  networking options——>  [*] packet socket  [*] packet socket:mmapped io  network device support——>  [*] ppp (point-to-point protocol) support  [*] ppp multilink support (eXPerimental)  [*] ppp filtering  [*] ppp support for async serial ports  [*] ppp support for sync tty ports  [*] ppp deflate compression  [*] ppp bsd-compress compression  [*] ppp over Ethernet (experimental)  character devices——>  [*] non-standard serial port support  [*] hdlc line discipline support  编辑/etc/modules.conf(redhat好象是conf.modules),如果没有就加入以下几行:  • alias char-major-108 ppp_generic  • alias /dev/ppp ppp_generic  • alias tty-ldisc-3 ppp_async  • alias tty-ldisc-13 n_hdlc  • alias tty-ldisc-14 ppp_synctty  • alias ppp-compress-21 bsd_comp  • alias ppp-compress-24 ppp_deflate  • alias ppp-compress-26 ppp_deflate  完成以后就可以下一步,建立PPP拨号服务器了    二、建立PPP服务器  在建立拨号服务器之前,应确保你在内核中打开了IP转发功能:  echo “1”>/proc/sys/net/ipv4/ip_forward  编译PPP服务器很容易,就是按以下几步就可以了:  •使用configure  •使用make编译PPPD,这里有几个参数比较重要,要支持windows的客户端,应该在编译时加上选项USE_MS_DNS=1,如果你的系统shadow的话,你应该使用make HAS—SHADOW=1表示支持shadow密码  •编译完成后,将生成pppd、pppdump、chat和pppstats这几个文件,使用make install安装这些文件  •修改pppd的访问权限,允许由root启动服务进程   chmod u+s /usr/sbin/pppd    三、建立PPPOE服务器  cd /rp-pppoe-3.4/src  ./configure  make  make install  启动PPPOE进程:  pppoe-server –L 10.0.0.1 –R 10.0.0.2 –N 64 –k -u  -L: 指定PPPOE服务器的IP地址  -R: 指定PPPOE拨入服务器分配给客户端的IP地址段  -N: 允许客户端同时拨入的数量(默认是64 最大是65534)  -k: 使用内核方式(不过好象无法使用)  修改/etc/ppp/options,查看有没有以下几行,没有就加进去:  local  repaire-pap   login  auth   defaultroute   hide-passWord  ipcp-accept-local   ipcp-accept-remote   10.0.0.1:10.0.0.255   netmask 255.255.255.0  ms-dns 10.0.0.1   修改/etc/ppp/pppoe-server-options,将所有的行都注释掉  添加用户到/etc/ppp/pap-secrets中,例如添加用户luo,密码为123456,允许从任何位置拨入:  #client server secret ip addresses  luo * “123456” *  设置windows的用户名:luo 密码: 123456,如果连接成功就可以进行下一步    四、建立RADIUS认证服务器  cd /freeradius-0.81  ./configure  make  make install  编辑/usr/local/etc/raddb/clients,输入你的NAS(网络认证服务器)的IP地址和serect,本例中NAS为本机,serect为linux,看上去如下:  localhost linux  编辑/usr/local/etc/raddb/clients.conf,加入以下几行:  client 127.0.0.1{   secret = linux   shortname = localhost   }  nastype = other   编辑/usr/local/etc/raddb/naslist,加入:  localhost local   编辑/usr/local/etc/raddb/users,加入用户:luo、密码:123456,显示如下:  luo Auth-Type:=local, User-Password==“123456”  Service-Type:= Framed-User,  Framed-Protocol = PPP  Framed-IP-Address := 10.0.0.2   Framed-IP-Netmask := 255.255.255.0  启动RADIUS服务、测试帐号  启动调试模式  RADIUS –X   进行帐号测试  Radtest luo 123456 localhost 0 linux  如果能看到应答,说明RADIUS设置成功了  要使PPPD进程能够使用RADIUS进行认证,需要加入RADIUS认证的插件  cp radius.so /usr/lib  编辑/etc/ppp/options,加入以下到文件:  plugin /usr/lib/radius.so  radius-servers localhost:1812/1813   radius-auth-key linux   radius-ip-pool 10.0.0.2:10.0.0.255   运行客户端进行登陆,如果能通过认证则成功了    五、建立MYSQL服务器  tar zxvf mysql-3.23.56.tar.gz  cd mysql-3.23.56  ./configure  make  make install  cd script  ./mysql_install_db  /usr/local/bin/safe_mysqld&   安装RADIUS数据库  cd freeradius-0.81/src/modules/rlm_sql/drivers/rlm_sql_mysql  mysql –u root –p 密码 radius<db_mysql.sql  编辑/usr/local/etc/raddb/radius.conf使其支持SQL,修改后如下:  authorize{  preprocess  chap  mschap  suffix  sql  }  accounting{  ……  sql  ……  }  修改sql.conf,如下所示:  server="loclahost" login="root" password="mysql的root的密码"    加入组帐号  mysql –u root –p 密码 radius  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,’Auth-Tyep’,’:=’,’local’);  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,’Service-Type’,’:=’,’Framed-User’);  insert into radgroupreply (groupname,attribute,op,value) values  (‘user’,’Framed-IP-Netmask’,’:=’,’255.255.255.0’);   #设定拨入用户的掩码,本例只有PPPOE服务,所以可以与options中设定相同  加入用户帐号:  insert into radcheck (username,attribute,op,value) values  (‘luo’,’User-Password’,’:=’,’123456’);  将用户帐号加入组帐号  insert into usergroup(username,groupname) values(‘luo’,’user’);  如果提示无法找到rlm_sql_mysql文件,则:  cp /usr/local/lib /usr/lib  测试:  radtest luo 123456 localhost 0 linux  见到应答就OK了!
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]