Hi Rich. In retrospect my previous post was not helpful. Please delete it.
In case you are interested, I did some more experiments to try to understand the issue. First I calculated the MTU between my home and 8.8.8.8 (using this as a guide:
https://www.comparitech.com/net-admin/determine-mtu-size-using-ping). Here are the final two steps that lead to the answer (ping here is Devuan's more full-featured version):
devuan_laptop$ ping -M do -s 1392 -c 5 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 1392(1420) bytes of data.
1400 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=25.5 ms
1400 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=18.9 ms
1400 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=19.5 ms
1400 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=18.3 ms
1400 bytes from 8.8.8.8: icmp_seq=5 ttl=117 time=36.5 ms
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 18.335/23.739/36.512/6.879 ms
devuan_laptop$ ping -M do -s 1393 -c 5 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 1393(1421) bytes of data.
ping: sendmsg: Message too long
ping: sendmsg: Message too long
ping: sendmsg: Message too long
ping: sendmsg: Message too long
ping: sendmsg: Message too long
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4102ms
According to the guide at the link, to calculate MTU I should add 28 bytes (for TCP and IP headers) to the maximum packet size that can be sent via ping without fragmentation. So:
1392 + 28 = 1420 bytes. This confirms what I thought: Because of wireguard running in my router, the MTU between my wireless clients at home and WLAN is 1420 bytes.
Next, I went to my workplace where everything is very vanilla (including router and MTU). I just wanted to see if there is any difference in the packet sizes in Devuan <-> forum.tinycorelinux.net traffic compared to TCL <-> forum.tinycorelinux.net traffic:
For Devuan:
$ sudo tcpdump -c 500 -i wlan0 dst 217.160.150.65 or src 217.160.150.65 >devuan.txt 2>&1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
09:47:10.980391 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [S], seq 207632985, win 64240, options [mss 1460,sackOK,TS val 1633752549 ecr 0,nop,wscale 7], length 0
09:47:10.991469 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [S.], seq 666093319, ack 207632986, win 65160, options [mss 1250,sackOK,TS val 877561695 ecr 1633752549,nop,wscale 7], length 0
09:47:10.991500 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [.], ack 1, win 502, options [nop,nop,TS val 1633752560 ecr 877561695], length 0
09:47:10.991782 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [P.], seq 1:544, ack 1, win 502, options [nop,nop,TS val 1633752560 ecr 877561695], length 543
09:47:11.002736 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [.], ack 544, win 505, options [nop,nop,TS val 877561707 ecr 1633752560], length 0
09:47:11.003357 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [.], seq 1:1239, ack 544, win 505, options [nop,nop,TS val 877561709 ecr 1633752560], length 1238
09:47:11.003376 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [.], ack 1239, win 525, options [nop,nop,TS val 1633752572 ecr 877561709], length 0
09:47:11.006151 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 1239:2477, ack 544, win 505, options [nop,nop,TS val 877561709 ecr 1633752560], length 1238
09:47:11.006151 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 2477:3141, ack 544, win 505, options [nop,nop,TS val 877561709 ecr 1633752560], length 664
09:47:11.006162 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [.], ack 2477, win 539, options [nop,nop,TS val 1633752575 ecr 877561709], length 0
09:47:11.006172 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [.], ack 3141, win 534, options [nop,nop,TS val 1633752575 ecr 877561709], length 0
09:47:11.006422 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [P.], seq 544:608, ack 3141, win 539, options [nop,nop,TS val 1633752575 ecr 877561709], length 64
09:47:11.006639 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [P.], seq 608:700, ack 3141, win 539, options [nop,nop,TS val 1633752575 ecr 877561709], length 92
09:47:11.006801 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [P.], seq 700:1188, ack 3141, win 539, options [nop,nop,TS val 1633752575 ecr 877561709], length 488
09:47:11.016612 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [.], ack 1188, win 500, options [nop,nop,TS val 877561721 ecr 1633752575], length 0
09:47:11.016613 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 3141:3428, ack 1188, win 500, options [nop,nop,TS val 877561721 ecr 1633752575], length 287
09:47:11.016613 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 3428:3715, ack 1188, win 500, options [nop,nop,TS val 877561721 ecr 1633752575], length 287
09:47:11.016614 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 3715:3786, ack 1188, win 500, options [nop,nop,TS val 877561721 ecr 1633752575], length 71
09:47:11.016687 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [.], ack 3786, win 541, options [nop,nop,TS val 1633752585 ecr 877561721], length 0
09:47:11.016807 IP 10.1.72.248.48768 > mail.tinycorelinux.net.https: Flags [P.], seq 1188:1219, ack 3786, win 541, options [nop,nop,TS val 1633752585 ecr 877561721], length 31
09:47:11.032936 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 3786:6262, ack 1219, win 500, options [nop,nop,TS val 877561737 ecr 1633752585], length 2476
09:47:11.032937 IP mail.tinycorelinux.net.https > 10.1.72.248.48768: Flags [P.], seq 6262:7782, ack 1219, win 500, options [nop,nop,TS val 877561737 ecr 1633752585], length 1520
...
$ grep -Eo 'length [0-9]+' devuan.txt | sort -rn -k2 | head -n 25
length 262144
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 3714
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
For TCL:
$ sudo tcpdump -c 500 -i wlan0 dst 217.160.150.65 or src 217.160.150.65 >tcl.txt 2>&1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
09:54:59.353795 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [S], seq 2021830696, win 64240, options [mss 1460,sackOK,TS val 1547205637 ecr 0,nop,wscale 7], length 0
09:54:59.368915 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [S.], seq 678553525, ack 2021830697, win 65160, options [mss 1250,sackOK,TS val 878031089 ecr 1547205637,nop,wscale 7], length 0
09:54:59.368953 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [.], ack 1, win 502, options [nop,nop,TS val 1547205653 ecr 878031089], length 0
09:54:59.369379 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [.], seq 1:1239, ack 1, win 502, options [nop,nop,TS val 1547205653 ecr 878031089], length 1238
09:54:59.369382 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [P.], seq 1239:2085, ack 1, win 502, options [nop,nop,TS val 1547205653 ecr 878031089], length 846
09:54:59.383984 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [.], ack 1239, win 500, options [nop,nop,TS val 878031103 ecr 1547205653], length 0
09:54:59.383985 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [.], ack 2085, win 494, options [nop,nop,TS val 878031103 ecr 1547205653], length 0
09:54:59.383985 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 1:239, ack 2085, win 494, options [nop,nop,TS val 878031104 ecr 1547205653], length 238
09:54:59.384017 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [.], ack 239, win 501, options [nop,nop,TS val 1547205668 ecr 878031104], length 0
09:54:59.386618 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [P.], seq 2085:2149, ack 239, win 501, options [nop,nop,TS val 1547205670 ecr 878031104], length 64
09:54:59.386951 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [P.], seq 2149:2241, ack 239, win 501, options [nop,nop,TS val 1547205671 ecr 878031104], length 92
09:54:59.387300 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [P.], seq 2241:2749, ack 239, win 501, options [nop,nop,TS val 1547205671 ecr 878031104], length 508
09:54:59.398854 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [.], ack 2749, win 489, options [nop,nop,TS val 878031122 ecr 1547205670], length 0
09:54:59.398857 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 239:526, ack 2749, win 489, options [nop,nop,TS val 878031122 ecr 1547205670], length 287
09:54:59.398858 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 526:597, ack 2749, win 489, options [nop,nop,TS val 878031123 ecr 1547205670], length 71
09:54:59.399037 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [.], ack 597, win 501, options [nop,nop,TS val 1547205683 ecr 878031122], length 0
09:54:59.399147 IP 10.1.72.248.37954 > mail.tinycorelinux.net.https: Flags [P.], seq 2749:2780, ack 597, win 501, options [nop,nop,TS val 1547205683 ecr 878031122], length 31
09:54:59.420017 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 597:3073, ack 2780, win 489, options [nop,nop,TS val 878031142 ecr 1547205683], length 2476
09:54:59.420020 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 3073:4593, ack 2780, win 489, options [nop,nop,TS val 878031142 ecr 1547205683], length 1520
09:54:59.420022 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 4593:7069, ack 2780, win 489, options [nop,nop,TS val 878031142 ecr 1547205683], length 2476
09:54:59.420023 IP mail.tinycorelinux.net.https > 10.1.72.248.37954: Flags [P.], seq 7069:7606, ack 2780, win 489, options [nop,nop,TS val 878031142 ecr 1547205683], length 537
...
$ grep -Eo 'length [0-9]+' tcl.txt | sort -rn -k2 | head -n 25
length 3714
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
length 2476
So, to my surprise, there are large packets (>1420 bytes, even >1500 bytes) traveling between my laptop and forum.tinycorelinux.net, regardless of whether I'm running Devuan or TCL.
To summarize, here are the things I know for sure:
1. MTU between my wireless clients at home and 8.8.8.8 (which is presumably representative of WLAN) is 1420 bytes
2. Without a "mss clamp" rule in my router's firewall, I can reach forum.tinycorelinux.net in any browser when using TCL
3. Without a "mss clamp" rule in my router's firewall, I cannot reach forum.tinycorelinux.net when using Devuan or Android (I tested multiple browsers)
4. With a "mss clamp" rule in my router's firewall, I can reach forum.tinycorelinux.net using any device/OS/browser
Based on the result of the tcpdumps above, it seems Devuan's packet sizes are
not larger than TCL's packet sizes (rather than one packet measuring 262144 bytes for which I don't have a good explanation).
Conclusion:I know that an mss clamp in my router's firewall is what I need for all websites to be reachable from all devices, but I do not have a good explanation for why that's the case. It does not seem to have anything to do with packet sizes--but I'm a total tcpdump newbie so I may be misinterpreting its data. If one of you gurus has an explanation for how/why the mss clamp is needed, please do share.