Edit /etc/xrdp/xrdp.ini
Locate tcp_send_buffer_bytes and change to:
tcp_send_buffer_bytes=4194304
sudo sysctl -w net.core.wmem_max=8388608
Create /etc/sysctl.d/xrdp.conf file and add the following:
net.core.wmem_max = 8388608
Edit /etc/xrdp/xrdp.ini
Locate tcp_send_buffer_bytes and change to:
tcp_send_buffer_bytes=4194304
sudo sysctl -w net.core.wmem_max=8388608
Create /etc/sysctl.d/xrdp.conf file and add the following:
net.core.wmem_max = 8388608
Unfortunately, the ufw help doesn't provide an example for using application profiles while specifying the source network. Here's an example how "OpenSSH" profile can be used but restricting the source network to local:
sudo ufw allow from 192.168.0.0/24 to any app OpenSSH
Edit /etc/hosts and remove the default IPv6 entries, including localhost, etc. If you don't do this, you may encounter weird errors down the road because some programs will try to bind to "localhost" and it ends up try using non-existing IPv6 address, etc.
Create the follow file:
sudo nano /etc/sysctl.d/90-disable_ipv6.conf
then add these lines and save:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Run:
sudo sysctl --system
For network adapter drivers that require the "Jumbo Packet" value to be set for MTU, enter 9014. This is to accommodate 14 bytes of Ethernet header, which is then added to the 9000-byte packet. For example, Mellanox ConnectX-3 adapters require this value to function correctly.
To confirm testing of Jumbo frame between two nodes, use the ping command as follows:
For Windows:
ping <target> -f -l 8972
For Linux:
ping <target> -M do -s 8972
When you mess up the Proxmox firewall setup and you can't access the server...
pve-firewall stop
This stops the firewall until next reboot or update of any packed what restart the pve-firwall.
If you like to disable it permanently , you can do this in the /etc/pve/firewall/cluster.fw
set enable: 1 to 0
Citation: https://forum.proxmox.com/threads/disable-firewall-from-command-line.29091/
I have been using OpenVPN on my home router for the last 10 years or so, and I finally got around to trying WireGuard tunneling. From what I heard, I was expecting WireGuard to be much faster, as I have seen a huge performance increase when I switched from OpenVPN to WireGuard on my Private Internet Access VPN.
To my surprise, as it turns out OpenVPN is still significantly faster (and better) on my Intel Alder Lake N100 router.
Here are the specs used for the benchmark:
and here's the result:
| Un-encrypted | OpenVPN | WireGuard | |
|---|---|---|---|
| Ping | 1ms | 1ms | 1ms |
| Latency (Down) | 16ms | 29ms | 15ms |
| Latency (Up) | 22ms | 38ms | 26ms |
| Download Speed | 912.40Mbps | 914.35Mbps | 636.50Mbps |
| Download CPU usage | 10% | 10% | 21% |
| Upload Speed | 945.48Mbps | 944.01Mbps | 658.27Mbps |
| Upload CPU usage | 63% | 69% | 89% |
OpenVPN relies on the underlying OpenSSL library, which provides hardware acceleration for AES instructions. Intel Alder Lake N100 processor is AES-NI enabled, and my pfSense dashboard showed that it's enabled. WireGuard on the other hand, uses ChaCha20-Poly1305 algorithm, which takes advantage of SIMD instructions, which exists on virtually all non-embedded CPUs.
So it appears that the AES hardware acceleration provides significant boost over using SIMD instructions, at least in Intel N100 processor.
For Intel N100 processor based pfSense routers, OpenVPN provides over 43% VPN throughput performance over WireGuard. In fact, the AES-NI acceleration is so effective such that it achieves near 100% ISP throughput with no additional CPU overhead (for 1Gbps connection).
What is really interesting, is that the WireGuard connection works at 50 to 68% lower latency than OpenVPN. As such, WireGuard may be better suited for activities such as gaming and remote desktop access.
In conclusion, for those using Intel Alder Lake N100 for a pfSense router, OpenVPN should be used if your primary goal is to obtain highest throughput with the clients. If your client application is more sensitive to network latency, WireGuard should be used instead.