기본 콘텐츠로 건너뛰기

리눅스에서 커널 모듈 관리하는 방법

리눅스에서 커널 모듈 관리하는 방법 안녕하세요, mj입니다! 오늘은 리눅스에서 커널 모듈을 로드하고 관리하는 방법에 대해 알아보겠습니다. 커널 모듈은 리눅스 커널의 기능을 확장하는 데 중요한 역할을 합니다. 이 글에서는 커널 모듈의 기본 개념, 로드 및 언로드 방법, 그리고 예시를 통해 실제로 어떻게 사용하는지 살펴보겠습니다. 커널 모듈이란? 커널 모듈은 리눅스 커널의 기능을 확장하거나 변경할 수 있는 코드 조각입니다. 모듈은 필요할 때만 메모리에 로드되어 시스템 자원을 효율적으로 사용할 수 있습니다. 예를 들어, 하드웨어 드라이버나 파일 시스템을 모듈로 구현하여 시스템을 더욱 유연하게 운영할 수 있습니다. 커널 모듈 로드 및 언로드 커널 모듈을 로드하고 언로드하는 주된 명령어는 modprobe 와 rmmod 입니다. 아래에서 각각의 사용법을 설명하겠습니다. 모듈 로드 모듈을 로드할 때는 modprobe 명령어를 사용합니다. 예를 들어, dummy 라는 테스트 모듈을 로드하려면 다음과 같이 입력합니다: sudo modprobe dummy 이렇게 하면 dummy 모듈이 커널에 로드됩니다. 로드된 모듈은 lsmod 명령어로 확인할 수 있습니다. lsmod | grep dummy 모듈 언로드 모듈을 언로드할 때는 rmmod 명령어를 사용합니다. 예를 들어, dummy 모듈을 언로드하려면 다음과 같이 입력합니다: sudo rmmod dummy 언로드가 성공적으로 이루어졌는지 확인하려면 다시 lsmod 명령어를 사용할 수 있습니다. 예시: 커널 모듈 관리 이제 실제 예시를 통해 커널 모듈을 관리하는 방법을 살펴보겠습니다. 아래는 각각의 목적에 따라 다섯 가지 예시를 제공합니다. 예시 1: 모듈 로드 확인 sudo modprobe dummy lsmod | grep dummy 출력 결과: dummy 16384 0 예시 2: 모듈 언로드 확인 sudo rmmod dummy lsmod |...

리눅스 방화벽 설정: iptables로 안전한 시스템 만들기

안녕하세요, mj입니다!

오늘은 리눅스에서 iptables를 사용하여 방화벽을 설정하는 방법에 대해 알아보겠습니다.

iptables란?

iptables는 리눅스에서 패킷 필터링과 NAT(Network Address Translation)를 위해 사용되는 방화벽 관리 도구입니다. 이를 통해 네트워크 트래픽을 제어하고 시스템을 보호할 수 있습니다.

iptables 기본 구조

iptables는 규칙 체인(chain)으로 구성되어 있으며, 각 체인은 여러 규칙(rule)을 포함합니다. 기본적으로 INPUT, OUTPUT, FORWARD의 세 가지 체인이 있습니다.

iptables 설치

대부분의 리눅스 배포판에는 기본적으로 iptables가 설치되어 있지만, 설치가 필요할 경우 다음 명령어를 사용할 수 있습니다:

sudo apt-get install iptables  # Ubuntu/Debian 계열
sudo yum install iptables          # CentOS/RHEL 계열

기본 규칙 설정

기본적으로 모든 트래픽을 차단하고 필요한 서비스만 허용하는 것이 좋습니다. 다음은 기본 규칙을 설정하는 예시입니다:

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

예시 1: SSH 접속 허용

SSH 서비스를 허용하려면 다음 명령어를 사용합니다:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

출력 결과는 없습니다. 규칙이 성공적으로 추가된 경우, iptables 상태를 확인하면 됩니다.

예시 2: HTTP/HTTPS 트래픽 허용

웹 서버를 운영하는 경우, HTTP 및 HTTPS 트래픽을 허용해야 합니다:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

마찬가지로 출력 결과는 없습니다.

예시 3: ICMP(핑) 허용

서버에 핑을 허용하려면 다음 명령어를 사용합니다:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

출력 결과는 없습니다.

예시 4: 특정 IP 허용

특정 IP 주소에서의 접근을 허용하려면:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

출력 결과는 없습니다.

예시 5: 규칙 리스트 확인

현재 설정된 규칙을 확인하려면 다음 명령어를 사용합니다:

sudo iptables -L -n -v

출력 결과는 현재 설정된 규칙의 리스트를 보여줍니다.

규칙 저장 및 복원

설정한 iptables 규칙은 시스템 재부팅 시 사라지므로, 규칙을 저장해야 합니다:

sudo iptables-save > /etc/iptables/rules.v4

복원할 때는 다음 명령어를 사용합니다:

sudo iptables-restore < /etc/iptables/rules.v4

결론

iptables는 리눅스 시스템의 중요한 보안 도구입니다. 올바른 규칙을 설정하여 네트워크를 안전하게 보호하는 것이 중요합니다. 오늘 소개한 내용을 참고하여 여러분의 시스템을 안전하게 유지하시기 바랍니다.

이 글이 도움이 되셨다면 좋겠습니다. 감사합니다!

댓글

가장 많이 본 글

5. 버추얼박스:설정 (+네트워크의 종류 설명)

안녕하세요 , MJ 입니다 .   우리가 실습을 하는데에 필요한 버추얼박스의 설정에 대해 설명을 합니다 .     버추얼 박스의 설정에는 종류별로 메뉴가 구분되어있습니다 . 1-1. 환경설정 1-2. 네트워크 설정 1-3. 미디어 설정       다른 설정도 존재하지만 , 필요한 일이 없을것이 예상되고 , 위 3 가지 설정에 대해서만 알고 계신다면 버추얼 박스로 실습을 하는데에 아무런 지장이 없고 또 취업을 하신 뒤에 실무에 가셔서도 문제가 될 것이 없습니다 .   환경설정 부터 확인하겠습니다 . 1-1. 환경설정 : 우리가 알아야 편한 내용은 2 가지가 있는데 VM 의 기본 저장경로 설정 " 파일 (F)" 의 환경설정 (P) … [ 단축키 : Ctrl+G] 을 누르면 환경설정 창이 보이고 , 제일먼저 확인되는 기본 머신 폴더 (M) 입니다 . VM 을 저장 할 경로를 지정하는 것인데 VM 은 가상 머신으로 디스크의 용량과는 상관없이 , 가상 컴퓨터의 정보가 저장되는 것으로 , 텍스트 파일형태로 저장되어있고 , 그 내용에는 CPU 를 몇개 사용하도록 되어있는지 , 메모리는 얼마만큼을 할당하도록 되어있는지 , 네트워크 인터페이스는 몇 개가 어떻게 설정되어있는지 ... 등 가상의 컴퓨터를 정의하는 내용의 파일이 저장되는 경로가 되고 ,   디스크 파일은 별도 미디어 설정에서 관리가 되지만 VM 을 생성하는 과정에서 만든 디스크는 VM 저장경로에 함께 생성 되어있어 사용자가 파일탐색기로 경로를 찾아가보면 파일의 사이즈로 아 이것이 디스크 파일인가보구나 하고 알 수 있습니다 .( 용량이 크고 ...

MJ. 로또의 회차별 당첨번호 API 확인 (예제포함)

안녕하세요, MJ 입니다.   로또 당첨번호를 확인하기위해 동행복권 사이트를 찾아 가거나, 포털사이트에서 검색을 할 수 있지만, 다음 주소를 브라우저에 붙여넣거나, curl 명령을 이용하여 터미널에서 손쉽게 확인할 수 있는 방법이 있어 소개를 드리려고 합니다.     < URL> https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= < 회차번호 >     - API 주소 활용 방법 브라우저에 URL 입력하여 확인 .           >> 인터넷 주소창에 URL 을 입력       ( 윈도우 ) cmd / ( 리눅스 ) bash 터미널에서 curl 을 사용하여 확인 .( 예 : 123 회차 ) >> curl " https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= 123 " <cmd>   <bash>         python/java/c 등 코드를 만들어서 확인 . >> 코드를 짜서 확인하는 것이 , 데이터를 가공하기도 좋고 , 앞으로 출현할 숫자를 분석하기도 좋지만 , 자신이 원하는 대로 데이터를 가공하기 위해 시간과 노력의 투자가 필요함 .       [ (API 결과 예시 ) 123 회차 조회결과 ] >> json 형식으로 공백 , 줄바꿈이 없이 순서도 제멋대로 확인되지만 (브라우저나 터미널에서 확인하면), 다음과 같은 데이터가 확인됨 .   <확인한 정보 줄맞춰봄> #######...