设为首页 收藏本站
查看: 755|回复: 0

[经验分享] Centos如何配置pppoe命令

[复制链接]

尚未签到

发表于 2019-2-16 10:51:36 | 显示全部楼层 |阅读模式
  首先,硬件平台需提供两块网卡,一块用于静态地址做NAT使用,一块用于对pppoe用户接入的响应,下面是对pppoe服务器进行的配置安装
  一.检查并配置ppp软件
  #rpm-qa|grepppp
  如果没有安装,可以使用以下命令进行安装:
  #yuminstallppprp-pppoe
  通过网络来自动安装。
  二.对服务器网卡进行配置
  服务器配置的两块网卡,一块用来设置静态IP,用作NAT(eth1),一块用来进行对pppoe用户接入的响应(eth0)。
  需要修改以下配置脚本(有桌面的centOS可以在桌面上进行IP的设置,比较方便)。
  #cd/etc/sysconfig/network-scripts
  #viifcfg-eth1
  #AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]
  DEVICE=lan
  IPADDR=192.168.0.10
  NETMASK=255.255.255.0
  GATEWAY=192.168.0.1
  DNS1=211.98.2.4
  DNS2=8.8.8.8
  HWADDR=xx:xx:xx:xx:xx:xx
  ONBOOT=yes
  BOOTPROTO=static
  USERCTL=no
  IPV6INIT=yes
  NM_CONTROLLED=yes
  TYPE=Ethernet
  #viifcfg-eth0
  TYPE="Ethernet"
  HWADDR=xx:xx:xx:xx:xx:xx
  BOOTPROTO=dhcp
  DEVICE=wan
  ONBOOT=yes
  三.配置pppoe服务器
  修改option配置,添加以下内容,其它的删除。
  #vi/etc/ppp/options
  local
  crtscts
  nobsdcomp
  nodeflate
  nopcomp
  配置pppoe-server-options
  #vi/etc/ppp/pppoe-server-optionsauth
  require-pap
  require-chap
  login
  lcp-echo-interval10
  lcp-echo-failure2
  logfile/var/log/pppoe.log
  ms-dns211.98.2.4
  ms-dns8.8.8.8
  defaultroute
  创建用户及密码
  vi/etc/ppp/chap-secrets
  #vichap-secrets
  #SecretsforauthenticationusingCHAP
  #clientserversecretIPaddresses
  pppoepppoe
  这里配置的一个帐号与密码都是pppoe
  下面开启pppoe服务器
  #/usr/sbin/pppoe-server-Ieth4-L172.16.0.10-R172.16.0.20-N100
  I:指定响应PPPOE请求的端口,本例中是在eth0口上。
  L:指定PPPOE服务器的IP地址。
  R:分配给客户端的地址池起始地址
  N:分配给客户端IP地址的个数
  将此命令添加到开机启动中。
  #vi/etc/rc.local
  /usr/sbin/pppoe-server-Ieth4-L172.16.0.10-R172.16.0.20-N100
  现在到客户机器上测试拨号成功。
  四,客户机上外网
  客户拨号成功后还不能上外网,因为服务器那边没有进行数据包的转发。所以需配置iptables进行数据转发
  添加防火墙规则,做nat转换
  #iptables-APOSTROUTING-tnat-s172.16.0.0/24-jMASQUERADE
  #iptables-AFORWARD-ptcp--syn-s172.16.0.0/24-jTCPMSS--set-mss1256
  #sysctl-wnet.ipv4.ip_forward=1
  #echo1>/proc/sys/net/ipv4/ip_forward
  #serviceiptablessave
  第一条:添加nat,转换来自172.16.0.0/24网段的ip
  第二天:修改mtu,根据自身需求改了(可忽略)
  第三条:修改转发文件(可忽略)
  第四条:打开转发
  第五条:保存iptables配置
  当然,配置上述后有些用户还是无法接入外网,有可能是centos默认没有安装启动防火墙功能,所以出现上述的问题需要打开防火墙功能:
  #/etc/init.d/iptablesstart
  下面是pppoe建立的原理过程
  PPPoE的验证过程
  PPPoE的验证过程包括2个阶段,Discovery阶段和PPPSession阶段。
  Discovery阶段,包含4个步骤:
  Step1:PADI
  PPPoE客户端发送主动发现初始包(PPPoEActiveDiscoveryInitiation,PADI),以太头中的目的地址是以太广播地址FF:FF:FF:FF:FF:FF,PPPOE头中的CODE为0x09,SESSION_ID值必须为0,负载部分必须只包含一个Service-Name类型的TAG表示请求的服务类型,另外可以包含其他TAG,整个PPPOE包不能超过1484字节;
  Step2:PADO
  服务器端PPPoE进程在网络接口侦听到PADI包后,发送主动发现提议包(PPPoEActiveDiscoveryOffer,PADO),用来回应客户机的PADI包,以太头中的目的地址是客户机的MAC地址,PPPOE头中的CODE为0x07,SESSION_ID值必须为0,负载部分必须包含一个AC-Name类型的TAG,用来指示本AC的名称,一个在PADI包中指定的Service-Name的TAG,另外可以包含其他Service-Name的TAG。如果AC不对该客户机提供服务,AC就不回应PADO包。
  Step3:PADR
  PPPoE客户端收到PADO包后,在PADO包中选择一个(可能有多个PPPoE服务器,通常选取最快的一个)发送主动发现请求包(PPPoEActiveDiscoveryRequest,PADR),以太头中的目的地址是所选取的PADO包的源以太头地址(即PPPoE服务器的MAC地址),PPPOE头中的CODE为0x19,SESSION_ID值必须为0,负载部分必须只包含一个Service-Name类型的TAG表示请求的服务类型,另外可以包含其他TAG。
  Step4:PADS
  MAC地址匹配的PPPoE服务器收到PADR包后,发送主动发现会话确认包(PPPoEActiveDiscoverySession-confirmation,PADS),将产生一个SEESSION_ID值用来标志本次PPP会话,以PADR包方式发送给客户机。以太头中的目的地址是客户机的MAC地址,PPPOE头中的CODE为0x65,SESSION_ID值必须为所生成的那个SESSION_ID,负载部分必须只包含一个Service-Name类型的TAG,表示该服务类型被PPPoE服务器接受,另外可以包含其他TAG。如果PPPoE服务器不接受PADR中的
  Server-Name,PADS中则包含一个Service-Name-Error类型的TAG,这时SESSION_ID设置为0。
  PPPSession阶段:
  当客户端与服务器端远成发现阶段之后,即进入会话阶段,在PPP会话阶段,PPP包被封装在PPPOE以太帧中,以太包目的地址都是单一的,以太协议为0x8864,PPPOE头的CODE必须为0,SESSION_ID必须一直为发现阶段协商出的SEESION_ID值,PPPOE的负载是整个PPP包,PPP包前是两字节的PPP协议ID值。
  在Session阶段,主机或服务器任何一方都可发PADT(PPPoEActiveDiscoveryTerminate)报文通知对方结束Session。
  PPPoE的身份验证发生在会话(PPPSession)阶段。可以这样更解,rp-pppoe包负责Discovery及会话终止PADT,ppp包负责会话阶段的数据传输。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673058-1-1.html 上篇帖子: CentOS 7.0卸载自带的mariadb 下篇帖子: centos7.4 ftp服务器搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表