Forum Replies Created
-
AuthorPosts
-
February 21, 2024 at 8:49 am in reply to: Performance degradation in different setups whit PerfTest #13559
Is the outdated PerfTest responsible alone for the reduced download speed ( 12 Mbit/sec —> 0.1 Mbit/sec ) on Wi-Fi adapter?
Could you conduct the test again, this time utilizing more modern example like dnstrace? It provides a limited console output, exclusively parsing DNS packets, and is unlikely to adversely affect network performance.
February 21, 2024 at 12:09 am in reply to: Performance degradation in different setups whit PerfTest #13557PerfTest, being an outdated example, is not recommended for current use. The post you’re referring to briefly explains how using multiple threads in its architecture might lead to reduced throughput. In essence, improper use of multiple threads can cause TCP packet reordering, which in turn can degrade bandwidth.
To see a modern multi-threaded approach in action, take a look at the queued_packet_filter C++ class in ProxiFyre project source code. This model uses one thread for packet reading, another for processing, and additional threads to inject the processed packets throughout the network stack, both upstream and downstream. Such a framework is conducive to developing robust filtering solutions, even for high-capacity 10 Gigabit networks. Worth noting that I’ve also used this C++ class in the WireSock VPN Client.
The official Wireguard client employs a UDP socket and relies on the TCP/IP stack for packet reassembly. In contrast, WireSock, prioritizing performance, directly retrieves packets from the NDIS layer, bypassing the TCP/IP stack. The current version of WireSock does not reassemble fragmented Wireguard packets, operating under the assumption that the MTU is appropriately chosen to prevent fragmentation. While this approach is optimal for performance, it can be confusing for users. Recognizing this, I plan to address and rectify this issue in WireSock when time allows.
Typically, these errors occur in the case of packet fragmentation. Could you please try reducing the MTU and also check if using virtual adapter mode (-lac) makes a difference?
February 20, 2024 at 1:25 pm in reply to: Getting slower speeds and unstable connection without -lac #13550I don’t think it’d be because the virtual adapter setting also uses the same MTU I’m assuming.
Yes, you are correct, but the MTU is enforced using different techniques in adapter and adapterless modes.
February 13, 2024 at 8:30 am in reply to: Getting slower speeds and unstable connection without -lac #13544It’s generally advisable to adjust the MTU on both the client and the server. Remember, changing MTU settings is often a process of trial and error, and what’s optimal can vary depending on your specific network conditions.
February 12, 2024 at 2:02 pm in reply to: Getting slower speeds and unstable connection without -lac #13538Hello,
The most notable distinction between WireSock’s virtual adapter mode and its default mode is that the former requires Administrator privileges to configure the virtual network adapter, while the latter does not. Regarding the throughput differences you’ve observed, this is intriguing. In my tests using WireSock in default mode on a 10 Gbps network and iperf3, the speeds reached 5.34 Gbit/sec, compared to 3.66 Gbit/sec for downloads when using the official WireGuard client. Could the MTU settings in your configuration be influencing this? What is the MTU value you are using? Additionally, have you tried reducing the MTU to 1380 to see if it impacts performance?The precise cause of the issue is unclear, but by using the
-log-level all
command line option, Wiresock can capture and log all traffic (including both unencrypted and encrypted data) traversing the tunnel into PCAP files. Examining these PCAP files could provide valuable insights into what might have gone wrong in this particular situation. It is recommended to analyze these files for a more detailed understanding of the issue.An IP address in the range of 169.254.xxx.xxx is known as an Automatic Private IP Address (APIPA). This is assigned to a computer or network device when it’s configured to obtain an IP address automatically, but the device is unable to find a DHCP server (a network server that automatically provides and assigns IP addresses, default gateways and other network parameters) to give it an address.
This often happens when a device fails to obtain an IP address from a DHCP server, either because the server is not available, or because there’s an issue with the network connection. The 169.254.xxx.xxx address allows the device to communicate with other network devices that have similarly self-assigned IP addresses, but it won’t be able to communicate outside its local subnet. This is often a temporary state, until the device can properly obtain an IP address from a DHCP server.
There appear to be two potential scenarios: firstly, your VPN might be inaccurately assigning private IP addresses from inappropriate Internet realms; secondly, WireSock could be facing challenges in setting up the virtual network interface with the correct address. To resolve this, ensure that you operate WireSockUI as an Administrator, since it requires these elevated privileges to successfully configure the virtual network interface.
I’m sorry for the delayed response, just got some spare time and returned to this topic to check the required setup. I’m glad that you were able to find the combination which resolves the issue. The after install reboot is probably can be explained that Kerio uses the NDIS filter driver similar to the one utilized by wiresock and network stack can’t rebind dynamically without a reboot. If my assumptions are correct the conflict with Kerio probably can be also addressed by changing the order of NDIS filter drivers. Not sure if it’s worth spending time on this right now but if there will be more requests for compatibility with Kerio, then I will do the research.
It appears that there is a software conflict with Kerio. Could you please provide more detailed instructions on the setup needed for the test VM to replicate this issue?
К сожалению нет и сомневаюсь, что найду время посмотреть в эту сторону. Основа WireSock кросс-платформенный BoringTun, но интеграция в ОС сильно завязана на архитектуру Windows.
January 24, 2024 at 11:39 am in reply to: Machine names on network don’t seem to get resolved #13514I believe the issue you’re encountering is indeed related to the nature of how Windows machines typically resolve network names and how VPNs, particularly those using NAT, handle network traffic.
In a standard Windows network, machine names are often resolved using NetBIOS or LLMNR (Link-Local Multicast Name Resolution). These protocols rely on broadcast or multicast packets, which are not designed to be routed across different networks, such as those segmented by VPNs.
When a VPN is used, especially with NAT (Network Address Translation), these broadcast packets do not traverse through the VPN tunnel. This is because NAT changes the network address information in the IP packet headers, and VPNs encapsulate these packets, making them unreadable to devices not part of the VPN network.
Therefore, the inability to resolve Windows machine names over your VPN setup is an expected behavior. For a solution, you might consider using DNS for name resolution, which can work across different networks when properly configured. Alternatively, setting up a WINS server could also address this issue.
January 24, 2024 at 11:28 am in reply to: Encrypt config/private key or Read config in another way #13513Presently, Wiresock doesn’t support passing the private key in any way other than directly through the config file. While the core library technically allows for such functionality, it hasn’t been implemented in the current version of the software. However, it’s worth noting that this feature might be considered for future versions of Wiresock.
In the meantime, you may want to explore the configuration encryption method introduced in the “Encrypting/Securing the WireSock Config File” thread. This method involves encrypting the configuration file using LocalSystem credentials and storing it in a secure folder, offering a viable solution to protect your WireGuard network’s configuration until more flexible key handling options become available.
Привет!
В России пока трюк с SOCKS5-прокси вроде работает. У меня есть идея сделать этот механизм более гибким, например, добавив возможность использования локального SOCKS5 (shadowsocks). Также интересной выглядит идея использовать в этом качестве SSH3, но пока там отсутствует интерфейс для SOCKS5-прокси.
-
AuthorPosts