데몬(daemon)
멀티태스킹 운영 체제에서 데몬은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램
- 윈도우의 서비스 개념
- 도깨비처럼 보이지 않는 곳에서 작업을 하는 백그라운드 프로세스
- 데몬이라는 표시를 위해 뒤에는 d가 붙는다(syslogd 등).
- 시스템의 시작과 끝을 함께함
- 관리자 권한으로 실행되어 네트워크 요청이나 하드웨어 동작 등 여러 기능을 담당
- 부모 프로세스가 없음
- PPID(부모 프로세스 ID)는 1이며 시스템의 첫 프로세스인 init의 바로 하위에 위치
활용 : Daemon Process를 실행하여 웹 서비스 게시하기
필요 작업 : 네트워크 포트를 사용하는 데몬을 겹치지 않게 설정하기
TCP 통신을 진행중인 서비스의 연결 상태 확인(현재 사용하는 TCP 포트 조회)
netstat -tnlp
netstat은 Network Statistics의 약자 (네트워크의 문제를 찾아내고 성능 측정으로 네트워크상의 트래픽 양을 결정하기 위해 사용)
netstat -h // netstat 옵션 도움말
옵션 "t" : TCP, "n": 10진수(Numeric), "l": Listening, "p":포트를 사용하고 있는 프로세스
시스템 콘솔에 표시되는 네트워크 정보항목
Proto(Protocol) | 프로토콜의 종류, TCP 또는 UDP |
Local Address | 자기 자신의 IP 주소와 포트 번호, 0.0.0.0은 특정 IP와 연결되어 있지 않다는 뜻 |
Foreign Address | 상대방 측의 IP주소와 포트 번호, 0.0.0.0은 아직 통신이 시작되지 않았다는 뜻 |
State | 현재 서비스의 연결상태 |
PID/Program name | 프로세스 ID와 이름 |
State 항목
LISTENING | 현재 서비스를 기다리는 상태 |
ESTABLISHED | 다른 컴퓨터와 연결된 상태 |
CLOSED | 연결이 완전히 종료된 상태 |
TIME WAIT | 연결은 종료되었으나 잠시 소켓을 열어놓은 상태 |
모든 포트 번호에 연결된 프로세스 정보 확인
netstat -tnlp | grep -v 127.0.0.1 | sed 's/:::/0 /g' | sed 's/[:\/]/ /g' | awk '{print $5"\t"$10}' | sort -ug
프로세스 검색
ps -ef | grep 프로세스이름
프로세스 종료 ( PID = 프로세스 ID )
kill -9 프로세스ID
현재 시스템 방화벽에 특정 포트 허용
CentOS 7 | firewall-cmd --permanent --zone=public --add-port=포트번호/tcp |
CentOS 6 | iptables -I INPUT 1 -p tcp --dport 포트번호 -j ACCEPT |
현재 시스템에 설정되어 있는 방화벽 정보
CentOS 7 | firewall-cmd --list-all |
CentOS 6 | iptables -L -v |
특정 포트를 허용하지 않도록 방화벽 설정
CentOS 7 | firewall-cmd --permanent --zone=public --remove-port=포트번호/tcp |
CentOS 6 | iptables -D INPUT 1 -p tcp --dport 포트번호 -j ACCEPT |
방화벽 설정 : 루트(/) 디렉토리의 "/usr/lib/firewalld"에 보관
방화벽 설정 확인하기
ls -alsh /usr/lib/firewalld
'Programming > Linux' 카테고리의 다른 글
인바운드, 아웃바운드 (0) | 2020.10.12 |
---|---|
Well-Known PORT (0) | 2020.10.12 |
SELinux (0) | 2020.10.12 |
SELinux (0) | 2020.10.12 |
IP 주소 확인, 포트포워딩, 고정하기 (0) | 2020.09.30 |