Bevezetés
Parancsok
A kernel biztosítása és keményítése
Következtetés
Bevezetés
Sysctllehetővé teszi a felhasználó számára a rendszermag finomhangolását anélkül, hogy újra kellene építenie a kernelt. Ezenkívül azonnal alkalmazza a változtatásokat, így a kiszolgálót nem kell újraindítani ahhoz, hogy a változtatások érvénybe lépjenek. Ez az oktatóanyag rövid bevezetést nyújt sysctla Linux kernel egyes részeinek módosításához, és bemutatja, hogyan kell használni.
Parancsok
A sysctl használatának megkezdéséhez tekintse át az alább felsorolt paramétereket és példákat.
Paraméterek
-a : Ez megjeleníti a sysctl konfigurációban jelenleg elérhető összes értéket.
-A : Ez megjeleníti a sysctl konfigurációban jelenleg elérhető összes értéket táblázat formájában.
-e : Ez az opció figyelmen kívül hagyja az ismeretlen kulcsokkal kapcsolatos hibákat.
-p : Ez egy adott sysctl konfiguráció betöltésére szolgál, alapértelmezés szerint ezt fogja használni/etc/sysctl.conf
-n : Ez az opció letiltja a kulcsnevek megjelenítését az értékek kinyomtatása során.
-w : Ez az opció a sysctl igény szerinti értékeinek módosítására (vagy hozzáadására) szolgál.
Példák
$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p
Tehát először ellenőrizzük az alapértelmezett értékeket. Ha /etc/sysctl.confüres, akkor az összes alapértelmezett kulcsot és értéket megjeleníti. Másodszor, ellenőrizzük, mi az értéke, fs.file-maxmajd az új értéket állítjuk be 2097152. Végül betöltjük az új /etc/sysctl.confkonfigurációs fájlt.
Ha további segítséget keres, használhatja a man sysctl.
A kernel biztosítása és keményítése
A változtatások véglegessé tételéhez ezeket az értékeket hozzá kell adnunk egy konfigurációs fájlhoz. Használja a CentOS által alapértelmezés szerint biztosított konfigurációs fájlt /etc/sysctl.conf.
Nyissa meg a fájlt kedvenc szerkesztőjével.
Alapértelmezés szerint ehhez hasonlót kell látnia.
# 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).
Először javítsuk a rendszermemória-kezelést.
Minimálisra csökkentjük a cserék számát, növeljük a fájlkezelők méretét és az inode gyorsítótárat, és korlátozzuk a magkiíratásokat.
# 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
Ezután hangoljuk a hálózatra optimalizált teljesítményt.
Módosítjuk a bejövő kapcsolatok mennyiségét és a bejövő kapcsolatok lemaradását, növeljük a memóriapufferek maximális mennyiségét, valamint növeljük az alapértelmezett és maximális küldési/fogadási puffert.
# 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
Végül javítani fogjuk az általános hálózatbiztonságot.
Engedélyezni fogjuk a TCP SYN cookie-védelmet, az IP-hamisítás elleni védelmet, az ICMP-kérések figyelmen kívül hagyását, a szórási kérések figyelmen kívül hagyását, valamint a hamisított csomagok, a forrásirányított csomagok és az átirányítási csomagok naplózását. Ezzel együtt letiltjuk az IP-forrás útválasztását és az ICMP átirányítás elfogadását.
# 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
Mentse és zárja be a fájlt, majd töltse be a fájlt a sysctl -pparanccsal.
Következtetés
Végül a fájlnak ehhez hasonlóan kell kinéznie.
# 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