I had a Linode running in the Tokyo facility and I received two reports from two friends that they were not able to access my website, ping my Linode or connect to any open port on my Linode. I created the open ports using netcat. e.g. nc -vv -lp 9090.
Precise symptoms of the problem:
- These two users were able to access all websites except mine.
- They were unable to ping my domain name or my Linode's IP address.
- They were unable to ping or traceroute tokyo10.linode.com. But they were able to ping or traceroute london356.linode.com.
- My domain name was correctly resolving to my Linode's IP address on their systems. Confirmed this with nslookup, ping, etc.
- Both these users were in the US.
- Both these users were unable to connect to or access my Linode only from a particular network. For example, one was able to access my website from her home network but not from her university network using the same laptop. The other was able to access my website from his office network but not from his home network using the same laptop.
- All other users except these two users were able to access my website.
- Trace routes were giving up with lots of time-outs after some hops. Trace routes for one friend showed *.verizon-gni.net and *.qwest.net routers. Trace routes for another friend showed nothing but university routers.
- I installed Debian on my Linode. It had the default configuration. I didn't setup iptables or anything like it which could have caused the issue.
I don't exactly know what caused the problem. It would have been nice to have them run WinMTR to know exactly which router was causing the issue during trace route but I wanted to resolve the issue as soon as possible without burdening them with troubleshooting work.
The only reason that seemed likely to me was that some router in between was transmitting packets to a network segment that were larger than the segment's MTU. I couldn't confirm this hypothesis.
However, assuming this hypothesis to be true, I decided to migrate my Linode from Tokyo facility to London facility and this fixed the issue as soon as the migration was complete.
Update: Had a chat about it on IRC. Linode staff informed me that they have seen this issue earlier with Tokyo IP ranges. They said that Qwest/Verizon are doing some kind of source IP filtering that causes the packets coming from Tokyo to Qwest/Verizon to be dropped.