Prezantimi
Komandat
Sigurimi dhe forcimi i kernelit
konkluzioni
Prezantimi
Sysctllejon përdoruesin të rregullojë mirë kernelin pa pasur nevojë të rindërtojë kernelin. Ai gjithashtu do të zbatojë ndryshimet menjëherë, kështu që serveri nuk do të duhet të rindizet që ndryshimet të hyjnë në fuqi. Ky tutorial ofron një hyrje të shkurtër sysctldhe demonstron se si të përdoret për të rregulluar pjesë të veçanta të kernelit Linux.
Komandat
Për të filluar përdorimin e sysctl, rishikoni parametrat dhe shembujt e listuar më poshtë.
Parametrat
-a : Kjo do të shfaqë të gjitha vlerat e disponueshme aktualisht në konfigurimin sysctl.
-A : Kjo do të shfaqë të gjitha vlerat aktualisht të disponueshme në konfigurimin sysctl në formën e tabelës.
-e : Ky opsion do të injorojë gabimet në lidhje me çelësat e panjohur.
-p : Kjo përdoret për të ngarkuar një konfigurim specifik sysctl, si parazgjedhje do të përdoret/etc/sysctl.conf
-n : Ky opsion do të çaktivizojë shfaqjen e emrave të çelësave gjatë printimit të vlerave.
-w : Ky opsion është për ndryshimin (ose shtimin) e vlerave në sysctl sipas kërkesës.
Shembuj
$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p
Pra, së pari po kontrollojmë vlerat e paracaktuara. Nëse /etc/sysctl.confështë bosh, do të shfaqë të gjithë çelësat dhe vlerat e paracaktuara. Së dyti, ne po kontrollojmë se cila është vlera e fs.file-maxdhe më pas vendosim vlerën e re në 2097152. Më në fund, po ngarkojmë /etc/sysctl.confskedarin e ri të konfigurimit.
Nëse kërkoni ndihmë shtesë, mund të përdorni man sysctl.
Sigurimi dhe forcimi i kernelit
Për t'i bërë ndryshimet të përhershme, do të duhet t'i shtojmë këto vlera në një skedar konfigurimi. Përdorni skedarin e konfigurimit që CentOS ofron si parazgjedhje, /etc/sysctl.conf.
Hapni skedarin me redaktorin tuaj të preferuar.
Si parazgjedhje, duhet të shihni diçka të ngjashme me këtë.
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
Le të përmirësojmë fillimisht menaxhimin e kujtesës së sistemit.
Ne do të minimizojmë sasinë e shkëmbimit që duhet të bëjmë, do të rrisim madhësinë e dorezave të skedarëve dhe cache inode dhe do të kufizojmë deponimet thelbësore.
# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5
# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0
Më pas, le të akordojmë performancën e optimizuar të rrjetit.
Ne do të ndryshojmë sasinë e lidhjeve hyrëse dhe lidhjet hyrëse të mbetura, do të rrisim sasinë maksimale të buferave të memories dhe do të rrisim buferat e paracaktuar dhe maksimale të dërgimit/marrjes.
# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824
# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864
Së fundi, ne do të përmirësojmë sigurinë e përgjithshme të rrjetit.
Ne do të aktivizojmë mbrojtjen e kukive TCP SYN, mbrojtjen nga mashtrimi IP, injorimin e kërkesave ICMP, injorimin e kërkesave për transmetim dhe regjistrimin në paketat e falsifikuara, paketat e drejtuara nga burimi dhe ridrejtimin e paketave. Së bashku me këtë, ne do të çaktivizojmë drejtimin e burimit IP dhe pranimin e ridrejtimit të ICMP.
# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1
# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0
# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0
Ruani dhe mbyllni skedarin dhe më pas ngarkoni skedarin duke përdorur sysctl -pkomandën.
konkluzioni
Në fund, skedari juaj duhet të duket i ngjashëm me këtë.
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5
# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0
# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824
# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864
# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1
# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0
# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0