The server in Shanghai has this problem, but the same configuration is correct on servers in other regions,
It seems that the client cannot receive the SYN + ACK sent by the server. Is it blocked?
THX.
server trace log:
# RUST_LOG=trace phantun_server --local 21080 --remote 127.0.0.1:41111
INFO server > Remote address is: 127.0.0.1:41111
INFO server > 4 cores available
DEBUG neli::socket > Message sent:
Nlmsghdr { nl_len: 64, nl_type: Newaddr, nl_flags: NlmFFlags(FlagBuffer(1, PhantomData<neli::consts::nl::NlmF>)), nl_seq: 0, nl_pid: 0, nl_payload: Payload(Ifaddrmsg { ifa_family: Inet6, ifa_prefixlen: 128, ifa_flags: IfaFFlags(FlagBuffer(0, PhantomData<neli::consts::rtnl::IfaF>)), ifa_scope: 0, ifa_index: 14, rtattrs: RtBuffer([Rtattr { rta_len: 20, rta_type: Local, rta_payload: Buffer }, Rtattr { rta_len: 20, rta_type: Address, rta_payload: Buffer }]) }) }
INFO server > Created TUN device tun0
INFO server > Listening on 21080
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Waiting for client ACK timed out
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
TRACE fake_tcp > Storing connection information into local tuples
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Waiting for client ACK timed out
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Fake TCP connection to (Fake TCP connection from 192.168.201.2:21080 to my_.router.public.ip:10841) closed
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Waiting for client ACK timed out
INFO fake_tcp > Sent SYN + ACK to client
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
TRACE fake_tcp > Storing connection information into local tuples
INFO fake_tcp > Fake TCP connection to (Fake TCP connection from 192.168.201.2:21080 to my_.router.public.ip:10841) closed
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:10841 }
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Waiting for client ACK timed out
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
TRACE fake_tcp > Storing connection information into local tuples
INFO fake_tcp > Sent SYN + ACK to client
INFO fake_tcp > Waiting for client ACK timed out
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:28677 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:28677 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:28677 }
INFO fake_tcp > Fake TCP connection to (Fake TCP connection from 192.168.201.2:21080 to my_.router.public.ip:28677) closed
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.201.2:21080, remote_addr: my_.router.public.ip:28677 }
TRACE fake_tcp > Cache miss, checking the shared tuples table for connection
client trace log:
# RUST_LOG=trace /data/runtime/phantun_client --local 127.0.0.1:12080 --remote remote.host.ip:21080
INFO client > Remote address is: remote.host.ip:21080
INFO client > 4 cores available
TRACE mio::poll > registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
TRACE mio::poll > registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
TRACE mio::poll > registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
TRACE mio::poll > registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
INFO client > Created TUN device tun0
TRACE mio::poll > registering event source with poller: token=Token(5), interests=READABLE | WRITABLE
INFO client > New UDP client from 127.0.0.1:59184
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
INFO fake_tcp > Fake TCP connection to (Fake TCP connection from 192.168.200.2:10841 to remote.host.ip:21080) closed
ERROR client > Unable to connect to remote remote.host.ip:21080
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:10841, remote_addr: remote.host.ip:21080 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:10841, remote_addr: remote.host.ip:21080 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:10841, remote_addr: remote.host.ip:21080 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:10841, remote_addr: remote.host.ip:21080 }
INFO client > New UDP client from 127.0.0.1:59184
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
INFO fake_tcp > Sent SYN to server
INFO fake_tcp > Waiting for SYN + ACK timed out
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:28677, remote_addr: remote.host.ip:21080 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:28677, remote_addr: remote.host.ip:21080 }
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:28677, remote_addr: remote.host.ip:21080 }
INFO fake_tcp > Fake TCP connection to (Fake TCP connection from 192.168.200.2:28677 to remote.host.ip:21080) closed
ERROR client > Unable to connect to remote remote.host.ip:21080
TRACE fake_tcp > Removed cached tuple: AddrTuple { local_addr: 192.168.200.2:28677, remote_addr: remote.host.ip:21080 }
INFO client > New UDP client from 127.0.0.1:59184
INFO fake_tcp > Sent SYN to server
The server in Shanghai has this problem, but the same configuration is correct on servers in other regions,
It seems that the client cannot receive the SYN + ACK sent by the server. Is it blocked?
THX.
server trace log:
client trace log:
server tcpdump
client tcpdump