sysctl

더쿠·2024년 10월 22일

설명

  • sysctl 명령어는 리눅스 시스템에서 Kernel Parameter를 확인하고 설정하는데 사용되는 도구입니다.
  • Kernel Parameter는 리눅스 시스템의 동작과 성능을 조정할 수 있는 다양한 파라미터가 있으며, syctl을 사용하여 이러한 파라미터를 제어할 수 있습니다.
  • 부트로더(예: GRUB)를 통해 부팅 시 설정되는 Kernel Parameter는 sysctl 로 제어할 수 없습니다. sysctl 는 부팅된 후에 런타임 동안 /proc/sys 하위 디렉토리의 Kernel Parameter를 제어하는 도구입니다.

확인 방법

  • 현재 시스템에 설정된 모든 Kernel Paramter 확인
    sysctl -a
  • 지정한 파리미터(예: net.ipv4.ip_forward) 확인
    sudo sysctl net.ipv4.ip_forward

설정 방법

  • sudo sysctl -w 명령어를 사용하여 파라미터를 변경할 수 있으나, 이는 임시 설정으로 서버의 재부팅이 발생하면 초기화됩니다.
  • /etc/sysctl.conf 설정 파일에 변경할 파라미터를 추가하여, 영구적으로 파라미터를 변경할 수 있습니다.

net.ipv4.ip_forward 파라미터를 활성화합니다..

  • 일반적으로 서버는 자신을 목적지로 하는 패킷만을 받아 처리합니다. 만약 목적지 주소가 자신이 아닌 패킷이 들어오는 경우 서버는 해당 패킷을 무시하거나 드랍합니다.
  • net.ipv4.ip_forward 파라미터 활성화하면, 시스템은 목적지 주소가 자신이 아닌 패킷에 대하여 지정한 네트워크 인터페이스로 전달(포워딩)하도록 하여, Router 처럼 패킷을 다른 네트워크로 전달하는 역할을 수행할 수 있습니다.
  • 일반적인 서버는 net.ipv4.ip_forward 가 비활성화 상태입니다.
  • 서버를 VPN, NAT용도로 사용하는 경우, 해당 파라미터를 활성화가 필요합니다.

1. 현재 시스템의 net.ipv4.ip_forward 값을 확인

sudo sysctl net.ipv4.ip_forward

출력

net.ipv4.ip_forward = 0



2. net.ipv4.ip_forward 파라미터를 활성화

  • 영구적으로 파라미터를 변경하도록 설정 파일을 수정합니다.
sudo tee -a /etc/sysctl.conf << EOF

net.ipv4.ip_forward=1
EOF



3. 설정 내용을 적용

sudo sysctl -p

출력

net.ipv4.ip_forward = 1 
profile
궁금한게 많은 사람

0개의 댓글