linux 下pppoe配置

一、环境搭建

查看是否安装所需要的包。

[root@MASTER ~]# rpm -qa |grep rp-pppoe

rp-pppoe-3.5-32.1

配置文件目录在/etc/ppp下

[root@MASTER ppp]# ls

chap-secrets         ioptions         ip-up          ipv6-up      peers

firewall-masq        ip-down          ip-up.ipv6to4  options      pppoe-server-options

firewall-standalone  ip-down.ipv6to4  ipv6-down      pap-secrets

修改配置文件

[root@MASTER ppp]# vi pppoe-server-options

# PPP options for the PPPoE server

# LIC: GPL

#require-pap

require-chap     #验证方式

login

lcp-echo-interval 10

lcp-echo-failure 2

ms-dns 202.106.0.20

ms-dns 8.8.8.8

添加用户

[root@MASTER ppp]# vi chap-secrets

# Secrets for authentication using CHAP

# client        server  secret                  IP addresses

####### redhat-config-network will overwrite this part!!! (begin) ##########

####### redhat-config-network will overwrite this part!!! (end) ############

zhaoyun           *      zhaoyun                  *

开启ip转发

echo 1 > /proc/sys/net/ipv4/ip_forward

或者修改/etc/sysctl.conf 

[root@MASTER ~]# sysctl -p

net.ipv4.ip_forward = 1

配置iptables

[root@MASTER ppp]# iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.255 -o eth1 -j MASQUERADE

eth1为出口的网卡,就是可以和外网连通的那块。

启动pppoe服务

[root@MASTER ppp]# pppoe-server -I eth0 -L 192.168.1.151 -R 192.168.1.2 -N 20

I:指定响应PPPOE请求的端口,现在使用的eth0,也就是内网的

L:PPPOE服务器的IP地址,客户端连接可以看到的服务器地址

R:这是分配给客户端的地址池起始地址,本例中从192.168.1.2开始

N:地址池的IP地址递增几个,本例中添增10,也就是从192.168.1.2开始分配,一 共 

     分 配20个IP地址

到现在这个pppoe服务器就可以工作了。

找个客户端,建立一个拨号连接

 

 

可以看到已经连接上

 

上网测试

 

打个网页。


注意:centos5.0有个bug,必须把syslogd这个进程终止后,pppoe才能拨号成功

二、总结:

1.启动pppoe服务器的命令如下:
pppoe-server -I eth1 -L 192.168.1.1 -R 192.168.1.2 -N 20
其中-I参数指定工作网卡接口,-L指定服务器端IP地址,-R参数指定分配给客户端的起始IP地址,-N参数为最大pppoe会话数(进程数,也是IP数)
2.pppoe-sever会创建一个pppoe子进程,然后由pppoe子进程调用 pppd进程进行ppp会话,pppoe子进程创建pppd进程时默认会指定pppd读取/etc/ppp/pppoe-server- options(可以通过pppoe-server的-O选项另外指定),因此有些教程说要修改/etc/ppp/options文件的相关pppd参 数,我觉得参数应该都加在/etc/ppp/pppoe-server-options中。 
3./etc/ppp/pppoe-server-options中不要包含login选项,因为该选项表示用系统密码数据库中的密码进行验证(我觉得就是用linux中的账户和密码来验证) 
4.可以通过在/etc/ppp/pppoe-server-options中指定ms-dns选项指定dns服务器,有关pppd的相关选项可以通过man pppd查询 
5.pap的账户和密码在/etc/ppp/pap-secrets文件中设定,chap的账户和密码在/etc/ppp/chap-secrets中设定 
6.默认/etc/ppp/pap-secrets和/etc/ppp/chap-secrets文件只有root用户可以读取,可以通过给pppd程序加上setuid权限使其能够读写,命令如下:
chmod u+s /usr/sbin/pppd 
7.另发现pppoe与syslogd服务有冲突,必须关闭syslogd服务后启用pppoe-server服务,这样客户端才能连接成功,网上查与pppd版本有关,2.4.3-2.4.4版本有问题,升级到2.4.5版本后就没有问题了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值