Linux下pppoe服务器配置.
终于搞明白pppoe + NAT 作上网服务器的原理了,哈哈哈。rp-PPPoE设置:
检查rppppoe装上没有(redFlag已经装上)
rpm -qa | grep -i "pppoe"
/etc/ppp/pap-secrets配置如下:
#client server secret IP address
"usr" * "123" *
"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
#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 -N 200 -L 192.168.0.1 -R 192.168.0.100 -r -u
pppoe-server -I eth1 -N 200 -L 192.168.0.1 -R 192.168.0.100 -r -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
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连接就可以了
我猜测
用NAT上网时,客户设置好ip和网关为eth1后,发给服务器的连接会被iptables识别并路由过去。
用pppoe设置好后,客户如果没有建立pppoe连接,
而建立连接后,iptables识别就能识别出他来了。
具体是怎么实现的有待研究。
- 上一篇 Linux usb驱动源代码分析.
- 下一篇 Sshd配置