Fișierul /etc/sysctl.conf de pe Raspberry Pi este un fișier de configurare critic pentru gestionarea parametrilor kernelului și a variabilelor de sistem. Aceste setări pot afecta performanța sistemului, securitatea și comportamentul în rețea, făcându-l un instrument esențial pentru utilizatorii și administratorii avansați.
Ce este fișierul /etc/sysctl.conf?
Fișierul /etc/sysctl.conf este folosit pentru a modifica parametrii kernelului în timpul rulării. Vă permite să configurați diferite aspecte ale comportamentului nucleului și sistemului, inclusiv setările de rețea, caracteristicile de securitate și gestionarea memoriei. Modificările făcute în acest fișier pot fi aplicate imediat sau în momentul pornirii.
Exemplu de fișier /etc/sysctl.conf
Iată un exemplu de fișier tipic /etc/sysctl.conf:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # /etc/sysctl.conf - Configuration file for setting system variables # See /etc/sysctl.d/ for additional system variables. # See sysctl.conf (5) for information. # #kernel.domainname = example.com # Uncomment the following to stop low-level messages on console #kernel.printk = 3 4 1 3 ################################################################### # Functions previously found in netbase # # Uncomment the next two lines to enable Spoof protection (reverse-path filter) # Turn on Source Address Verification in all interfaces to # prevent some spoofing attacks #net.ipv4.conf.default.rp_filter=1 #net.ipv4.conf.all.rp_filter=1 # Uncomment the next line to enable TCP/IP SYN cookies # See http://lwn.net/Articles/277146/ # Note: This may impact IPv6 TCP sessions too #net.ipv4.tcp_syncookies=1 # Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1 # Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router Advertisements for this host #net.ipv6.conf.all.forwarding=1 ################################################################### # Additional settings - these settings can improve the network # security of the host and prevent against some network attacks # including spoofing attacks and man in the middle attacks through # redirection. Some network environments, however, require that these # settings are disabled so review and enable them as needed. # # Do not accept ICMP redirects (prevent MITM attacks) #net.ipv4.conf.all.accept_redirects = 0 #net.ipv6.conf.all.accept_redirects = 0 # _or_ # Accept ICMP redirects only for gateways listed in our default # gateway list (enabled by default) # net.ipv4.conf.all.secure_redirects = 1 # # Do not send ICMP redirects (we are not a router) #net.ipv4.conf.all.send_redirects = 0 # # Do not accept IP source route packets (we are not a router) #net.ipv4.conf.all.accept_source_route = 0 #net.ipv6.conf.all.accept_source_route = 0 # # Log Martian Packets #net.ipv4.conf.all.log_martians = 1 # ################################################################### # Magic system request Key # 0=disable, 1=enable all, >1 bitmask of sysrq functions # See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html # for what other values do #kernel.sysrq=438 |
Acest fișier conține diverse setări de sistem, multe dintre acestea fiind comentate în mod implicit. Pentru a activa o setare, eliminați pur și simplu # de la începutul liniei.
Secțiuni cheie ale fișierului /etc/sysctl.con
1. Parametrii kernelului
Parametrii kernelului controlează diferite setări de nivel scăzut legate de kernel-ul Linux. De exemplu, kernel.printk controlează gradul de verbozitate a mesajelor kernel de pe consolă.
2. Opțiuni de rețea
Secțiunea Opțiuni de rețea include setări care afectează securitatea și performanța rețelei. De exemplu:
- Spoof Protection:
net.ipv4.conf.default.rp_filter=1permite filtrarea inversă, ceea ce ajută la prevenirea atacurilor de falsificare IP.
- SYN Cookies:
net.ipv4.tcp_syncookies=1enables SCookie-uri YN, un mecanism de protecție împotriva atacurilor de inundații SYN.
- Packet Forwarding:
net.ipv4.ip_forward=1permite redirecționarea pachetelor IPv4, permițând Raspberry Pi să acționeze ca un router.net.ipv6.conf.all.forwarding=1permite redirecționarea pachetelor IPv6.
3. Îmbunătățiri de securitate
Fișierul /etc/sysctl.conf conține, de asemenea, setări pentru a îmbunătăți securitatea sistemului:
- ICMP Redirects:
net.ipv4.conf.all.accept_redirects=0andnet.ipv6.conf.all.accept_redirects=0dezactivați acceptarea redirecționărilor ICMP, care pot fi utilizate în atacurile de tip man-in-the-middle (MITM).
- Source Route Packets:
net.ipv4.conf.all.accept_source_route=0andnet.ipv6.conf.all.accept_source_route=0împiedică acceptarea pachetelor direcționate la sursă, care pot fi folosite pentru a ocoli controalele de securitate.
- Martian Packets:
net.ipv4.conf.all.log_martians=1permite înregistrarea pachetelor marțiane, care sunt pachete cu adrese sursă imposibile.
4. Magic System Request Key
Tasta magică SysRq este o combinație de taste care oferă acces la nivel scăzut la funcțiile sistemului. Parametrul kernel.sysrq controlează disponibilitatea acestuia:
kernel.sysrq=0: Dezactivează cheia SysRq.kernel.sysrq=1: Activează toate funcțiile SysRq.kernel.sysrq=<value>: Activează anumite funcții SysRq pe baza unei valori de mască de biți.
Editarea fișierului /etc/sysctl.conf
Pasul 1: Deschideți fișierul pentru editare
Pentru a edita fișierul /etc/sysctl.conf, utilizați un editor de text cu privilegii root:
1 | sudo nano /etc/sysctl.conf |
Pasul 2: Modificați parametrii sistemului
Anulați comentariile sau adăugați parametrii pe care doriți să îi modificați. Asigurați-vă că examinați cu atenție fiecare setare, deoarece unele modificări pot avea un impact semnificativ asupra comportamentului sistemului.
Pasul 3: Salvați și aplicați modificările
După editare, salvați fișierul și ieșiți din editorul de text. Pentru a aplica imediat modificările, executați următoarea comandă:
1 | sudo sysctl -p |
Această comandă reîncarcă setările din fișierul /etc/sysctl.conf.
Cele mai bune practici pentru utilizarea sysctl.conf
- Eefectuati backup inainte de editare: Creați întotdeauna o copie de rezervă a fișierului original
/etc/sysctl.confînainte de a face modificări.
1 2 | sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak |
- Testare setarii: Testați noile setări cu atenție pentru a vă asigura că nu au un impact negativ asupra sistemului dvs. Puteți aplica temporar modificări utilizând
sysctlcomanda direct, de ex.,sudo sysctl net.ipv4.ip_forward=1. - Documentare: Comentați modificările din fișier pentru a vă reaminti sau pentru a informa pe alții de ce anumite setări au fost activate sau dezactivate.
Concluzie
Fișierul /etc/sysctl.conf este un instrument puternic pentru configurarea variabilelor de sistem pe Raspberry Pi. Înțelegând și modificând aceste setări, vă puteți optimiza sistemul pentru performanță, securitate și rețea. Continuați întotdeauna cu prudență, testați modificările temeinic și documentați-vă configurațiile pentru a menține un sistem stabil și sigur.