Raspberry Piでルーターを作ったのだが、VPN(PPTP)が通らなかった。

VPN Clientのログ(Macなので/var/log/ppp.log)を見たところ、LCP ConfReq というパケットを送ったのに、その返信が返ってこなくてタイムアウトしている模様。

ググると、GREパケットが途中で落ちているとのことなので、tcpdumpで調査。ppp0を見ると返ってきているのに、eth1(LAN側)には返ってきていないので、NATの問題だと予想。さらにググった結果、
http://serverfault.com/questions/167485/pptp-gre-multi-forwarding-nat-iptables-example

を発見し、
modprobe nf_conntrack_pptp
modprobe ip_nat_pptp
で解決。