Comparison of LLMs with networking tasks
I have prplOS clients in the lab connected to Cisco LAC and LNS. I can ping from prplOS to LAC but I can’t ping between prplOS clients neither can I ping from LNS to any client. What could be the root cause?
The prompt was intentionally not overly specific to mimic real world prompts. It also allows neutral start, not prefocusing LLM into a specific reasoning path. With neutral start, it’s interesting to compare abilities of LLMs to encount potential root causes and select or sort them in probability given the described cirmustances. One can see the difference in how individual LLM work with cues and side information given in the prompt.
# Results
| LLM Name | Score | Remarks |
|---|---|---|
| Qwen3.6-Max-Preview | 3 | Missed actual cause. Provided other plausible root causes. Lost points for non-plausible causes. |
| Qwen3.6-27B 🥈 | N/A | Found root cause in top 3 suspects. Provided other plausible root causes. |
| Qwen3-Coder ⛔ | 2 | Missed actual cause. Lost points for non-plausible root causes. |
| Gemini 3 Flash Preview 🏆 | N/A | Found root cause as the 1st suspect. Provided other plausible root causes. |
| Gemma 4 31B IT 🏆 | N/A | Found root cause as the 1st suspect. Provided other plausible root causes. |
| gpt-5.5 🏆 | N/A | Found root cause as the 1st suspect. Lost points for non-plausible root causes. |
| gpt-5.3-chat-latest | 3 | Missed actual cause. Provided other plausible root causes. Lost points for non-plausible causes. |
| gpt-5.3-codex ⛔ | 2 | Missed actual cause. Lost points for non-plausible root causes. |
| gpt-4.1-nano ⛔ | 1 | Missed actual cause. Lost points for non-plausible root causes. |
| gpt-5.4-mini ⛔ | 2 | Missed actual cause. Lost points for non-plausible root causes. |
| o1-pro ⛔ | 0 | Missed actual cause. Lost points for non-plausible root causes. |
| Sonet-4.6 | 4 | Missed actual cause. Provided other plausible root causes. |
| Opus 4.7 🏆 | N/A | Found root cause as the 1st suspect. Provided other plausible root causes. |
| Grok Code Fast 1 🥈 | N/A | Found root cause in top 3 suspects. Lost points for non-plausible causes. |
| Gwen3 Coder Next ⛔ | 1 | Missed actual cause. Lost points for non-plausible root causes. |
| LLama4 Maverick 17B ⛔ | 1 | Missed actual cause. Lost points for non-plausible root causes. |
| Nemotron 3 Super 🥉 | 3 | Identified firewall (late). Lost points for non-plausible root causes. |
| Mistral 🥉 | 1 | Identified firewall (late). Lost points for non-plausible root causes. |
This is a classic L2TP/IPsec troubleshooting scenario. The fact that prplOS clients can ping the LNS but cannot ping each other and the LNS cannot ping the clients points to specific routing, firewall, or L2TP configuration issues.
Here’s a breakdown of the most likely root causes, ordered by probability:
l2tp0, ppp0, etc.) or the client subnet.# On LNS
iptables -L -n -v | grep icmp
# Or check Cisco ACLs applied to the virtual-template or tunnel interface
show access-lists
# On LNS
ip route show
# Look for a route like: <client-subnet> dev l2tp0 scope link
If missing, add it:
ip route add <client-subnet>/<mask> dev l2tp0
ip local-proxy-arp on the virtual-template interface.
interface Virtual-Template1
ip local-proxy-arp
proxyarp is enabled in /etc/ppp/options.l2tpd or the relevant PPP options file.
proxyarp
# On LNS
sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.l2tp0.rp_filter # Replace l2tp0 with your tunnel iface
Set to 0 (disabled) or 2 (loose) for testing:
sysctl -w net.ipv4.conf.l2tp0.rp_filter=0
ping -s 1400 <LNS_IP>
ip route show
ip neigh show # Check if LNS has ARP entries for clients
iptables -L -n -v
# Temporarily flush rules to test:
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
ip local-proxy-arp on the virtual-template.proxyarp to PPP options.ping <client_ip>
tcpdump -i l2tp0 icmp # Capture traffic on tunnel interface
Given your symptoms, the most probable cause is a combination of:
Start by checking the LNS firewall and enabling proxy ARP.
This is a classic L2TPv3 or IPsec over GRE (common in prplOS/Cisco lab setups) troubleshooting scenario. The fact that you can ping from prplOS to the LNS but not between clients or from LNS to clients points to specific asymmetries or configuration gaps.
Here’s a structured breakdown of likely root causes, ordered by probability:
tunnel routing or ip route statements exist for the client subnets.l2tp class or tunnel-group on the LNS has virtual-template with correct ip address pool and routing enabled.iptables or nftables) for DROP/REJECT rules on the tunnel interface.ping -s 50 <client_ip> (Linux) or ping -f -l 50 <client_ip> (Windows).# On prplOS (example)
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip mtu 1400 on tunnel interfaces.show l2tp session on Cisco and ip l2tp show on prplOS.control-word, cisco-sequence, and encapsulation types.ping -s 50 <target_ip>
If small pings work, it’s an MTU issue.
ip route show table allshow ip route vrf <vrf-name> or show ip routeiptables -L -n -v or nft list rulesetshow access-listsip l2tp showshow l2tp session detailtraceroute <client_ip>
See where packets drop.
debug l2tp packet, debug ip icmptcpdump -i <tunnel_interface>Given your symptoms (ping to LNS works, but not between clients or LNS→clients), the top two suspects are:
Start by verifying routes on the LNS and checking prplOS firewall rules.
Based on your L2TP (LAC/LNS) setup with prplOS clients, the issue where you can ping from prplOS to LNS but not between clients or from LNS to clients suggests a layer 3 routing/forwarding problem within the L2TP tunnel. Here are the most likely root causes:
The fact that you can ping LNS → client but not client ↔ client strongly indicates a routing policy issue rather than a basic connectivity problem.
Input tokens: 57
Output tokens: 2,029
Total tokens: 2,086
Cost Estimation *
Input token cost: $0.000029
Output token cost: $0.006087
Total cost: $0.006116
Elapsed time: 19.9s
The failure to ping between prplOS clients or from the LNS to the clients, despite the clients being able to ping the LNS, usually points to routing isolation or firewall restrictions on either the LNS or the prplOS clients.
Here are the most likely root causes and how to troubleshoot them:
prplOS is based on OpenWrt. By default, OpenWrt firewalls are configured to REJECT or DROP all incoming traffic on interfaces in the wan zone.
wan) allows ICMP Input.uci set firewall.@rule[0].target='ACCEPT' (where index 0 is your ping rule) and uci commit firewall; /etc/init.d/firewall restart.For two clients to ping each other, the LNS must receive a packet from one Virtual-Access interface and route it back out through another Virtual-Access interface.
ip routing: Ensure ip routing is enabled globally on the LNS.Virtual-Template or the user sessions are being placed into different VRFs. If Client A is in VRF_RED and Client B is in VRF_BLUE, they cannot communicate without route leaking.
show ip route vrf * or show vpdn session.ip access-group applied to your interface Virtual-Template. If an ACL is present, it must explicitly permit ICMP between the client IP addresses.If the prplOS clients do not have a route for the L2TP IP pool, they won’t know they should send pings to other clients through the tunnel.
ppp interface, it might send the packet out its local physical gateway instead of the tunnel.ip route and look for the route to the other client’s IP. It should point to the ppp device.Even if the LNS has the sessions up, it needs a valid route in its routing table to reach the clients’ IP addresses.
/32) for each connected PPP client.show ip route [Client_IP]. If it doesn’t show a Virtual-Access interface as the exit path, the LNS won’t be able to ping the client.Virtual-Template is ip unnumbered to a Loopback, ensure that Loopback’s IP is not in the same subnet as your client pool unless configured correctly, as this can sometimes cause ARP or routing logic issues./etc/config/firewall to allow icmp input on the wan zone.show vpdn session.Virtual-Template: show run int Virtual-Template X.tcpdump -i ppp0 icmp. If the client sees the echo request but doesn’t send an echo reply, it is a firewall issue on the client. If the client sees nothing, it is a routing/ACL issue on the LNS.Input tokens: 57
Output tokens: 1,628
Total tokens: 1,685
Open source model $0
Elapsed time: 20.7s
Based on the symptoms described, your L2TP tunnel and PPP sessions are established (since the client can ping the LNS), but you are facing issues with unsolicited inbound traffic and inter-client routing.
Here is a breakdown of the root causes, categorized by the two failure scenarios.
Since the client can ping the LNS, the “path” exists, but the return path or the entry point is being blocked.
iptables or nftables rules on the prplOS client. Look for the INPUT chain.iptables -I INPUT -p icmp -j ACCEPTping <client_ip> source <Virtual-Template_IP>This is a “hairpinning” or “inter-session” routing issue. In an L2TP environment, the LNS acts as the hub.
Virtual-Template may prevent traffic from one PPP session from being routed back into another PPP session.
Virtual-Template interface.show ip route on the LNS and ensure the client IP addresses are reachable via the Virtual-Access interfaces.| Test Path | Likely Culprit | Action |
|---|---|---|
| LNS $\rightarrow$ Client | prplOS Firewall | iptables -F (Disable firewall) |
| LNS $\rightarrow$ Client | Source IP Mismatch | ping <ip> source <VT_IP> |
| Client $\rightarrow$ Client | prplOS Firewall | Disable firewall on receiving client |
| Client $\rightarrow$ Client | LNS ACLs | Check show run interface Virtual-Template |
| Client $\rightarrow$ Client | LNS Routing | show ip route $\rightarrow$ verify Virtual-Access routes |
Quickest way to isolate the problem: Log into the prplOS clients and completely disable the firewall. If pings start working, the issue is the prplOS security policy. If they still don’t work, the issue is the Cisco LNS routing/ACL configuration.
Input tokens: 61
Output tokens: 3476
Elapsed time: 64s
Most likely root cause: prplOS is dropping unsolicited inbound traffic on its WAN/PPP interface, i.e. firewall/ACL behavior.
Why it matches your symptoms:
prplOS → LNS ping works
The ping is initiated outbound from prplOS, so the return ICMP reply is allowed by state tracking.
LNS → prplOS client ping fails
That is unsolicited inbound ICMP arriving on the prplOS WAN/PPP interface, so it may be dropped.
prplOS client ↔ prplOS client ping fails
Traffic from one client to another goes via the LNS, but it still arrives at the destination prplOS as unsolicited inbound WAN traffic, so it is dropped too.
What to check:
tcpdump -ni pppoe-wan icmp
or whichever PPP interface is used.
If you see echo requests arriving but no replies leaving, it is definitely local firewall/filtering.
Also check Cisco side:
show ip route <client-ppp-ip>
show vpdn session
show users
If the LNS has routes to the client PPP IPs, the Cisco side is probably fine.
If you are trying to ping LAN hosts behind the prplOS routers, then you also need routing/NAT/firewall changes and unique LAN subnets. But for pinging the prplOS PPP client addresses, the main suspect is the prplOS WAN firewall blocking inbound ICMP.
## gpt-5.3-chat-latest
Input tokens: 61
Output tokens: 937
Elapsed time: 16s
What you’re describing almost always comes down to the LNS treating each PPP session as isolated point‑to‑point endpoints and not actually routing or permitting traffic between them.
The key clues:
That narrows it to what the LNS is doing with those virtual-access interfaces.
Most likely root causes on Cisco LNS:
1) Missing or incorrect routing on the LNS
Each PPP client should appear as a /32 route via a Virtual-Access interface. If ip routing is off, or those routes aren’t being installed, the LNS won’t know how to send traffic back to clients.
2) ACL or policy on the Virtual-Template
Very common: an inbound/outbound ACL, zone-based firewall, or control-plane policy is blocking traffic between subscribers or from the LNS itself. Check for:
ip access-group on Virtual-Template3) Subscriber isolation (intentional or accidental)
Some configs explicitly prevent client-to-client communication (like broadband isolation features). Depending on platform/features, this can be:
4) Source issue when pinging from LNS
When you ping from the LNS, if you don’t specify a source, it may use a loopback or physical interface that the client has no route back to. Try:
ip unnumbered5) Proxy ARP or return path issues
If clients are in the same IP pool but the LNS isn’t properly routing between /32s or proxying, inter-client traffic fails.
If I had to bet on one root cause:
An ACL / firewall or subscriber policy on the Virtual-Template is blocking intra-subscriber and LNS-originated traffic. That’s the most common in lab setups that otherwise “look correct.”
Quick checks:
show ip route → do you see /32 routes for clients?show run interface virtual-template Xshow access-listsIf you paste your Virtual-Template config, I can point to the exact line.
Input tokens: 61
Output tokens: 432
Elapsed time: 13.2s
Most likely root cause: PPP/L2TP subscriber isolation on the LNS (or in the Virtual-Template/AAA policy).
Your symptom pattern is classic:
That usually means sessions are up, but forwarding to subscriber routes is blocked or not installed correctly, often due to one of these:
Per-user isolation / split-horizon behavior (common in broadband/BNG style configs)
Prevents traffic between PPP subscribers on same LNS.
Missing or incorrect return routes on LNS for client-assigned IPs
LNS can receive packets from client (connected via virtual-access), but cannot properly send back.
Unnumbered/virtual-access template issue
If virtual-access interfaces are built from a template with restrictive ACL/policy, only control-plane reachability may work.
ACL/uRPF/Firewall on Virtual-Template or loopback
Could allow client→LNS ICMP but deny transit or LNS-initiated traffic.
Proxy-ARP / IPCP address-pool mismatch
Client gets address, but LNS forwarding logic for those pools is incomplete.
show vpdn sessionshow interface virtual-access Xshow ip route <client-ip>show ip cef <client-ip>show run interface virtual-template <n>show run | sec aaashow access-lists and policies applied on virtual-templatepeer default ip address pool is consistent and reachableIf all clients terminate on same LNS and only LNS itself is reachable, the most probable issue is subscriber isolation / forwarding policy on virtual-access sessions, not basic tunnel establishment.
Input tokens: 62
Output tokens: 585
Elapsed time: 4.4s
Based on your description, here’s a summary of the situation:
This indicates that:
Most likely, the root cause is a VLAN mismatch, routing issue, or ACL blocking traffic between clients. Since the clients can reach the LNS, the link from them to the network is working, but internal segmentation or filtering is preventing client-client communication and LNS connectivity to clients.
Would you be able to provide:
This info could help diagnose more precisely.
Input tokens: 61
Output tokens: 2381
Elapsed time: 28.7s
Most likely it’s a routing/forwarding issue on the LNS side, not basic tunnel connectivity.
Typical causes:
Less often:
Since client → LNS ping works, the tunnel is up. Since LNS → client and client ↔ client fail, the problem is usually that the LNS is not routing subscriber traffic between sessions (or it’s being blocked).
If you want, I can help you check the Cisco LNS config/route table to pinpoint it.
Input tokens: 61
Output tokens: 4120
Elapsed time: 57s
A common reason this happens in an LAC/LNS lab setup is that each client’s PPP session is treated as a /32 (or unnumbered) interface from the LNS perspective. Although the clients can send traffic “up” to the LNS (and hence you can ping from prplOS to the LNS), there is no corresponding route (or ARP/bridging) on the LNS that allows it to reach back “down” to each client. Likewise, traffic from one PPP session to another is never switched at Layer 2 and has no Layer 3 routing path unless the LNS is explicitly configured to bridge or route between client subnets.
In other words:
This is a classic L2TP/PPPoE topology issue. Based on your description — one-directional reachability (prplOS → LNS works, but LNS → prplOS and client-to-client fail) — here are the most likely root causes:
The LNS needs to know how to reach the PPP client addresses. In L2TP, the LNS assigns IPs to clients but may not have proper ARP or routing entries back to them.
/32) on the LNS after PPP negotiationshow ip route on LNS — are client-assigned IPs present as connected/host routes?The LNS knows the client IPs (it assigned them), but the return path routing may be missing or pointing to the wrong interface.
show ip interface virtual-access X to confirm client IP bindingPPP clients behind the same LNS typically can’t communicate directly because:
ip unnumbered with proper connected routesIf uRPF is enabled on the LNS tunnel or WAN interface:
show interface virtual-template X | include verify or ip verify unicast sourcedebug ppp negotiation on LNSvirtual-template interface may permit outbound (client-initiated) but block inbound (LNS-initiated) ICMPshow ip interface virtual-template X | include access list| Check | Command |
|---|---|
| Are client IPs in LNS routing table? | show ip route (look for /32 hosts) |
| Is the session fully up? | show vpdn session / show l2tp session |
| Are virtual-access interfaces bound? | show ip interface brief | include Virtual |
| uRPF dropping traffic? | show ip interface virt-acc X |
| ACLs on virtual-template? | show run | section virtual-template |
| ICMP allowed through? | debug ip icmp on LNS while pinging |
Most probable single cause: missing /32 host routes for client IPs on the LNS, or client-to-client hairpinning not configured. Start there.
Token count: 2312 tokens
Cost: $0.059385
Duration: 23.2s
The symptom pattern (outbound works, inbound and lateral don’t) is a classic signature of ingress filtering on the PPP/WAN interface combined with the point-to-point nature of L2TP sessions.
ppp InterfaceOn prplOS, the PPP interface created by the L2TP client is placed in the wan firewall zone by default. That zone has:
INPUT = REJECT (or DROP) → blocks LNS-originated ping to the clientFORWARD = REJECT → blocks transit between clientsOUTPUT = ACCEPT → that’s why ping from prplOS to LNS worksThis alone explains all three symptoms you described, because the return ICMP echo-request never reaches the client’s network stack.
How to verify on prplOS
# Check which zone the ppp interface belongs to
fw3 print | grep -i ppp
uci show firewall | grep -i wan
# Watch drops live
logread -f &
iptables -L INPUT -v -n
nft list ruleset | grep -i ppp # if nftables
# Temporary test (do NOT leave enabled)
iptables -I INPUT -i ppp+ -p icmp -j ACCEPT
iptables -I FORWARD -i ppp+ -j ACCEPT
If ping from LNS starts working immediately, the firewall is confirmed as the cause.
Even after opening the firewall, client-to-client traffic needs the LNS to forward between two separate PPP sessions. Two common misconfigurations:
| Issue | Symptom | Fix on Cisco LNS |
|---|---|---|
| Clients in same subnet via local pool, no proxy-ARP | Client A can’t ARP/reach Client B | ip proxy-arp on Virtual-Template |
no ip routing or CEF issue on Virtual-Template |
No host routes installed per session | ip routing + verify show ip route \| inc Virtual-Access |
| Unicast RPF strict mode | Drops forwarded traffic | ip verify unicast source reachable-via rx allow-default or remove uRPF |
ACL on Virtual-Template |
Drops inter-session traffic | Inspect show access-list |
Check on the LNS:
show ip route | include Virtual-Access
show caller ip
show vpdn session
show interface Virtual-Access<n> | include proxy
You should see a /32 host route per connected client pointing at its own Virtual-Accessx interface. If those routes are missing → routing/PPP config issue. If they exist but traffic still fails → proxy-ARP or ACL.
L2TP+PPP overhead shrinks effective MTU to ~1460 or less. Ping works (small packets) but TCP sessions hang. Configure:
ppp-mss-clamp 1400 # or similar on the LNS Virtual-Template
ppp0 while LNS pings it:
tcpdump -ni ppp0 icmp
Repeat for client-to-client: capture on both ppp0 interfaces simultaneously to see where the packet disappears.
Primary cause: prplOS’s default wan firewall zone drops ingress and forward traffic on the ppp interface — this blocks LNS→client and client→client flows while leaving client→LNS intact.
Secondary cause (for inter-client only): the Cisco LNS may need ip proxy-arp on the Virtual-Template, or have uRPF/ACL that blocks forwarding between PPP sessions.
Start with the tcpdump on ppp0 — it will tell you in 10 seconds whether the issue is on the prplOS side or the Cisco side.
Token count: 4477 tokens
Cost: $0.00673426
Duration: 43.0s
Based on your description, this sounds like a classic L2TP (Layer 2 Tunneling Protocol) VPN setup with multiple prplOS clients connected to a Cisco LAC (L2TP Access Concentrator), which tunnels traffic to a Cisco LNS (L2TP Network Server). I’ll break down the problem, potential root causes, and troubleshooting steps. Keep in mind that prplOS is an open-source OS (often used in IoT devices like routers from the prpl Foundation), so it may have default network/firewall behaviors that affect reachability.
In a standard L2TPv2 setup (common for WAN/connections), each client has its own PPP session over the tunnel, which by default isolates them. Traffic isn’t automatically bridged or routed between peers unless explicitly configured. This explains why inter-client communication fails, and it also ties into the server-to-client ping failure.
Here are the most likely explanations, ranked by probability based on common L2TP issues:
Other factors like physical cabling (e.g., all clients on the same segment?) or interference aren’t implied here.
Use these steps in sequence to isolate the issue. Test incrementally and capture logs (e.g., via debug l2tp on Cisco devices or tcpdump on prplOS/LNX nodes).
show l2tp tunnel and show l2tp session to confirm sessions are active and check assigned IPs.ip addr show or equivalent to note assigned IPs and routes (e.g., is the default route pointing to the tunnel’s PPP interface?).ping <LNS_IP> with -c 4 (or IPsec if protecting L2TP).ping <client_IP> and check if it succeeds; use traceroute to see the path.show ip route to see if routes to client IPs exist (e.g., they should point to the virtual-access interface for that session). Add static routes if missing, e.g.:
ip route 192.168.1.10 255.255.255.255 Tunnel1 # Example for a client's IP via tunnel/LAC
ip proxy-arp (replaces the need for full routing).bridge-group 1) and assign virtual-access interfaces to it. This allows peers in the same group to communicate.show ip access-lists. Temporarily add a rule allowing ICMP (e.g., for ping):
access-list 101 permit icmp any any
Apply it to the interface.
iptables or nfsvc). Look for rules like -A INPUT -p icmp -j DROP blocking inbound pings. Change to allow:
iptables -A INPUT -p icmp --icmp-type echo-request -i <tunnel_interface> -j ACCEPT
debug ip icmp and debug l2tp packet to log ping failures, then reproduce.tcpdump on the LNS:
tcpdump -i <interface> icmp and host <client_IP>
Look for encapsulated traffic in the tunnel (UDP port 1701 for L2TP).
l2tp security if using IPsec, and document IP pools/route scopes.show run (redacted) or debug logs for deeper analysis. Remember, L2TP isn’t as “peer-connecting” as full mesh VPNs like DMVPN—explicit bridging/routing is key here.Token count: 842 tokens
Cost: $0.0011224
Duration: 4.6s
Based on your symptoms:
prplOS → LNS ping worksprplOS ↔ prplOS pings failLNS → prplOS pings failThis pattern strongly suggests a routing or forwarding issue on the LNS side, specifically that return traffic from LNS to prplOS clients is not properly routed. Since LNS can receive packets from prplOS clients (reverse path works), but cannot send packets to them (forward path broken), here are the most likely causes:
NoGRE/IP-in-IP decapsulation / tunnel interface misconfiguration
prplOS likely uses a tunnel interface (e.g., GRETAP, IP-over-IP) — if the LNS doesn’t properly configure the tunnel source/destination or doesn’t assign IP addresses correctly on tunnel interfaces, LNS won’t be able to forward traffic to the client.
LNS tunnel interface not in same subnet as prplOS clients
Common mistake: prplOS clients get IPs from pool X.X.X.0/24, but LNS tunnel interface is configured with Y.Y.Y.Y/30 — so LNS can’t reach client IPs.
rp_filter (reverse path filter) too strict, dropping return packetsip route or routing protocol adjacencyRun these on the LNS:
# 1. Check routes for client IP ranges
ip route show | grep -E "client_subnet|prpl"
# 2. Verify tunnel interface status and IP assignment
ip link show | grep -A2 tunnel
ip addr show dev <tunnel_iface>
# 3. Test LNS → client ping (with debug)
ping -I <tunnel_iface_ip> <client_ip>
# 4. Check if ICMP replies are being sent
tcpdump -ni any host <client_ip> and icmp
# 5. Check reverse path filtering
cat /proc/sys/net/ipv4/conf/all/rp_filter
Also check:
Option A: Add static route on LNS
ip route add <client_subnet>/24 dev <tunnel_iface>
Option B: Disable reverse path filtering (if policy allows)
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
Option C: Ensure tunnel interface IP is in same subnet as clients
ip addr add <LNS_tunnel_ip>/<prefix_len> dev <tunnel_iface>
Would you like to share your LNS tunnel configuration (e.g., ip addr, ip route, interface details) for a more precise diagnosis?
To troubleshoot the issue where you can ping from prplOS clients to the LNS (L2TP Network Server) but cannot ping between prplOS clients or from the LNS to any prplOS client, let’s consider the key components and their roles in an L2TP (Layer 2 Tunneling Protocol) setup, particularly when involving an LAC (L2TP Access Concentrator).
L2TP Basics: L2TP is used to create VPNs. The LAC is the device that initially connects to the client’s PPP (Point-to-Point Protocol) session and tunnels it to the LNS. The LNS is the endpoint of the L2TP tunnel and is where the PPP session is terminated.
LNS Configuration and Routing: For ping to work from a prplOS client to the LNS, the LNS is correctly configured to accept L2TP connections, and routing is properly set up on the client side. However, the inability to ping between prplOS clients or from the LNS to clients indicates a potential issue with how the LNS handles or routes traffic between clients or back to them.
Here are several potential root causes for the issue:
By systematically checking these potential causes and performing the corresponding troubleshooting steps, you should be able to identify and resolve the issue preventing communication between prplOS clients and from the LNS to clients.
This is a classic symptom of a missing or misconfigured routing or ARP resolution path in a L2TP (Layer 2 Tunneling Protocol) network — which is exactly what Cisco LAC (L2TP Access Concentrator) and LNS (L2TP Network Server) implement. Your observation:
…strongly suggests that the L2TP tunnel is established and IP-layer connectivity from client to LNS is functional, but the LNS is not correctly forwarding or routing traffic between clients — or the clients are not on the same IP subnet, or ARP resolution is failing within the tunnel.
Client A → LAC (encapsulated in L2TP) → LNS → ??? → Client B10.0.0.0/24) but the clients are configured with IPs outside that pool (e.g., 192.168.1.0/24), then:
✅ Check: On the LNS, run
show ip routeorshow ip interface briefand verify that the client IPs are in a subnet directly connected to the LNS (e.g., via a virtual-access interface or loopback).
✅ Check: On Cisco LNS, verify proxy-ARP is enabled:
show running-config | include proxy-arpIf not, enable it on the relevant interface (e.g., virtual-template or loopback used for client termination):
interface Virtual-Template1 ip proxy-arp
10.0.0.2/24 (assigned by LNS)10.0.1.2/24 (assigned by LNS)✅ Check: Are all clients getting IPs from the same subnet? If not, you need either:
- A single IP pool for all clients (recommended for direct client-client comms), OR
- Static routes on the LNS pointing to each client subnet via the appropriate virtual-access interface.
✅ Check:
show access-lists show ip interface Virtual-Template1Look for
ip access-groupin/out and verify it’s not blocking intra-subnet traffic.
iptables or nftables rules blocking:
✅ Check: On prplOS client, run:
tcpdump -i any icmpThen ping from LNS → client.
If you see no packets arriving at the client → LNS is not sending them (routing/ARP issue).
If you see packets arriving but no reply → client firewall or stack is dropping reply.
✅ Check: On LNS:
show vpdn session show vpdn tunnel show ip interface brief | include Virtual-AccessLook for the client’s IP under
show ip interface Virtual-AccessX→ should be listed asInternet address is .../...
| Step | Command | Expected Outcome if Healthy |
|---|---|---|
| 1 | On LNS: show ip route |
Client IPs appear in directly connected subnets (e.g., C 10.0.0.0/24 is directly connected, Virtual-Access1) |
| 2 | On LNS: show arp |
Client IPs have MAC addresses learned (not Incomplete) |
| 3 | On LNS: ping <client-ip> |
Should succeed (you said this fails → so this is your key test) |
| 4 | On LNS: debug vpdn event + debug vpdn packet |
See if L2TP packets are being decapsulated and routed correctly |
| 5 | On prplOS client: tcpdump -i any icmp |
Ping from LNS → client: see ICMP request arrive? If not → LNS not sending. If yes but no reply → client firewall. |
| 6 | On LNS: show running-config | include proxy-arp |
Must be enabled on interface terminating clients |
| 7 | On LNS: show ip interface Virtual-Template1 |
Check for ip proxy-arp, ip address, and no ip redirects (sometimes redirects break things) |
Assuming you’re using standard L2TP over PPP (most common with Cisco LNS):
Ensure all clients get IPs from the **same subnet (e.g., 10.0.0.0/24)**
→ Configure LNS to assign from a single IP pool via ip local pool or DHCP.
interface Virtual-Template1
ip proxy-arp
Verify no ACL is blocking ICMP or IP between clients
→ Remove or adjust ACLs if present.
Check that client IPs appear in show ip route and show arp on LNS
→ If not, the IPCP negotiation is failing — check PPP debugs.
telnet or http between clients. If TCP works but ICMP doesn’t, it’s likely an ACL blocking ICMP specifically.✅ The LNS does not have proxy-ARP enabled, and/or clients are not in the same IP subnet as seen by the LNS.
This causes:
On the Cisco LNS:
configure terminal
interface Virtual-Template1 ! or whatever template you're using
ip proxy-arp
end
write memory
Then:
clear vpdn tunnel *ping between clients and ping from LNS to client.If it works → proxy-ARP was the issue.
If not → check IP pool assignment and routing.
Let me know your LNS config snippet (virtual-template, ip local pool, vpdn group) if you need more targeted help!
When prplOS clients can ping the LNS (L2TP Network Server) but cannot ping each other or be pinged from the LNS, the issue is likely related to routing, NAT, or L2TP configuration on the Cisco LAC (L2TP Access Concentrator) or LNS. Here are the most common root causes and troubleshooting steps:
ip local pool and peer default ip address settings.show ppp all or show l2tp session all to verify that all prplOS clients are connected and have valid IPs.show ip route on the LNS to confirm that routes to the client subnet exist.show running-config | include l2tp
show running-config | include virtual-template
show running-config | include ip local pool
show interface virtual-access
show ip interface brief
| Symptom | Likely Cause | Solution |
|---|---|---|
| Can ping LNS but not other clients | Missing inter-client routing | Add static routes or enable inter-client comms |
| Can’t ping from LNS to clients | Missing reverse route or NAT issue | Add route on LNS, check NAT/firewall |
| All pings fail | L2TP session not established | Check L2TP auth, IP pool, and session limits |
Next Steps: