How to proper setup L2TP connection

G`day!

I tried to set up an internet connection, version 4.8.2. The provider Beeline Home (Kazakhstan) uses an L2TP connection (l2tp.internet.beeline.kz with username and password). If I try to do this through the stock admin panel with xl2tpd installed, unfortunately it doesn’t work — the WAN does not get an IP from the provider, so there’s no connection.

Then I tried to set it up through OpenWrt , update it to 24.10.2 and set the MTU to 1460, then update the packages with opkg update, opkg install xl2tpd ppp-mod-pppol2tp luci-proto-l2tp - and it worked, but the Wi-Fi performance was really poor.

Maybe there is a proper guide for setting up Internet access via L2TP on standart firmware ?

Hi

May we confirm if you have tried running a speed test using a wired connection while connected via L2TP?

From our experience, L2TP performance is generally poor, so the reduced speed may not be related to Wi-Fi on Vanilla OpenWrt.

Additionally, due to L2TP’s limitations in both performance and security, it will not be supported in the standard GL.iNet firmware.

It’s really a pity, it turns out I bought the router for nothing. Answering your questions:

  1. On pure OpenWrt, the Wi-Fi coverage and speed are actually worse than on a simple TP-Link Archer C80.

  2. Unfortunately, in my case there’s no alternative provider without L2TP, and the same C80 easily delivers 90–95 Mbps on a 100 Mbps plan.

I’ve seen many tests showing that L2TP is no longer a problem for routers with 2–4 core CPUs. For example, the Keenetic Ultra works just wonderfully.

After resetting the router, I cannot connect to the provider; there are errors in the logs.

Firmware Version OpenWrt 23.05.0 r23497-6637af95aa / LuCI openwrt-23.05 branch git-23.236.53405-fc638c8

uci show network | grep beeline

network.beeline=interface

network.beeline.proto='l2tp'

network.beeline.server='l2tp.internet.beeline.kz'

network.beeline.username='0000000000'

network.beeline.password='123456789012'

network.beeline.ipv6='auto'

network.beeline.mtu='1400'

network.beeline.dns='5.34.34.5' '37.99.99.37'

network.beeline.force_link='1'

syslog

Sun Nov 16 22:32:19 2025 daemon.notice netifd: Interface 'beeline' is now up

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 5.34.34.5#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 37.99.99.37#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 5.34.34.5#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 37.99.99.37#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 5.34.34.5#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using nameserver 37.99.99.37#53

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind

Sun Nov 16 22:32:19 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan

Sun Nov 16 22:32:19 2025 user.notice kmwan: config json str={ "op": 3, "data": { "cells": [ "beeline" ] } } Sun Nov 16 22:32:20 2025 kern.debug kernel: [ 907.424519] ================kmwan:[config_handle 372]op:3==============

Sun Nov 16 22:32:20 2025 kern.debug kernel: [ 907.431274] [remove_dev_config 174]delete node, interface:beeline

Sun Nov 16 22:32:20 2025 user.notice firewall: Reloading firewall due to ifup of beeline (l2tp-beeline)

Sun Nov 16 22:32:26 2025 daemon.info xl2tpd[4197]: control_finish: Connection closed to 77.74.65.249, port 1701 (No application/session timer expired), Local: 8063, Remote: 29910 Sun Nov 16 22:32:29 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names

Sun Nov 16 22:32:29 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names

Sun Nov 16 22:32:29 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses Sun Nov 16 22:32:29 2025 kern.err kernel: [ 917.081430] l2tp-beeline: recursion detected Sun Nov 16 22:32:39 2025 kern.err kernel: [ 927.086744] l2tp-beeline: recursion detected Sun Nov 16 22:32:39 2025 kern.err kernel: [ 927.091023] l2tp-beeline: recursion detected