narrowlink/ipstack

Occasional hiccups

Closed this issue · 2 comments

It sometimes hiccups and all connections are disconnected (probably RSTs sent by my browser) . Dup ACKs seen in wireshark (is that an issue).

2023-12-14T14:42:16.251393Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:42:16.255088Z  INFO tun2socks5: Beginning #851 TCP 100.64.0.2:52676 -> users.rust-lang.org.:443
2023-12-14T14:42:16.510282Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:42:16.513371Z  INFO tun2socks5: Beginning #853 TCP 100.64.0.2:52680 -> users.rust-lang.org.:443
2023-12-14T14:42:38.336494Z  INFO tun2socks5::dns: VirtDNS app.element.io.
2023-12-14T14:42:38.339106Z  INFO tun2socks5: Beginning #855 TCP 100.64.0.2:47724 -> app.element.io.:443
2023-12-14T14:43:07.890322Z  INFO tun2socks5: Ending #851 TCP 100.64.0.2:52676 -> users.rust-lang.org.:443 with Err(Kind(ConnectionReset))
2023-12-14T14:43:10.572166Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:10.573730Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:10.590936Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:10.591582Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:10.596778Z  INFO tun2socks5: Beginning #858 TCP 100.64.0.2:56078 -> alive.github.com.:443
2023-12-14T14:43:10.843973Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:10.849694Z  INFO tun2socks5: Beginning #860 TCP 100.64.0.2:56084 -> alive.github.com.:443
2023-12-14T14:43:16.365158Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:16.366238Z  INFO tun2socks5: Beginning #862 TCP 100.64.0.2:36138 -> users.rust-lang.org.:443
2023-12-14T14:43:16.616361Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:16.617521Z  INFO tun2socks5: Beginning #864 TCP 100.64.0.2:36152 -> users.rust-lang.org.:443
2023-12-14T14:43:21.620581Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:21.621234Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:21.625512Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:21.626216Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:43:29.855512Z  INFO tun2socks5: Ending #864 TCP 100.64.0.2:36152 -> users.rust-lang.org.:443 with Err(Kind(ConnectionReset))
2023-12-14T14:43:31.065390Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:31.068043Z  INFO tun2socks5: Beginning #868 TCP 100.64.0.2:47446 -> alive.github.com.:443
2023-12-14T14:43:31.317814Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:31.320797Z  INFO tun2socks5: Beginning #870 TCP 100.64.0.2:47448 -> alive.github.com.:443
2023-12-14T14:43:37.333907Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:37.335195Z  INFO tun2socks5: Beginning #872 TCP 100.64.0.2:47454 -> alive.github.com.:443
2023-12-14T14:43:38.569204Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:38.571186Z  INFO tun2socks5: Beginning #874 TCP 100.64.0.2:59400 -> alive.github.com.:443
2023-12-14T14:43:42.667676Z  INFO tun2socks5::dns: VirtDNS alive.github.com.
2023-12-14T14:43:42.670153Z  INFO tun2socks5: Beginning #876 TCP 100.64.0.2:59408 -> alive.github.com.:443
2023-12-14T14:43:45.960835Z  INFO tun2socks5: Ending #849 TCP 100.64.0.2:56132 -> users.rust-lang.org.:443 with Ok((1113, 4753))
2023-12-14T14:43:45.961720Z  INFO tun2socks5: Ending #847 TCP 100.64.0.2:56116 -> users.rust-lang.org.:443 with Ok((2197, 5362))
2023-12-14T14:43:45.961721Z  INFO tun2socks5: Ending #858 TCP 100.64.0.2:56078 -> alive.github.com.:443 with Ok((2035, 3538))
2023-12-14T14:43:45.961790Z  INFO tun2socks5: Ending #853 TCP 100.64.0.2:52680 -> users.rust-lang.org.:443 with Ok((1113, 4753))
2023-12-14T14:43:45.961852Z  INFO tun2socks5: Ending #839 TCP 100.64.0.2:38660 -> cf-hls-media.sndcdn.com.:443 with Ok((3955, 322102))
2023-12-14T14:43:45.961925Z  INFO tun2socks5: Ending #827 TCP 100.64.0.2:53334 -> i1.sndcdn.com.:443 with Ok((1730, 137585))
2023-12-14T14:43:45.962167Z  INFO tun2socks5: Ending #860 TCP 100.64.0.2:56084 -> alive.github.com.:443 with Ok((923, 3230))
2023-12-14T14:43:45.962232Z  INFO tun2socks5: Ending #845 TCP 100.64.0.2:34514 -> users.rust-lang.org.:443 with Ok((1113, 4753))
2023-12-14T14:43:45.962292Z  INFO tun2socks5: Ending #835 TCP 100.64.0.2:44440 -> app.element.io.:443 with Ok((2027, 2027))
2023-12-14T14:43:45.962459Z  INFO tun2socks5: Ending #825 TCP 100.64.0.2:34190 -> i1.sndcdn.com.:443 with Ok((1853, 7486))
2023-12-14T14:43:45.962561Z  INFO tun2socks5: Ending #843 TCP 100.64.0.2:34504 -> users.rust-lang.org.:443 with Ok((2197, 5362))
2023-12-14T14:43:45.962577Z  INFO tun2socks5: Ending #823 TCP 100.64.0.2:36304 -> alive.github.com.:443 with Ok((12501, 3909))
2023-12-14T14:43:45.962619Z  INFO tun2socks5: Ending #841 TCP 100.64.0.2:47482 -> users.rust-lang.org.:443 with Ok((2197, 5362))
2023-12-14T14:43:45.962689Z  INFO tun2socks5: Ending #837 TCP 100.64.0.2:60474 -> users.rust-lang.org.:443 with Ok((2197, 5384))
2023-12-14T14:44:05.121282Z  INFO tun2socks5: Ending #832 TCP 100.64.0.2:53312 -> matrix-client.matrix.org.:443 with Err(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })
2023-12-14T14:44:05.155687Z  INFO tun2socks5: Beginning #877 TCP 100.64.0.2:53312 -> matrix-client.matrix.org.:443
2023-12-14T14:44:10.264184Z  INFO tun2socks5::dns: VirtDNS matrix-client.matrix.org.
2023-12-14T14:44:10.267608Z  INFO tun2socks5: Beginning #879 TCP 100.64.0.2:33374 -> matrix-client.matrix.org.:443
2023-12-14T14:44:12.018004Z  INFO tun2socks5: Ending #820 TCP 100.64.0.2:51716 -> api-v2.soundcloud.com.:443 with Err(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })
2023-12-14T14:44:12.227567Z  INFO tun2socks5: Beginning #880 TCP 100.64.0.2:51716 -> api-v2.soundcloud.com.:443
2023-12-14T14:44:16.510491Z  INFO tun2socks5: Ending #862 TCP 100.64.0.2:36138 -> users.rust-lang.org.:443 with Err(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })
2023-12-14T14:44:16.512061Z  INFO tun2socks5: Beginning #881 TCP 100.64.0.2:36138 -> users.rust-lang.org.:443
2023-12-14T14:44:34.945035Z  INFO tun2socks5::dns: VirtDNS www.schemastore.org.
2023-12-14T14:44:34.945390Z  INFO tun2socks5::dns: VirtDNS www.schemastore.org.
2023-12-14T14:44:34.947972Z  INFO tun2socks5: Beginning #883 TCP 100.64.0.2:51634 -> www.schemastore.org.:443
2023-12-14T14:44:42.014488Z  INFO tun2socks5::dns: VirtDNS api-v2.soundcloud.com.
2023-12-14T14:44:42.017691Z  INFO tun2socks5: Beginning #885 TCP 100.64.0.2:45328 -> api-v2.soundcloud.com.:443
2023-12-14T14:44:45.024747Z  INFO tun2socks5: Ending #855 TCP 100.64.0.2:47724 -> app.element.io.:443 with Err(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })
2023-12-14T14:44:45.026625Z  INFO tun2socks5: Beginning #886 TCP 100.64.0.2:47724 -> app.element.io.:443
2023-12-14T14:44:52.515949Z  INFO tun2socks5::dns: VirtDNS github.com.
2023-12-14T14:44:52.516426Z  INFO tun2socks5::dns: VirtDNS github.com.
2023-12-14T14:44:52.518198Z  INFO tun2socks5: Beginning #888 TCP 100.64.0.2:51204 -> github.com.:443
2023-12-14T14:44:54.111087Z  INFO tun2socks5::dns: VirtDNS github.com.
2023-12-14T14:44:54.111521Z  INFO tun2socks5::dns: VirtDNS github.com.
2023-12-14T14:44:54.113573Z  INFO tun2socks5: Beginning #890 TCP 100.64.0.2:51206 -> github.com.:443
2023-12-14T14:44:59.450898Z  INFO tun2socks5::dns: VirtDNS github.com.
2023-12-14T14:44:59.454295Z  INFO tun2socks5: Beginning #892 TCP 100.64.0.2:47672 -> github.com.:443
2023-12-14T14:44:59.704384Z  INFO tun2socks5: Beginning #893 TCP 100.64.0.2:47674 -> github.com.:443
2023-12-14T14:45:16.529865Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:45:16.533169Z  INFO tun2socks5: Beginning #895 TCP 100.64.0.2:56604 -> users.rust-lang.org.:443
2023-12-14T14:45:16.782877Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:45:16.785415Z  INFO tun2socks5: Beginning #897 TCP 100.64.0.2:56608 -> users.rust-lang.org.:443
2023-12-14T14:46:16.588761Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:46:16.591404Z  INFO tun2socks5: Beginning #899 TCP 100.64.0.2:46582 -> users.rust-lang.org.:443
2023-12-14T14:46:25.947114Z  INFO tun2socks5::dns: VirtDNS cf-hls-media.sndcdn.com.
2023-12-14T14:46:25.951157Z  INFO tun2socks5: Beginning #901 TCP 100.64.0.2:35340 -> cf-hls-media.sndcdn.com.:443
2023-12-14T14:46:26.191013Z  INFO tun2socks5: Ending #901 TCP 100.64.0.2:35340 -> cf-hls-media.sndcdn.com.:443 with Err(Kind(ConnectionReset))
2023-12-14T14:46:26.786957Z  INFO tun2socks5: Beginning #902 TCP 100.64.0.2:35352 -> cf-hls-media.sndcdn.com.:443
2023-12-14T14:46:26.941162Z  INFO tun2socks5: Beginning #903 TCP 100.64.0.2:35358 -> cf-hls-media.sndcdn.com.:443
2023-12-14T14:46:26.969205Z  INFO tun2socks5: Ending #902 TCP 100.64.0.2:35352 -> cf-hls-media.sndcdn.com.:443 with Err(Kind(ConnectionReset))
2023-12-14T14:46:37.072280Z  INFO tun2socks5::dns: VirtDNS i1.sndcdn.com.
2023-12-14T14:46:37.074764Z  INFO tun2socks5: Beginning #905 TCP 100.64.0.2:51098 -> i1.sndcdn.com.:443
2023-12-14T14:46:37.324937Z  INFO tun2socks5: Beginning #906 TCP 100.64.0.2:51106 -> i1.sndcdn.com.:443
2023-12-14T14:47:26.754801Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:47:26.759870Z  INFO tun2socks5: Beginning #908 TCP 100.64.0.2:53150 -> users.rust-lang.org.:443
2023-12-14T14:47:27.008053Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:47:27.010622Z  INFO tun2socks5: Beginning #910 TCP 100.64.0.2:53164 -> users.rust-lang.org.:443
2023-12-14T14:49:16.839886Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:49:16.842719Z  INFO tun2socks5: Beginning #912 TCP 100.64.0.2:58116 -> users.rust-lang.org.:443
2023-12-14T14:49:17.092746Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:49:17.095969Z  INFO tun2socks5: Beginning #914 TCP 100.64.0.2:58132 -> users.rust-lang.org.:443
2023-12-14T14:50:16.848439Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:50:16.849631Z  INFO tun2socks5: Beginning #916 TCP 100.64.0.2:41744 -> users.rust-lang.org.:443
2023-12-14T14:50:17.100684Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:50:17.103774Z  INFO tun2socks5: Beginning #918 TCP 100.64.0.2:41758 -> users.rust-lang.org.:443
2023-12-14T14:50:19.267422Z  INFO tun2socks5::dns: VirtDNS i1.sndcdn.com.
2023-12-14T14:50:19.273461Z  INFO tun2socks5: Beginning #920 TCP 100.64.0.2:41526 -> i1.sndcdn.com.:443
2023-12-14T14:50:19.283183Z  INFO tun2socks5::dns: VirtDNS cf-hls-media.sndcdn.com.
2023-12-14T14:50:19.287680Z  INFO tun2socks5: Beginning #922 TCP 100.64.0.2:40082 -> cf-hls-media.sndcdn.com.:443
2023-12-14T14:50:19.324048Z  INFO tun2socks5::dns: VirtDNS i1.sndcdn.com.
2023-12-14T14:50:19.326937Z  INFO tun2socks5: Beginning #924 TCP 100.64.0.2:41538 -> i1.sndcdn.com.:443
2023-12-14T14:50:19.627245Z  INFO tun2socks5: Beginning #925 TCP 100.64.0.2:41548 -> i1.sndcdn.com.:443
2023-12-14T14:50:19.634532Z  INFO tun2socks5: Beginning #926 TCP 100.64.0.2:40096 -> cf-hls-media.sndcdn.com.:443
2023-12-14T14:51:16.877662Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:51:16.878876Z  INFO tun2socks5: Beginning #928 TCP 100.64.0.2:54390 -> users.rust-lang.org.:443
2023-12-14T14:52:16.967674Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:52:16.970473Z  INFO tun2socks5: Beginning #930 TCP 100.64.0.2:48006 -> users.rust-lang.org.:443
2023-12-14T14:52:38.323084Z  INFO tun2socks5::dns: VirtDNS app.element.io.
2023-12-14T14:52:38.326926Z  INFO tun2socks5: Beginning #932 TCP 100.64.0.2:48694 -> app.element.io.:443
2023-12-14T14:52:38.575977Z  INFO tun2socks5::dns: VirtDNS app.element.io.
2023-12-14T14:52:38.578629Z  INFO tun2socks5: Beginning #934 TCP 100.64.0.2:48698 -> app.element.io.:443
2023-12-14T14:53:17.011362Z  INFO tun2socks5::dns: VirtDNS users.rust-lang.org.
2023-12-14T14:53:17.013927Z  INFO tun2socks5: Beginning #936 TCP 100.64.0.2:51022 -> users.rust-lang.org.:443
2023-12-14T14:53:51.152514Z  INFO tun2socks5: Ending #278 TCP 100.64.0.2:44338 -> push.services.mozilla.com.:443 with Err(Kind(TimedOut))
2023-12-14T14:54:07.173040Z  INFO tun2socks5: Ending #721 TCP 100.64.0.2:49712 -> push.services.mozilla.com.:443 with Err(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })

I believe my upstream proxy is working properly. It either doesn't work at all or work stably speaking from my experience.

Maybe the lib can keep a window of pcap in memory and dump it when active RSTs happen. That would be helpful as I dont want to keep wireshark open all the time. It may be a problem on my part. I'm not sure whats happening but in general it's clunky.

Closing because there is some more to say, to avoid confusion

The dup acks are fine. I also have noticed similar thing on narrowlink, which most likely is related to the ipstack. I would like to continue the investigation to identify the root cause of the issue.