Linux下pppoe服务器配置.

终于搞明白pppoe + NAT 作上网服务器的原理了,哈哈哈。

rp-PPPoE设置

检查rppppoe装上没有(redFlag已经装上)

rpm -qa | grep -"pppoe"


/etc/ppp/pap-secrets
配置如下

#client server secret IP address
"usr" * "123" *

/etc/ppp/chap-secrets的配置和pap-secrets一样

/etc/ppp/
pppoe-server-options配置如下

#auth  #注释掉这三行使用任意帐号就可以登录
#
require-pap
#
require-chap
login
lcp
-echo-interval 30
lcp
-echo-failure 4
ms
-dns  202.118.224.101



然后运行

modprobe pppoe
pppoe
-server -I eth1 -200 -192.168.0.1 -192.168.0.100 --u


iptables设置:

打开ip转发和NAT功能

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables  
-t nat -F
iptables  
-t nat -L
iptables 
-t nat -A POSTROUTING -o eth0 -j SNAT  --to 219.217.235.73
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 192.168.0.0/24 --to 219.217.235.73


pppoe-server -I eth1  -r -u

xp连接就可以了

注意:

为了防止局域网内用户设置ip和eth1一致,从而达到间接上网的目的,必须将eth1的ip设置为空!
我猜测
用NAT上网时,客户设置好ip和网关为eth1后,发给服务器的连接会被iptables识别并路由过去。
用pppoe设置好后,客户如果没有建立pppoe连接,
发给服务器的数据报会被过虑到,iptables识别不了。
而建立连接后,
iptables识别就能识别出他来了。
具体是怎么实现的有待研究。

Powered by Jekyll and Theme by solid

本站总访问量