linux의sysctl 명령 및 관련 응용 프로그램

sysctl 명령 소개
sysctl 명령은 디렉터리/proc/sys에서 사용할 수 있는 디렉터리 파라미터를 동적으로 수정하는 데 사용됩니다.TCP/ip 스택과 가상 메모리 시스템의 고급 옵션을 포함하여 경험이 있는 관리자가 눈에 띄는 시스템 성능을 향상시킬 수 있습니다.sysctl로 설정된 시스템 변수를 500개 이상 읽을 수 있습니다.1.sysctl(옵션)(매개 변수) 옵션: (자세한 내용은 mansysctl) -a all 모든 커널 매개 변수 및 값 보기 - w write 커널 매개 변수 수정 - p 프로필 "/etc/sysctl.conf"에서 커널 매개 변수 설정 로드
매개 변수:변수=값:커널 매개 변수에 대응하는 변수 값을 설정합니다.
2.sysctl과/proc/sys/프로필 관계sysctl은 커널 파라미터를 수정하는 명령입니다/proc/sys/메모리에서 커널 파라미터를 읽는 디렉터리sysctl과/proc/sys의 대응 규칙입니다: 앞부분/proc/sys를 제거하고 파일 이름의 빗장을 점으로 변경합니다:
  /proc/sys/net/ipv4/ip_forward =》 net.ipv4.ip_forward
  /proc/sys/kernel/hostname =》 kernel.hostname

이 두 규칙은/proc/sys의 파일 이름을sysctl의 변수 이름으로 변환할 수 있습니다.sysctl -w 또는 echo xxx >/pro/sys/net/netfilter/xxx로 변경한 것은 다시 시작하면 효력을 상실합니다.3. centos6과 7의 프로필 6 버전:/etc/sysctl.conf, 7 버전:/etc/sysctl.d/99-sysctl.conf는/etc/sysctl을 편집할 수 있습니다.d/의 구성 파일(이전 시스템은/etc/sysctl.conf)입니다. 시스템을 시작할 때 설정이 로드됩니다.
[root@luc58 ~]# ll /etc/sysctl.d/99-sysctl.conf 
lrwxrwxrwx. 1 root root 14 1    5 2017 /etc/sysctl.d/99-sysctl.conf -> ../sysctl.conf  
//sysctl.conf 99-sysctl.conf       ,      

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
2, sysctl 명령 사용
사용 환경
[root@luc58 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.2 (Maipo

1. 다른 사람이 당신의 호스트를 핑하는 것을 차단한다(블로형은 1로'yes'를 표시하고, 0으로'no'를 표시한다)
[root@luc58 ~]# sysctl -a | grep icmp
net.ipv4.icmp_echo_ignore_all = 0
[root@luc58 ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=1
[root@luc58 ~]# sysctl -p

2./var/log/messages 로그에 kernel: nfconntrack: table full, dropping packet.무슨 원인으로 인해 일어난 것입니까?원인을 어떻게 해결합니까: 서버 접근량이 많고 내부 네트워크 Filter 모듈conntrack 관련 매개 변수의 설정이 불합리하여 새로운 연결이 삭제되었습니다.분석: nfconntrack 모듈은 해시표 기록으로 만들어진 연결을 해시표보다 빨리 연결하여 해시표를 가득 채우면 연결된 데이터 패키지가 버려져 서비스를 거부합니다.건립과 방출 시간을 줄이고 해시표를 크게 해라.해결: A, nf 재설정conntrack 모듈 매개 변수
[root@luc58 ~]# echo 250000 > /sys/module/nf_conntrack/parameters/hashsize    //       
[root@luc58 ~]# sysctl -w net.nf_conntrack_max = 1000000   
//        (      4 )
[root@luc58 ~]# sysctl -w net.netfilter.nf_conntrack_max = 1000000      
//        
[root@luc58 ~]# sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established = 300  
//  432000  (5 ) tcp      
[root@luc58 ~]# sysctl -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60    
//  120 ,           ,           
[root@luc58 ~]# sysctl -w net.netfilter.nf_conntrack_tcp_timeout_close_wait = 30 
//  60  ,    ,      ,           
[root@luc58 ~]# sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60  
//  120  ,     ,      ,        

B, 방화벽 닫기(공중 네트워크에 직접 노출되지 않는 호스트)
[root@luc58 ~]# systemctl stop firewalld
[root@luc58 ~]# systemctl disable firewalld

3. 커널 라우팅 전달 기능 활성화
[root@luc58 ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

4. 모든 프로세스가 열 수 있는 파일의 총 수량을 조정합니다 (웹 조정 사용 가능)
[root@luc58 ~]# sysctl -w fs.file-max=197900
fs.file-max = 197900

공면: I hear and I forget.I see and I remember. I do and I understand!
참조 연결:https://blog.csdn.net/hytfly/article/details/53426630http://keyknight.blog.163.com/blog/static/3663784020104152407759/https://blog.csdn.net/linuxnews/article/details/51178794시스템 조정

좋은 웹페이지 즐겨찾기