Hi, I found the following problem with ppp after upgrading to 8.1 I am using ppp -ddial -nat ... over pppoe. The entry in ppp.conf has these lines (plus others not relevant here): my-provider: set line PPPoE:nfe0 ... add default HISADDR Up to 7.2 this sufficed to establish a route using 'tun0' as the device Destination Gateway Flags Refs Use Netif Expire default 81.174.0.1 UGS 0 1885 tun0 With the upgrade to 8.1R the default route points to 'nfe0', i.e. the device used to talk pppoe, instead of tun0. This causes a number of failures which prevent operation. I am not sure though whether the bug is in PPP or in the kernel, and why ppp now uses the wrong device to install the route entry. A functional workaround is the following (note you need all three lines!): add default HISADDR shell route delete default shell route add default -interface INTERFACE where the first line installs the bogus entry but supplies a default address for outgoing packets, and the other two entries fix the interface. I tried to remove the 'add default HISADDR' but it does not seem to work -- tcpdump shows outgoing packets carrying 0.0.0.0 as src-ip, which prevents replies from coming back. I'll submit a PR later, but would be curious to know if someone has ideas on what could be a proper fix. cheers luigi
Luigi Rizzo <rizzo@iet.unipi.it> wrote: > Hi, > I found the following problem with ppp after upgrading to 8.1 > > I am using ppp -ddial -nat ... over pppoe. The entry in ppp.conf has > these lines (plus others not relevant here): > > my-provider: > set line PPPoE:nfe0 > ... > add default HISADDR > > Up to 7.2 this sufficed to establish a route using 'tun0' as the device > > Destination Gateway Flags Refs Use Netif Expire > default 81.174.0.1 UGS 0 1885 tun0 > > With the upgrade to 8.1R the default route points to 'nfe0', i.e. the > device used to talk pppoe, instead of tun0. > This causes a number of failures which prevent operation. That's strange ... I have a simuilar setup on my router which was upgraded from FreeBSD 6.x to 8.x recently. I don't have any routing problems. So maybe it is a problem with your configuration, not a FreeBSD bug. My rc.conf contains: ifconfig_fxp0="up" ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" ppp_profile="pppoe_myisp" gateway_enable="YES" And ppp.conf looks like this (few things omitted for brevity): default: set ifaddr 10.0.0.1/0 10.0.0.2/0 set server /var/run/ppp.ctl "" 0177 nat enable yes pppoe_myisp: set device PPPoE:fxp0 set authname myauthname set authkey myauthkey set dial set login add default HISADDR enable dns resolv readonly The default route is set correctly: $ route get default route to: default destination: default mask: default gateway: gateway.myisp.net interface: tun0 flags: <UP,GATEWAY,DONE,STATIC> recvpipe sendpipe ssthresh rtt,msec mtu weight expire 0 0 0 0 1492 1 0 Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Gesch?ftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M?n- chen, HRB 125758, Gesch?ftsf?hrer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd Blogging: Never before have so many people with so little to say said so much to so few.
Michael BlackHeart
2010-Aug-12 16:00 UTC
8.1R: ppp default route uses wrong Netif (with pppoe)
As I understand this isn't a bug but a mistype or misunderstand of config ( see man ppp.conf ) I'm running myself 8.0, 8.1 and currently 8.STABLE with pppoe in this way and never have a problem as many peolpe do. Look in listing> my-provider: > set line PPPoE:nfe0Here's some "set line" and should be "set device" like this:> pppoe_myisp: > set device PPPoE:fxp0I think that's the clue.