On 2013-02-18, Claudio Jeker <[email protected]> wrote: > Even though L2TP has L2 in its name it is not built to create ethernet > layer 2 tunnels. It is just tunneling PPP packets inside of UDP. > So the only thing you can do is proxyarp (which npppd does not support > natively) or route the traffic.
Routing the traffic is probably the easiest way for this. Use a different subnet for the PPP-assigned addresses and add a static route on the gateway (and ideally on other machines which the PPP-connected devices will need to reach too, it may work without but you'll either be pushing a bunch of extra traffic via the gateway, or relying on ICMP redirects which may be disabled and at best are "bleurgh" ;) The proxy arp route is less nice but a few pointers if people want to try that; you can use arp(8) in base for it; see the '-f' option - or arpd (in ports) can cover a whole subnet without listing addresses separately. Alternatively there is the combination of pppd+xl2tpd; pppd does support proxy arp natively, though npppd is nicer and easier to configure, especially with IPsec). FWIW none of these can do IPv6 in the tunnels on OpenBSD, for that you could use gif, gre, openvpn or just plain ipsec.

