LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1453|回复: 7

PPPoE服务器接入带来的路由问题

[复制链接]
发表于 2006-12-6 16:41:47 | 显示全部楼层 |阅读模式
一、拓朴图:
见附图
                                    
二、路由表:

NAT Server:
[root@Routed-Server root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
219.x.x.1   *               255.255.255.255 UH    0      0        0 ppp0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         219.x.x.1   0.0.0.0         UG    0      0        0 ppp0

PPPoE Server

[root@CentOS ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.2.11    0.0.0.0         UG    0      0        0 eth0

PPPoE进程未启动路由表,
[root@CentOS ~]# pppoe-server -I eth1 -L 192.168.3.2 -R 192.168.3.192
# 启动PPPoE 服务,eth1口本地地址为,远程地址由192.168.3.192开始分配

启动后路由表如下:
[root@CentOS ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.192  *            255.255.255.255   U    0     0     0   ppp0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.2.11    0.0.0.0         UG    0      0        0 eth0

三、IP转发和防火墙

在NAT Server和PPPoE Server中

net.ipv4.ip_forward = 1

防火墙中input 和output策略均为accept

三、故障现像

说明:
在PPPoE Server的eth0接口地址、网关、和DNS由NAT Server 动态分配,并能正常ping通外网;
在PPPoE Server上能正常ping通PPPoE进程的本地接口地址(eth1不指定地址),和建立ppp连接后的远程PPPoE Client的IP地址;

在NAT Server 上不能ping通PPPoE 进程的本地接口地址192.168.3.2,在NAT Server本机上添加静态路由,

route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1
后可以ping 通192.168.3.2,但不能ping 通192.168.3.192,提示为
"Destination host unreachable"

在PPPoE Clietn上能正常ping通PPPoE进程的本地接口地址192.168.3.2(eth1不指定地址),和PPPoE Server的eth0地址192.168.2.2,
但是无法ping 通局域网网关即NAT Server的eth1接口192.168.2.11,提示为 Request time out !;

******************************************************
望精通网络路由的DX们指点,不胜感激!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2006-12-6 20:57:31 | 显示全部楼层
应该是nat机器上的路由问题。将nat机器上加路由的命令改为:
route add -net 192.168.3.0 netmask 255.255.255.0 gateway 192.168.2.2

试一试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-7 09:24:49 | 显示全部楼层
谢谢memory兄的热心回复,记得我的那个DHCP分配多网段地址的问题,也是经您点拔,谢谢!我试试看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-7 10:21:22 | 显示全部楼层
问题搞掂,经过如下:

1。将PPPoE服务器的本地地址和远端地址分配为192.168.2.0网段;即
[root@CentOS ~]# pppoe-server -I eth1 -L 192.168.2.193 -R 192.168.2.200

# 当然分配的地址不能与DHCP Server的地址有冲突,DHCP Server分配的地址范围为192.168.2.15~192.168.2.192

2。将PPPoE Server的防火墙的Forward策略设置为accept

3。在PPPoE Server的/etc/ppp/options中添加
proxyarp


*********************************************

all be done
回复 支持 反对

使用道具 举报

发表于 2006-12-13 19:09:22 | 显示全部楼层
你这种显得有点不完美,还使用proxyarp,显然是浪费系统资源,因为你没有那种必要。
要使用memory的那种方法,使用路由模式。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-13 19:52:09 | 显示全部楼层
谢谢提示,我重新测试看看!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-13 20:07:14 | 显示全部楼层
添加路由不能解决问题,因为不同网段之的ARP查询要么有动态路由协议,要么有arp proxy,

要不然只是添加路由的话,PPPoE Client一样不能ping通 192.168.2.11网关,因为根本不能查询到192.168.2.11网关的MAC地址
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-14 16:25:59 | 显示全部楼层
感谢memory兄,非常感谢bpxyz兄的提示,您的方法是可行,且有效的!!!

解决办法:
1。 取消proxyarp模式,

2。 PPPoE Client端IP与网关IP在不同网段;

3。 在网关(即NAT服务器的)添加至PPPoE Client网段的默认路由

问题解决!

BTW,我觉得我的上条回复过于浅薄,抱歉(保留在哪儿,给自己一个警示)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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