-
Set the server TimeZone to Asia/Tehran.
-
Update, Upgrade, and Clean the server:
- Update
- Upgrade
- Dist-Upgrade
- AutoRemove
- AutoClean
- Clean
-
Install Useful Packages:
software-properties-common
build-essential
apt-transport-https
epel-release
nftables
iptables
iptables-persistent
lsb-release
ca-certificates
keyring
gnupg2
apt-utils
cron
bash-completion
curl
git
zip
unzip
ufw
wget
preload
locales
nano
vim
python3
python3-pip
jq
qrencode
socat
busybox
net-tools
haveged
htop
libssl-dev
libsqlite3-dev
dialog
bc
binutils
binutils-common
binutils-x86-64-linux-gnu
packagekit
make
automake
autoconf
libtool
-
Enable Packages at Server Boot.
-
Create & Enable
SWAP
File:- Swap Path:
"/swapfile"
- Swap Size:
2Gb
- Swap Path:
-
Enable
IPv6
Support. -
Optimize the
SYSCTL
Configs.- Optimize
SWAP
. - Optimize Network Settings.
- Activate
BBR
. - Optimize the Kernel.
Original file is backed up at
/etc/sysctl.conf.bak
. - Optimize
-
Optimize
SSH
:- Back up the original
sshd_config
file. - Disable DNS lookups for connecting clients.
- Remove less efficient encryption ciphers.
- Enable and Configure TCP keep-alive messages.
- Allow agent & TCP forwarding.
- Enable gateway ports, Tunneling & Compression.
- Enable X11 Forwarding.
Original file is backed up at
/etc/ssh/sshd_config.bak
. - Back up the original
-
Optimize the System Limits:
- Soft & Hard
nproc
limits. - Soft & Hard
nofile
limits.
- Soft & Hard
-
Optimize
UFW
& Open Common Ports.- Open Ports
21
,22
,80
,443
. - With
IPv6
,TCP
&UDP
.
- Open Ports
Reboot at the end is Recommended.
- Ubuntu & Debian:
apt install -y sudo wget
- CentOS & Fedora:
dnf install -y sudo wget
sudo -i
wget "https://raw.githubusercontent.com/hawshemi/Linux-Optimizer/main/linux-optimizer.sh" -O linux-optimizer.sh && chmod +x linux-optimizer.sh && bash linux-optimizer.sh
This script is provided as-is, without any warranty or guarantee. Use it at your own risk.
This script is licensed under the MIT License.