man 4 pppoe - you're missing part of the pf.conf file:
MTU/MSS ISSUES 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. While pppoe(8) has an internal option, ``mssfixup'', which is enabled by default and takes care of this, pppoe users have to rely on other meth- ods. Using a packet filter, the Maximum Segment Size (MSS) can be set (clamped) to the required value. The following rule in pf.conf(5) would set the MSS to 1440: scrub out on pppoe0 max-mss 1440 Although in theory the maximum MSS over a PPPoE interface is 1452 bytes, 1440 appears to be a safer bet. Note that setting the MSS this way can have undesirable effects, such as interfering with the OS detection fea- tures of pf(4). On Thu, 9 Oct 2008 10:11:38 +0100, gm_sjo <[EMAIL PROTECTED]> wrote: > Hi all, > > I am testing my new OpenBSD router in a simple NAT configuration but I > am getting some strange results. The client machine is a Windows XP > laptop and the behaviour is that only a handful of websites render > (google, for example), 99% that i've tried do not. FTP appears to be > working fine. It doesn't appear to be a local client configuration > issue as when I point to an alternate NAT gateway, there are no > problems. > > Here is my configuration :- > > -bash-3.2# ifconfig -A (stripped slightly) > pppoe1: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1492 > dev: fxp2 state: session > sid: 0x6 PADI retries: 0 PADR retries: 0 time: 12:00:53 > sppp: phase network authproto chap authname "xxxxx" > groups: pppoe egress > inet6 fe80::204:23ff:fecb:1cde%pppoe1 -> prefixlen 64 scopeid 0x9 > inet 90.155.88.39 --> 81.187.81.72 netmask 0xffffffff > fxp2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:02:b3:13:fc:0d > media: Ethernet autoselect (100baseTX full-duplex) > status: active > inet6 fe80::202:b3ff:fe13:fc0d%fxp2 prefixlen 64 scopeid 0x5 > em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:04:23:cb:1c:de > trunk: trunkdev trunk0 > media: Ethernet autoselect (1000baseT full-duplex) > status: active > inet6 fe80::204:23ff:fecb:1cde%em0 prefixlen 64 scopeid 0x1 > em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:04:23:cb:1c:de > trunk: trunkdev trunk0 > media: Ethernet autoselect (1000baseT full-duplex) > status: active > inet6 fe80::204:23ff:fecb:1c7d%em1 prefixlen 64 scopeid 0x2 > trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:04:23:cb:1c:de > trunk: trunkproto loadbalance > trunkport em1 active > trunkport em0 master,active > groups: trunk > media: Ethernet autoselect > status: active > inet6 fe80::204:23ff:fecb:1cde%trunk0 prefixlen 64 scopeid 0xb > vlan1020: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:04:23:cb:1c:de > vlan: 1020 priority: 0 parent interface: trunk0 > groups: vlan > inet6 fe80::204:23ff:fecb:1cde%vlan1020 prefixlen 64 scopeid 0xe > inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255 > > > -bash-3.2# route show -inet (stripped) > Routing tables > > Internet: > Destination Gateway Flags Refs Use Mtu > Interface > default careless.aaisp.net UGS 1 8539 - > pppoe1 > 0.0.0.1 default UH 0 0 - > pppoe0 > careless.aaisp.net 90.155.88.39 UH 1 2 - > pppoe1 > > (pppoe0 is not currently in-use) > > > -bash-3.2# cat /etc/pf.conf > nat-anchor "ftp-proxy/*" > rdr-anchor "ftp-proxy/*" > nat on pppoe1 from vlan1020:network to any -> (pppoe1) > rdr pass on vlan1020 proto tcp from any to any port ftp -> 127.0.0.1 port > 8021 > anchor "ftp-proxy/*" > > > > > Scenario:- > > - Windows client sitting on a 802.1q tagged network. > - Vlan ID is 1020 and is set to be the default vlan on the switch port > its attached to. > - Default gw on client is 192.168.10.1 > - trunk0 on firewall is configured as a trunk on the switch (em0/em1), > albeit not 802.3ad (not sure on standard) > - Client can ping any host on the internet > - Client appears to be able to connect to any internet host on port > 80, and a 'GET /' works (albeit often to a http 1.1 error as you'd > expect) > - Only a couple of the website i've tried actually render in a > browser, google does for example. > - I can grab small text files (<1KB) from a site, but larger ones > don't work. Looks like size is relevant. > - Connection works fine from the firewall itself, can grab anything > from anywhere with no issue (does this rule out MTU issues on the WAN > link?) > > > I don't have any tcpdump or debug data handy where I am at the moment, > but can obtain some later today upon request. > > Any thoughts on how I can debug this? Any more info I can provide to help? > > Thanks in advance!