[SOLVED] Android randomly stopped connecting to IPv6 proftpd server ONLY over 4G????
Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Android randomly stopped connecting to IPv6 proftpd server ONLY over 4G????
here's a weird one. as usual, i changed absolutely nothing about either my proftpd server config or my Verizon Galaxy S4 phone. I have a proftpd server hosted on a Linux server connected directly to a Comcast modem, no router involved. The server runs on port 30000, and forces passive mode with a required password login, and only gives read-access to a non-writable NTFS-formatted hard drive. Everything was working fine yesterday; i wake up today, and the phone will not connect. Weirdly, it WILL connect if it is on a Wi-Fi connection with IPv6. But if the phone is connected via LTE, i cannot.
Nothing is shown in the logs, and packet traces show 0-length TCP packets being exchanged between the server and client on port 30000, until the client gives up; passive mode never begins. I have tried 3 different FTP clients on the phone, and none are able to access. The phone can access the server via IPv4 absolutely fine.
/etc/proftpd.conf:
Code:
ServerName ""
ServerType standalone
DefaultServer on
Port 30000
LogFormat %a %h %l %u %t \"%r\" %s %b
UseIPv6 on
Umask 022
MaxInstances 100
User nobody
Group nobody
AllowOverwrite off
AllowRetrieveRestart on
RequireValidShell off
TimeoutIdle 300
TimeoutNoTransfer 300
TimeoutLogin 300
UseReverseDNS off
SystemLog /var/log/ftp.log
#SystemLog /dev/null
TransferLog /var/log/transfer.log
ExtendedLog /var/log/extftp.log
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
<Limit LOGIN>
AllowUser ftp
DenyAll
</Limit>
<Limit EPRT PORT>
DenyAll
</Limit>
<Anonymous /mnt/usb>
User ftp
Group ftp
UserAlias anonymous ftp
AnonRequirePassword yes
</Anonymous>
Proftpd logs absolutely nothing in /var/log/ftp.log. i would post client connection logs from Android, but none of the (horridly wretched, btw) FTP clients i've tried give you access to any. (I've tried AndFTP, Astaro File Manager, and ES File Explorer). Both the proftpd daemon and the server itself have been restarted, as has the phone.
Last edited by psycroptic; 09-13-2014 at 03:34 PM.
There's nothing in the Proftpd log because the TCP handshake is never completed. The client sends a SYN packet to the server, which responds with a SYN/ACK, and that's it. The next thing that happens is that the client resends the same SYN packet.
Something, possibly (or even probably) a router/component on the 4G provider network, is filtering the SYN/ACK response from the server and prevents it from ever reaching the client.
It is possible for a routing error to manifest itself in one direction only. Have you tried a traceroute6 from the server to the phone?
Not necessarily. The last router to respond is a Level3 router, but what about the next one?
A trace in the other direction may tell you what the next step is supposed to be. Remember you'll be seeing the same routers from the opposite side, so the IPv6 addresses will differ from those in the first trace. The networks will be the same, though... unless routing is asymmetric, in which case the trace will tell you absolutely nothing.
A BGP looking glass server should tell you if 2600:1004:b107:5eff::/64 (or 2600:1004:b107::/48 or whatever) is being advertised properly. In any case, the fault most likely lies with the 4G provider, and you should report the problem to them.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.