Much obliged to anyone who can give some input. Here's my setup:
-Xserve (Late 2006)
-OS X Server 10.6.2
-dual NICs (one internal, one external)
-DNS, DHCP, VPN (L2TP, PPTP), and Firewall are running with non-overlapping IP ranges in our local subnet.
-IP Forwarding and NAT are enabled on my public NIC
-Ports 500, 4500, 1701, 1723, ESP, and GRE are open on the any group
-Can connect via L2TP from a client on our subnet (192.186.252.X) as well as from our building's wireless network (10.0.0.X), but not from a client outside the building.
-PPTP doesn't work anywhere, but I don't want to use PPTP, just have it on for testing.
-No routing tables set in the VPN panel.
-Authenticating with MS-CHAPv2 and a shared secret.
-Listed our domain in "Search Domains"
-Listed my server 3 times under "DNS Servers" on someone else's recommendation (some people are experiencing a bug where SLS skips the first DNS entry and goes to the second)
-From my Firewall logs, it looks like everything from my client is passing through just fine.
Here are the ppp and vpnd logs from the client and server. I'm going to obscure the public IPs and domains (if you need that info, let me know).
L2TP attempt:
vpnd.log from server (98.212.X.X is the IP of the Time Capsule my client is connected through. my server's internal IP is 192.168.252.12)
2010-03-20 20:26:03 CDT Incoming call... Address given to client = 192.168.252.220
Sat Mar 20 20:26:03 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:26:03 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:26:03 2010 : L2TP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:26:03 2010 : L2TP received SCCRQ
Sat Mar 20 20:26:03 2010 : L2TP sent SCCRP
2010-03-20 20:26:03 CDT Incoming call... Address given to client = 192.168.252.221
Sat Mar 20 20:26:03 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:26:03 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:26:03 2010 : L2TP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:26:03 2010 : L2TP received SCCRQ
Sat Mar 20 20:26:03 2010 : L2TP sent SCCRP
2010-03-20 20:26:05 CDT Incoming call... Address given to client = 192.168.252.222
Sat Mar 20 20:26:05 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:26:05 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:26:05 2010 : L2TP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:26:05 2010 : L2TP received SCCRQ
Sat Mar 20 20:26:05 2010 : L2TP sent SCCRP
2010-03-20 20:26:09 CDT Incoming call... Address given to client = 192.168.252.223
Sat Mar 20 20:26:09 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:26:09 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:26:09 2010 : L2TP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:26:09 2010 : L2TP received SCCRQ
Sat Mar 20 20:26:09 2010 : L2TP sent SCCRP
2010-03-20 20:26:17 CDT Incoming call... Address given to client = 192.168.252.224
Sat Mar 20 20:26:17 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:26:17 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:26:17 2010 : L2TP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:26:17 2010 : L2TP received SCCRQ
Sat Mar 20 20:26:17 2010 : L2TP sent SCCRP
2010-03-20 20:26:23 CDT --> Client with address = 192.168.252.220 has hungup
2010-03-20 20:26:23 CDT --> Client with address = 192.168.252.221 has hungup
2010-03-20 20:26:25 CDT --> Client with address = 192.168.252.222 has hungup
2010-03-20 20:26:29 CDT --> Client with address = 192.168.252.223 has hungup
2010-03-20 20:26:37 CDT --> Client with address = 192.168.252.224 has hungup
-----------------------------------------------------
ppp.log from client (66.X.X.X is my server's public IP)
Sat Mar 20 20:26:01 2010 : L2TP connecting to server 'server.example.com' (66.X.X.X)...
Sat Mar 20 20:26:01 2010 : IPSec connection started
Sat Mar 20 20:26:01 2010 : IPSec phase 1 client started
Sat Mar 20 20:26:01 2010 : IPSec phase 1 server replied
Sat Mar 20 20:26:02 2010 : IPSec phase 2 started
Sat Mar 20 20:26:03 2010 : IPSec phase 2 established
Sat Mar 20 20:26:03 2010 : IPSec connection established
Sat Mar 20 20:26:03 2010 : L2TP sent SCCRQ
Sat Mar 20 20:26:23 2010 : L2TP cannot connect to the server
------------------------------
and here's a PPTP attempt...
vpnd.log from server
2010-03-20 20:33:55 CDT Incoming call... Address given to client = 192.168.252.249
Sat Mar 20 20:33:55 2010 : Directory Services Authentication plugin initialized
Sat Mar 20 20:33:55 2010 : Directory Services Authorization plugin initialized
Sat Mar 20 20:33:55 2010 : PPTP incoming call in progress from '98.212.X.X'...
Sat Mar 20 20:33:56 2010 : PPTP connection established.
Sat Mar 20 20:33:56 2010 : using link 0
Sat Mar 20 20:33:56 2010 : Using interface ppp0
Sat Mar 20 20:33:56 2010 : Connect: ppp0 <--> socket[34:17]
Sat Mar 20 20:33:56 2010 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x7dbf926c> <pcomp> <accomp>]
Sat Mar 20 20:33:56 2010 : rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x259fcb2> <pcomp> <accomp>]
Sat Mar 20 20:33:56 2010 : lcp_reqci: returning CONFACK.
Sat Mar 20 20:33:56 2010 : sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x259fcb2> <pcomp> <accomp>]
Sat Mar 20 20:33:56 2010 : rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x7dbf926c> <pcomp> <accomp>]
Sat Mar 20 20:33:56 2010 : sent [LCP EchoReq id=0x0 magic=0x7dbf926c]
Sat Mar 20 20:33:56 2010 : sent [CHAP Challenge id=0xb7 <0b3c684f1c386736660f4840591e2b56>, name = "server.example.com"]
Sat Mar 20 20:33:56 2010 : rcvd [LCP EchoReq id=0x0 magic=0x259fcb2]
Sat Mar 20 20:33:56 2010 : sent [LCP EchoRep id=0x0 magic=0x7dbf926c]
Sat Mar 20 20:33:56 2010 : rcvd [LCP EchoRep id=0x0 magic=0x259fcb2]
Sat Mar 20 20:33:56 2010 : rcvd [CHAP Response id=0xb7 <682dae4925228bc2cee7c2413f964d5e00000000000000009084d9f3d1b2d776db569745634d66 d0404c2c78cfca8bd800>, name = "user"]
Sat Mar 20 20:33:56 2010 : DSAuth plugin: Could not authenticate key agent for encryption key retrieval.
Sat Mar 20 20:33:56 2010 : sent [CHAP Success id=0xb7 "S=5401B462B1437F390B1BD520E948093D31A8E2B2 M=Access granted"]
Sat Mar 20 20:33:56 2010 : CHAP peer authentication succeeded for user
Sat Mar 20 20:33:56 2010 : DSAccessControl plugin: User 'user' authorized for access
Sat Mar 20 20:33:56 2010 : MPPE required, but keys are not available. Possible plugin problem?
Sat Mar 20 20:33:56 2010 : sent [LCP TermReq id=0x2 "MPPE required but not available"]
Sat Mar 20 20:33:56 2010 : Connection terminated.
Sat Mar 20 20:33:56 2010 : Connect time 0.0 minutes.
Sat Mar 20 20:33:56 2010 : Sent 0 bytes, received 0 bytes.
Sat Mar 20 20:33:56 2010 : PPTP disconnecting...
Sat Mar 20 20:33:56 2010 : PPTP disconnected
2010-03-20 20:33:56 CDT --> Client with address = 192.168.252.249 has hungup
----------------------------------
ppp.log from client
'wookie.illiniapplecenter.com' (66.X.X.X)...
Sat Mar 20 20:33:56 2010 : PPTP connection established.
Sat Mar 20 20:33:56 2010 : Using interface ppp0
Sat Mar 20 20:33:56 2010 : Connect: ppp0 <--> socket[34:17]
Sat Mar 20 20:33:56 2010 : LCP terminated by peer (MPPE required but not available)
Sat Mar 20 20:33:56 2010 : PPTP error when reading socket : EOF
Sat Mar 20 20:33:56 2010 : PPTP error when reading header : read -1, expected 12 bytes
Sat Mar 20 20:33:56 2010 : Connection terminated.
Sat Mar 20 20:33:56 2010 : PPTP disconnecting...
Sat Mar 20 20:33:56 2010 : PPTP disconnected