mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-08-25 13:51:15 +00:00
Update
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
import type { Metadata } from "next"
|
||||
import { Network } from "lucide-react"
|
||||
import { Network } from 'lucide-react'
|
||||
import CopyableCode from "@/components/CopyableCode"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "ProxMenux Post-Install: Network Settings",
|
||||
description:
|
||||
"Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.",
|
||||
"Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.",
|
||||
openGraph: {
|
||||
title: "ProxMenux Post-Install: Network Settings",
|
||||
description:
|
||||
"Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.",
|
||||
"Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.",
|
||||
type: "article",
|
||||
url: "https://macrimi.github.io/ProxMenux/docs/post-install/network",
|
||||
images: [
|
||||
@@ -25,15 +25,35 @@ export const metadata: Metadata = {
|
||||
card: "summary_large_image",
|
||||
title: "ProxMenux Post-Install: Network Settings",
|
||||
description:
|
||||
"Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.",
|
||||
"Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.",
|
||||
images: ["https://macrimi.github.io/ProxMenux/network-settings-image.png"],
|
||||
},
|
||||
}
|
||||
|
||||
export default function NetworkSettingsPage() {
|
||||
const applyNetworkOptimizationsCode = `
|
||||
# Create or update /etc/sysctl.d/99-network.conf
|
||||
cat <<EOF > /etc/sysctl.d/99-network.conf
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<div className="flex items-center mb-6">
|
||||
<Network className="h-8 w-8 mr-2 text-blue-500" />
|
||||
<h1 className="text-3xl font-bold">Network Settings</h1>
|
||||
</div>
|
||||
<p className="mb-4">
|
||||
The <strong>Network Settings</strong> category in the <code>customizable_post_install.sh</code> script focuses on optimizing network
|
||||
performance and configuration for your Proxmox VE installation. These settings are crucial for ensuring efficient
|
||||
network operations, which is vital in a virtualized environment where multiple VMs and containers share network resources.
|
||||
</p>
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2>
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">Apply Network Optimizations</h3>
|
||||
<p className="mb-4">
|
||||
This optimization applies various network-related sysctl settings to improve network performance, security, and stability.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's important:</strong> These optimizations can significantly improve network throughput, reduce latency, and enhance security. They adjust various kernel parameters related to networking, which is crucial in a virtualization environment where network performance directly impacts the performance of VMs and containers.
|
||||
</p>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this setting manually, run:</h4>
|
||||
<CopyableCode code={`cat <<EOF | sudo tee /etc/sysctl.d/99-network-performance.conf
|
||||
net.core.netdev_max_backlog=8192
|
||||
net.core.optmem_max=8192
|
||||
net.core.rmem_max=16777216
|
||||
@@ -80,149 +100,85 @@ net.netfilter.nf_conntrack_tcp_timeout_established = 28800
|
||||
net.unix.max_dgram_qlen = 4096
|
||||
EOF
|
||||
|
||||
# Apply sysctl changes
|
||||
sysctl --system
|
||||
|
||||
# Ensure /etc/network/interfaces includes the interfaces.d directory
|
||||
echo "source /etc/network/interfaces.d/*" >> /etc/network/interfaces
|
||||
`
|
||||
|
||||
const enableTcpFastOpenCode = `
|
||||
# Enable Google TCP BBR congestion control
|
||||
cat <<EOF > /etc/sysctl.d/99-kernel-bbr.conf
|
||||
# TCP BBR congestion control
|
||||
net.core.default_qdisc = fq
|
||||
net.ipv4.tcp_congestion_control = bbr
|
||||
EOF
|
||||
|
||||
# Enable TCP Fast Open
|
||||
cat <<EOF > /etc/sysctl.d/99-tcp-fastopen.conf
|
||||
# TCP Fast Open (TFO)
|
||||
net.ipv4.tcp_fastopen = 3
|
||||
EOF
|
||||
|
||||
# Apply sysctl changes
|
||||
sysctl --system
|
||||
`
|
||||
|
||||
const forceAptIpv4Code = `
|
||||
# Create APT configuration to force IPv4
|
||||
echo "Acquire::ForceIPv4 \"true\";" > /etc/apt/apt.conf.d/99-force-ipv4
|
||||
`
|
||||
|
||||
const installOpenVSwitchCode = `
|
||||
# Update package lists
|
||||
apt-get update
|
||||
|
||||
# Install OpenVSwitch
|
||||
apt-get install -y openvswitch-switch openvswitch-common
|
||||
|
||||
# Verify installation
|
||||
ovs-vsctl --version
|
||||
`
|
||||
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<div className="flex items-center mb-6">
|
||||
<Network className="h-8 w-8 mr-2 text-blue-500" />
|
||||
<h1 className="text-3xl font-bold">Network Settings</h1>
|
||||
</div>
|
||||
<p className="mb-4">
|
||||
The Network Settings category in the customizable_post_install.sh script focuses on optimizing network
|
||||
performance and configuration for your Proxmox VE installation.
|
||||
</p>
|
||||
|
||||
<h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2>
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">1. Apply Network Optimizations</h3>
|
||||
<p className="mb-4">
|
||||
This optimization applies various network-related sysctl settings to improve network performance and security.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's beneficial:</strong> These optimizations can significantly improve network throughput, reduce
|
||||
latency, and enhance security by adjusting various kernel parameters related to networking. Some key benefits
|
||||
include:
|
||||
</p>
|
||||
<ul className="list-disc pl-5 mb-4">
|
||||
<li>Increased maximum number of backlog connections</li>
|
||||
<li>Optimized TCP window sizes for better throughput</li>
|
||||
<li>Enhanced security by disabling potentially dangerous features like ICMP redirects</li>
|
||||
<li>Improved TCP connection handling and timeout settings</li>
|
||||
<li>Optimized network memory allocation</li>
|
||||
</ul>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, you would run:</h4>
|
||||
<CopyableCode code={applyNetworkOptimizationsCode} />
|
||||
sudo sysctl -p /etc/sysctl.d/99-network-performance.conf`} />
|
||||
</section>
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">2. Enable TCP BBR and Fast Open</h3>
|
||||
<h3 className="text-xl font-semibold mb-2">Enable TCP BBR and Fast Open</h3>
|
||||
<p className="mb-4">
|
||||
This optimization enables Google's TCP BBR congestion control algorithm and TCP Fast Open.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's beneficial:</strong>
|
||||
<strong>Why it's important:</strong> TCP BBR can significantly improve network throughput and reduce latency, especially on long-distance or congested networks. TCP Fast Open reduces connection establishment time, improving the speed of short-lived connections. These optimizations are particularly beneficial in virtualized environments where network performance is crucial for overall system responsiveness.
|
||||
</p>
|
||||
<ul className="list-disc pl-5 mb-4">
|
||||
<li>
|
||||
TCP BBR (Bottleneck Bandwidth and Round-trip propagation time) can significantly improve network throughput
|
||||
and reduce latency, especially on long-distance or congested networks.
|
||||
</li>
|
||||
<li>
|
||||
TCP Fast Open reduces connection establishment time, improving the speed of short-lived connections by
|
||||
allowing data transfer during the initial TCP handshake.
|
||||
</li>
|
||||
</ul>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, you would run:</h4>
|
||||
<CopyableCode code={enableTcpFastOpenCode} />
|
||||
</section>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this setting manually, run:</h4>
|
||||
<CopyableCode code={`echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.d/99-tcp-bbr.conf
|
||||
echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.d/99-tcp-bbr.conf
|
||||
echo "net.ipv4.tcp_fastopen = 3" | sudo tee -a /etc/sysctl.d/99-tcp-fastopen.conf
|
||||
|
||||
sudo modprobe tcp_bbr
|
||||
sudo sysctl -p /etc/sysctl.d/99-tcp-bbr.conf
|
||||
sudo sysctl -p /etc/sysctl.d/99-tcp-fastopen.conf`} />
|
||||
</section>
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">3. Force APT to Use IPv4</h3>
|
||||
<p className="mb-4">This optimization configures APT (Advanced Package Tool) to use IPv4 exclusively.</p>
|
||||
<h3 className="text-xl font-semibold mb-2">Force APT to Use IPv4</h3>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's beneficial:</strong> Forcing APT to use IPv4 can resolve issues in environments where IPv6 is
|
||||
not properly configured or is causing slowdowns. This ensures more reliable package management operations by:
|
||||
This optimization configures APT (Advanced Package Tool) to use IPv4 exclusively.
|
||||
</p>
|
||||
<ul className="list-disc pl-5 mb-4">
|
||||
<li>Avoiding potential IPv6-related connection issues</li>
|
||||
<li>Ensuring consistent behavior across different network configurations</li>
|
||||
<li>Potentially speeding up package downloads in networks with suboptimal IPv6 support</li>
|
||||
</ul>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, you would run:</h4>
|
||||
<CopyableCode code={forceAptIpv4Code} />
|
||||
<p className="mb-4">
|
||||
<strong>Why it's important:</strong> Forcing APT to use IPv4 can resolve issues in environments where IPv6 is not properly configured or is causing slowdowns. This ensures more reliable package management operations, which is crucial for maintaining and updating your Proxmox VE system. It's particularly useful in networks where IPv6 connectivity might be unreliable or not fully supported.
|
||||
</p>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this setting manually, run:</h4>
|
||||
<CopyableCode code={`echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4`} />
|
||||
</section>
|
||||
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">4. Install Open vSwitch</h3>
|
||||
<h3 className="text-xl font-semibold mb-2">Install Open vSwitch</h3>
|
||||
<p className="mb-4">
|
||||
This optimization installs Open vSwitch, a production quality, multilayer virtual switch.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's beneficial:</strong> Open vSwitch provides advanced networking capabilities for virtualized
|
||||
environments. It allows for more flexible and powerful network configurations, including:
|
||||
<strong>Why it's important:</strong> Open vSwitch provides advanced networking capabilities for virtualized environments. It allows for more flexible and powerful network configurations, including support for VLAN tagging and trunking, advanced traffic shaping, and Quality of Service (QoS) capabilities. This is particularly beneficial for complex virtualization setups where fine-grained control over network traffic is required.
|
||||
</p>
|
||||
<ul className="list-disc pl-5 mb-4">
|
||||
<li>Support for VLAN tagging and trunking</li>
|
||||
<li>Advanced traffic shaping and Quality of Service (QoS) capabilities</li>
|
||||
<li>Integration with software-defined networking (SDN) controllers</li>
|
||||
<li>Improved network performance and scalability for large virtualized environments</li>
|
||||
<li>Support for network function virtualization (NFV)</li>
|
||||
</ul>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this optimization manually, you would run:</h4>
|
||||
<CopyableCode code={installOpenVSwitchCode} />
|
||||
</section>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this setting manually, run:</h4>
|
||||
<CopyableCode code={`sudo apt-get update
|
||||
sudo apt-get install -y openvswitch-switch
|
||||
|
||||
# Verify installation
|
||||
sudo ovs-vsctl --version`} />
|
||||
</section>
|
||||
|
||||
<section className="mb-8">
|
||||
<h3 className="text-xl font-semibold mb-2">Optimize Network Interface Settings</h3>
|
||||
<p className="mb-4">
|
||||
This optimization adjusts settings for network interfaces to improve performance and reliability.
|
||||
</p>
|
||||
<p className="mb-4">
|
||||
<strong>Why it's important:</strong> Proper configuration of network interfaces can significantly improve network performance, reduce latency, and increase stability. This is particularly important in virtualized environments where multiple VMs and containers share network resources. Optimizations like increasing the TX queue length can help prevent packet drops under high load.
|
||||
</p>
|
||||
<h4 className="text-lg font-semibold mb-2">To apply this setting manually, run:</h4>
|
||||
<CopyableCode code={`# Replace eth0 with your actual interface name
|
||||
sudo ip link set eth0 txqueuelen 10000
|
||||
|
||||
# Make the change persistent
|
||||
echo 'ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth0", RUN+="/sbin/ip link set eth0 txqueuelen 10000"' | sudo tee /etc/udev/rules.d/60-net-txqueue.rules
|
||||
|
||||
# Enable TCP timestamps
|
||||
echo 'net.ipv4.tcp_timestamps = 1' | sudo tee -a /etc/sysctl.d/99-network-performance.conf
|
||||
|
||||
sudo sysctl -p /etc/sysctl.d/99-network-performance.conf`} />
|
||||
</section>
|
||||
|
||||
<section className="mt-12 p-4 bg-blue-100 rounded-md">
|
||||
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2>
|
||||
<p>
|
||||
All of these optimizations are automatically applied when selected in the Network section of the
|
||||
All of these optimizations are automatically applied when selected in the Basic Settings section of the
|
||||
customizable_post_install.sh script. This automation ensures that these beneficial settings are applied
|
||||
consistently and correctly, saving time and reducing the potential for human error during manual
|
||||
configuration.
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user