Ok, I'm going to post my test configuration start to finish and just strip out parts of the public IP addresses or anything that's not useful.
/ip address add address=X.X.109.1/24 interface=ether1
/ip pool add name="test_pool_private" ranges=192.168.42.10-192.168.42.249
/ppp profile add name="test_private" local-address=192.168.42.1 remote-address=test_pool_private
/ppp secret add name=test_priv password=test_priv service=pppoe profile=test_private
/interface pppoe-server server add service-name=private_internet interface=ether2 default-profile=test_private
/ip pool add name="test_pool_public" ranges=X.X.109.10-X.X.109.249
/ppp profile add name="test_public" local-address=X.X.109.2 remote-address=test_pool_public
/ppp secret add name=test_pub password=test_pub service=pppoe profile=test_public
/interface pppoe-server server add service-name=public_internet interface=ether2 default-profile=test_public
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.42.0/24
Then I add the DNS settings via winbox, because I was lazy. Right after that, I set up an OSPF area:
/routing ospf area add area-id=0.0.0.109 name=PPPoE_109
Here's where I get confused as to what to add. Does the public IP address range get added to the pppoe area or backbone? I've tried the following in every combination with no success:
/routing ospf network add area=backbone network=X.X.109.0/24
/routing ospf area range add area=backbone range=X.X.109.0/24 cost=default advertise=yes
and/or
/routing ospf network add area=PPPoE_109 network=X.X.109.0/24
/routing ospf area range add area=PPPoE_109 range=X.X.109.0/24 cost=default advertise=yes
When I do all this, I get test_priv username and password to connect just fine from a Windows XP machine. I can surf the internet, check my email, and my public facing IP address comes from X.X.109.2
I can get PPPoE authentication correctly from test_pub, but I cannot surf the internet or even ping X.X.109.1 when connecting to the public PPPoE profile. What am I doing wrong? I just can't figure it out because I've never set up anything like this before.