On Sun, May 22, 2005 at 11:51:06AM +0000, Adam Gleave wrote: > > reading in pppoe(4): > > " Problems can arise on machines with private IPs connecting to the Inter- > net via a machine running both Network Address Translation (NAT) and > pppoe. Standard Ethernet uses a Maximum Transmission Unit (MTU) of 1500 > bytes, whereas PPPoE mechanisms need a further 8 bytes of overhead. This > leaves a maximum MTU of 1492. pppoe sets the MTU on its interface to > 1492 as a matter of course. However, machines connecting on a private > LAN will still have their MTUs set to 1500, causing conflict." > > It goes on to say: > > "Setting the MTU on all interfaces being NAT'ed to 1492, instead of > the Ethernet default, 1500. This can be done using ifconfig(8). The > following would set the MTU to 1492 on interface bge0: > > # ifconfig bge0 mtu 1492" > > My question is, do you set the mtu on the box NAT'ing (fxp0, in this > case), the box connecting to it, or both? >
if you check ifconfig(8) output, you will see that pppoe0 (your external if) has its MTU set to 1492, as explained above. the box that is being nat'ed will have its MTU at 1500, which needs adjusted. having said that, the man page also notes that not all interfaces support adjusting the MTU, so it's more practical to set max-mss, as jason says. that has some drawbacks too though ;( > > PS: Something weird i've noticed is: > > " > pppoe0: phase establish > pppoe0: phase authenticate > pppoe0: phase terminate > pppoe0: phase authenticate > pppoe0: phase network > " > > Any ideas why it connects, authenticates, terminates, connects again > and then stays connected? This isn't a one of, it seems to happen > quite consistently EVERY time. > i don't know. but as long as it is not cycling through the phases continually, it's probably ok. jmc