IrishVPN vs NordVPN in China
Published June 29, 2026 • Updated June 30, 2026
Testing the two VPN providers
In this real world OpenWrt router test from China, IrishVPN and NordVPN produced very different outcomes under the same practical conditions. IrishVPN connected successfully and provided a stable, usable tunnel, while repeated NordVPN tests using their Seoul, Ireland, and Hong Kong servers showed different failures: TLS handshake timeout, unstable low-quality connection, and stalled TCP connection attempt.
One issue is that NordVPN does not offer WireGuard config files as mentioned on their site:
https://nordvpn.com/blog/nordvpn-config-files/
IrishVPN does provide WireGuard connection files which can be imported to any device (router, mobile, laptop, etc) that supports WireGuard.
The first NordVPN attempt used Seoul based servers. In this case, the connection failed during the TLS negotiation stage and did not establish a working tunnel. That outcome suggests the router could reach the remote endpoint well enough to begin the process, but the session never completed. In practical terms, the Seoul test was a connection failure.
The next NordVPN test used an Ireland-based server over OpenVPN with UDP. This attempt did connect, but the connection quality was extremely poor. Observed performance was effectively unusable for normal browsing. Throughput was extremely low, sites would begin to connect, and page elements such as static content often failed to load. The session also proved unstable, connecting successfully and then dropping a few minutes later before restarting.
A further NordVPN test was carried out using Hong Kong-based servers over TCP. This attempt did not produce a working connection. In this case, the router log showed repeated attempts to establish the TCP connection, but the process stalled before a usable VPN session was created. So while changing both region and transport method altered the failure mode, it did not solve the underlying usability problem.
These tests do not claim that one service will outperform another in every location or on every network. Note that since at least 2024, NordVPN has not worked effectively in China.
Now in 2026, the only scenario in which NordVPN appeared to perform properly was when it used NordLynx rather than OpenVPN. NordLynx is NordVPN’s WireGuard based protocol. An attempt was made to use the token generation method availble on NordVPN’s admin console, but that failed to work on the router with the error:
“get information from provider server failed [20001214]”
A mobile comparison was carried out where IrishVPN proved to be faster. It connected quickly and delivered between 50mbs to 80mbs, whereas NordVPN often started at only kilobyte speeds before gradually improving to 30mbs to 40mbs.
Logs from router testing:
1) IrishVPN success
Mon Jun 29 21:43:26 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Mon Jun 29 21:43:27 2026 daemon.info dnsmasq[xxxxx]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Mon Jun 29 21:43:27 2026 daemon.info dnsmasq[xxxxx]: read /tmp/hosts/dhcp.wgclient1 - 4 names
Mon Jun 29 21:43:29 2026 daemon.notice netifd: Interface 'wgclient1' is now up
Mon Jun 29 21:43:29 2026 daemon.notice netifd: Network device 'wgclient1' link is up
Mon Jun 29 21:43:29 2026 user.notice vpn-failover-watcher: action=exit iface=wgclient1 source=setup-timeout reason=startup-connecting-timeout result=connected
Mon Jun 29 21:43:29 2026 user.notice firewall: Reloading firewall due to ifup of wgclient1 (wgclient1)
Mon Jun 29 21:44:05 2026 daemon.info dnsmasq[xxxxx]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Mon Jun 29 21:44:05 2026 daemon.info dnsmasq[xxxxx]: read /tmp/hosts/dhcp.wgclient1 - 4 names
2) NordVPN fail: TLS negotiation timeout
Mon Jun 29 21:44:34 2026 user.notice vpn-failover-trigger: action=schedule iface=ovpnclient1 source=setup-timeout reason=startup-connecting-timeout delay=0s
Mon Jun 29 21:44:42 2026 user.info tunnel-switch: interface ovpnclient1 still down after 8s, proceeding with failover
Mon Jun 29 21:45:04 2026 daemon.err ovpnclient1[xxxxx]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Mon Jun 29 21:45:04 2026 daemon.notice ovpnclient1[xxxxx]: SIGHUP[soft,tls-error] received, process restarting
Mon Jun 29 21:45:05 2026 daemon.notice ovpnclient1[xxxxx]: UDPv4 link remote: [AF_INET][REDACTED]:[REDACTED]
3) NordVPN unstable: connects, then drops and restarts
Mon Jun 29 21:58:51 2026 daemon.notice netifd: Network device 'ovpnclient1' link is up
Mon Jun 29 21:58:51 2026 daemon.notice netifd: Interface 'ovpnclient1' is now up
Mon Jun 29 21:58:53 2026 daemon.notice ovpnclient1[xxxxx]: Data Channel: cipher 'AES-256-GCM', peer-id: [REDACTED], compression: 'stub'
Mon Jun 29 21:58:55 2026 daemon.notice ovpnclient1[xxxxx]: Initialization Sequence Completed
Mon Jun 29 22:02:43 2026 daemon.notice netifd: Interface 'ovpnclient1' has lost the connection
Mon Jun 29 22:02:43 2026 user.notice firewall: Reloading firewall due to ifdown of ovpnclient1 ()
Mon Jun 29 22:02:44 2026 daemon.notice ovpnclient1[xxxxx]: SIGHUP[soft,ping-restart] received, process restarting
Mon Jun 29 22:02:45 2026 daemon.notice ovpnclient1[xxxxx]: UDPv4 link remote: [AF_INET][REDACTED]:[REDACTED]
Mon Jun 29 22:02:46 2026 daemon.notice ovpnclient1[xxxxx]: TLS: Initial packet from [AF_INET][REDACTED]:[REDACTED], sid=[REDACTED]
4) NordVPN fail: TCP attempt stalls
Mon Jun 29 22:17:12 2026 daemon.notice netifd: Interface 'ovpnclient1' is setting up now
Mon Jun 29 22:17:13 2026 daemon.notice ovpnclient1[xxxxx]: NOTE: --fast-io is disabled since we are not using UDP
Mon Jun 29 22:17:13 2026 daemon.notice ovpnclient1[xxxxx]: TCP/UDP: Preserving recently used remote address: [AF_INET][REDACTED]:[REDACTED]
Mon Jun 29 22:17:13 2026 daemon.notice ovpnclient1[xxxxx]: Attempting to establish TCP connection with [AF_INET][REDACTED]:[REDACTED]