리눅스마스터 2급 필기 16 — 인터넷 서비스 (웹·메일·FTP·DNS·SSH·NFS 총정리)
리눅스마스터 2급 필기 16 — 인터넷 서비스 (웹·메일·FTP·DNS·SSH·NFS 총정리)
출제기준: 2차 2과목(리눅스 활용) > 인터넷 활용 > 네트워크 서비스의 종류와 역할
기출 빈도: 인터넷 서비스 약 5.6% (2019~2023), 2과목 인터넷 활용 약 10문항 중 "서비스" 파트
— 포트 번호와 서비스별 짝(프로토콜–소프트웨어–설정 파일) 암기가 곧 점수입니다.
15편에서 네트워크 기본기(OSI, IP, 명령어)를 익혔다면, 이번 편은 그 위에서 돌아가는 서비스를 다룹니다.
범위는 넓지만 문제 유형은 매우 정형화되어 있습니다.
"이 서비스의 포트는?", "이 소프트웨어는 어떤 서비스?", "이 명령어는 무슨 기능?" 세 가지만 잡으면 됩니다.
1. 웹 서비스 (WWW) ⭐⭐⭐
| 항목 | 내용 |
| 제안자 | 팀 버너스 리 (1989, 유럽입자물리연구소 CERN) |
| 인터넷 vs 웹 | 인터넷 = 물리적 네트워크 인프라 / 웹 = 그 위에서 동작하는 서비스 중 하나 |
| 웹의 3대 기술 | HTTP(통신 규약), HTML(문서 구조), URL(자원 주소) |
| HTTP | 기본 포트 80 |
| HTTPS | HTTP + SSL/TLS 암호화, 기본 포트 443, 스니핑 방어 |
리눅스의 대표 웹 서버는 아파치(Apache, 데몬 이름 httpd) 입니다.
기출에서 "웹 서버 데몬은?" → httpd, "HTTP는 apache 사용"처럼 서비스–소프트웨어 짝으로 출제됩니다.
💡 보충(교재 외): 아파치의 최상위 문서 디렉터리는
DocumentRoot, 주 설정 파일은httpd.conf(Debian 계열은apache2.conf). 기출에tar -xvf etc.tgz | grep "httpd\.conf"형태로 파일명이 나옵니다.
2. 메일 서비스 ⭐⭐⭐⭐⭐
2-1. 메일 시스템 4대 구성요소
우체국에 비유하면 쉽습니다. 작성(사용자) → 발송(우체통) → 운송(우체국 간) → 배달(사서함) → 수신(확인).
| 구성 요소 | 풀네임 | 역할 | 대표 소프트웨어 |
| MUA | Mail User Agent | 사용자가 메일을 쓰고 읽는 프로그램 | Outlook, Thunderbird, Pine |
| MTA | Mail Transfer Agent | 서버 간 메일 전송·수신 | Sendmail, Postfix, Qmail |
| MDA | Mail Delivery Agent | 받은 메일을 사용자 사서함(Mailbox)에 최종 저장 (필터링 포함) | Procmail, Dovecot |
| MRA | Mail Retrieval Agent | 서버 사서함의 메일을 MUA로 가져옴 | Dovecot (POP3/IMAP 서버) |
⚠️ 함정: "한 호스트에서 받아 다른 호스트로 전달하는 역할, 대표 예 Sendmail·Qmail" → MTA.
"수신한 메시지를 필터링해 사용자 메일박스에 최종 저장" → MDA. 기출에서 4개 약어 중 하나를 고르는 문제가 반복됩니다.
2-2. 3대 메일 프로토콜
| 구분 | SMTP | POP3 | IMAP |
| 용도 | 메일 송신, 서버 간 교환 | 서버 메일을 로컬로 내려받음 | 서버의 메일을 직접 관리·읽기 |
| 포트 | 25 | 110 | 143 |
| 특징 | 텍스트 기반, 초기 보안 취약 | 가져오면 서버에서 삭제가 기본 | 서버–클라이언트 실시간 동기화, 여러 기기 사용에 유리 |
| SSL 포트 | 465(SMTPS) / 587(Submission, STARTTLS) | 995 | 993 |
기억법: 보낼 땐 SMTP(25), 받을 땐 POP3(110) / IMAP(143).
⚠️ 자주 나오는 오답 포인트
- "POP3 포트는 143" → 틀림 (143은 IMAP, POP3는 110)
- "AUTH는 메일 프로토콜" → 틀림 (메일은 SMTP/POP3/IMAP)
- "SNMP는 메일 프로토콜" → 틀림 (SNMP는 네트워크 장비 관리 프로토콜)
- "POP3가 IMAP보다 보안이 강력" → 틀림
2-3. 주요 메일 서버 소프트웨어
- Sendmail: 전통적인 MTA, 설정이 복잡
- Postfix: Sendmail과 호환되면서 보안·성능 개선, 현재 많은 배포판의 기본 MTA
- Dovecot: 보안·속도 우수한 오픈소스 POP3/IMAP 서버 (MDA·MRA 역할)
3. 파일 전송 서비스 (FTP) ⭐⭐⭐⭐⭐
FTP는 제어 연결과 데이터 연결을 분리합니다.
21번 = 제어 (인증·명령)
20번 = 데이터 전송 (ftp-data)
데이터와 계정 정보가 평문으로 오가기 때문에 스니핑에 취약합니다.
보안이 필요하면 SFTP(SSH 기반, 22번) 또는 FTPS(SSL/TLS 기반)를 씁니다.
3-1. 능동(Active) vs 수동(Passive)
| 구분 | 능동 모드 | 수동 모드 |
| 연결 주체 | 서버가 클라이언트에게 접속 | 클라이언트가 서버에게 접속 |
| 데이터 포트 | 서버의 20번 고정 | 서버의 1024번 이후 비특권 포트 |
| 특징 | 클라이언트 방화벽에 막히기 쉬움 | 방화벽 문제 해결, 현재 표준 |
| 명령 | PORT | PASV |
3-2. FTP 명령어 ⭐⭐⭐⭐⭐
| 구분 | 명령어 | 설명 |
| 디렉터리 | ls / cd / pwd / mkdir |
서버 쪽 목록·이동·현재 위치·생성 |
lcd [경로] |
내 컴퓨터(Local) 작업 디렉터리 변경 | |
| 전송 | get [파일] |
서버 → 내 PC 다운로드 |
put [파일] |
내 PC → 서버 업로드 | |
mget / mput |
여러 파일 다운로드/업로드 (패턴 사용) | |
delete [파일] |
서버 파일 삭제 | |
| 모드 | bin (binary) |
이미지·실행·압축 파일 |
ascii |
텍스트 파일 (TXT, HTML) | |
prompt |
여러 파일 전송 시 확인 메시지(Y/N) 토글 | |
hash |
전송 진행 상태를 # 으로 표시 |
⭐ hash는 기출 단골입니다. 교재 실전 01번도, 기출 해설도 모두 "진행 상태를 # 기호로 표시 = hash"입니다.
⚠️ 함정 모음
hash를 "체크섬으로 무결성 확인하는 명령"이라 쓴 보기 → 틀림passive는 전송 방식(모드)을 바꾸는 명령이지 진행 표시가 아님prompt는 진행 표시가 아니라 확인 질문 on/offget/put방향 혼동 주의: 서버 기준이 아니라 내 PC 기준 다운로드/업로드
🔗 비슷한 모양 주의:
rpm -ivh의h도 hash(# 진행 표시)입니다. 12편(소프트웨어 설치)과 같은 개념이에요.
3-3. FTP 서버 소프트웨어 (기출 보강)
FTP 서버 구축은 vsftpd 또는 proftpd를 설치합니다.
기출에 "FTP: vsftpd 사용 / SMTP: sendmail 사용 / HTTP: apache 사용" 같은 짝짓기가 나옵니다.
4. 도메인 서비스 (DNS) ⭐⭐⭐⭐⭐
사람이 읽는 도메인 이름 ↔ IP 주소를 변환하는 분산 데이터베이스 시스템입니다.
- 정방향 조회(Forward): 도메인 → IP
- 역방향 조회(Reverse): IP → 도메인
- 포트: UDP 53(일반 질의응답), TCP 53(서버 간 영역 전송, Zone Transfer)
- 대표 구현: BIND (기출: "bind: DNS 이름과 IP 주소를 매핑하는 서비스")
4-1. 계층 구조
. (Root) > TLD(com, kr) > SLD(google, naver) > Sub(www, mail, ftp)
예) www.google.com. : 루트(.) > com > google > www
예) naver.co.kr : kr(TLD) > co(SLD) > naver
- 최상위 도메인(TLD) 예: com(영리), org(비영리), gov(정부), net(네트워크), edu(교육), kr·jp(국가)
- ⚠️
or은 TLD가 아닙니다!or.kr처럼 국가 도메인 아래 쓰이는 2단계 도메인입니다. (교재 실전 02번 정답 ④)
4-2. 레코드 타입 ⭐⭐⭐⭐⭐
| 타입 | 의미 | 역할 |
| SOA | Start of Authority | 해당 영역(Zone)에 대한 권한의 시작 |
| A | Address | 호스트 이름 → IPv4 |
| AAAA | IPv6 Address | 호스트 이름 → IPv6 |
| CNAME | Canonical Name | 별칭(Alias) 부여 |
| MX | Mail Exchanger | 도메인의 메일 서버 지정 |
| NS | Name Server | 도메인을 관리하는 네임 서버 지정 |
| PTR | Pointer | IP → 도메인 역방향 조회 |
기억법: A=주소, MX=메일, NS=네임서버, CNAME=별명, PTR=역방향, SOA=권한 시작.
🔗 DNS와 메일의 관계: 상대 도메인에 메일을 보내려면 그 도메인의 MX 레코드를 조회하고, 그 메일 서버의 IP는 A 레코드로 해결합니다. 메일 서비스는 DNS에 의존합니다.
5. 원격 서비스 (Telnet vs SSH) ⭐⭐⭐⭐⭐
| 구분 | Telnet | SSH |
| 기본 포트 | TCP 23 | TCP 22 |
| 데이터 | 평문 | 암호화 |
| 보안성 | 매우 취약 (스니핑) | 매우 강력 |
| 인증 | 단순 ID/PW | 공개키(비대칭키) 등 |
| 파일 전송 | 없음 | SCP, SFTP 지원 |
| 관계 | 과거의 유물 | Telnet·rlogin의 완벽한 대체재 |
5-1. telnet 옵션
| 옵션 | 기능 |
-a |
현재 사용자 이름 자동 전송 |
-l 사용자명 |
접속 계정 미리 지정 (telnet -l user1 192.168.1.100) |
-8 |
8비트 데이터 통신 (한글 깨짐 방지) |
-e 문자 |
탈출 문자 지정 (기본 Ctrl+]) |
-n 파일 |
로그를 파일에 기록 |
5-2. ssh 옵션 ⭐⭐⭐⭐⭐
기본형: ssh [사용자계정]@[호스트주소]
| 옵션 | 기능 | 예시 |
| -p | 포트 번호 지정 (소문자) | ssh -p 2022 user@192.168.1.100 |
| -X / -Y | X11 포워딩 (GUI 원격 실행) | ssh -X user@host |
| -i | Identity(키) 파일 지정 | ssh -i ~/.ssh/my_key.pem user@host |
| -v | 디버그 모드 (접속 과정 상세 출력) | |
| -L | 로컬 포트 포워딩 | ssh -L 8080:localhost:80 user@server |
| -R | 리모트 포트 포워딩 | ssh -R 9000:localhost:3000 user@server |
기출 문제 유형: "SSH 서버 포트가 19000으로 바뀌었다. 접속 명령은?" → ssh -p 19000 192.168.5.13.
포트만 바꿔 계속 출제됩니다 (ssh -p 180 192.168.5.3 등).
⚠️ -l은 login name, -N은 원격 명령 없이 포트 포워딩만, -n은 표준 입력을 /dev/null로 — 포트와 헷갈리지 마세요.
포트는 소문자 -p 입니다.
🔗 14편(X 윈도)에서 배운 ssh -X 가 여기서 다시 등장합니다. xhost로 문을 열어 두는 것보다 안전한 방법이에요.
6. 파일 공유 서비스 (NFS) ⭐⭐⭐⭐
NFS(Network File System) 는 1984년 썬 마이크로시스템즈가 개발했고, 네트워크상 다른 컴퓨터의 디렉터리를 내 디스크처럼 마운트해서 씁니다.
| 항목 | 내용 |
|---|---|
| 항목 | 내용 |
| 서버 공유 설정 파일 | /etc/exports (⚠️ /etc/fstab은 부팅 시 마운트 정보 파일) |
| RPC 중계 데몬 | rpcbind (구버전 이름 portmap) — NFS가 먼저 요구 |
| 공유 목록 확인 | showmount -e |
| 설정 즉시 반영 | exportfs -a (데몬 재시작 없이) |
no_root_squash |
클라이언트 root를 서버에서도 root로 인정 (기본은 root_squash — anonymous 취급) |
💡 보충:
/etc/exports예 →/data 192.168.0.0/24(rw,sync,no_root_squash).
클라이언트 마운트 →mount -t nfs 서버:/data /mnt.exportfs -r은 전체 재동기화,exportfs -v는 현재 공유 상태.
NFS는 포트가 고정되지 않아 mountd·statd 등이 동적 포트를 쓰기 때문에 rpcbind(111번) 가 없으면 동작하지 않습니다.
기출에서 portmap → rpcbind로 이름이 바뀐 것을 묻는 빈칸 문제(㉠ portmap ㉡ rpcbind)와 rpcinfo(RPC 정보 조회) 명령도 나옵니다.
7. 그 밖의 서비스 (기출 보강) ⭐⭐⭐
기출 보기에 자주 등장하는 "서비스–설명 짝짓기"입니다.
| 서비스 | 설명 |
| Samba | 리눅스/유닉스 ↔ 윈도우 간 파일·프린터 공유 (SMB/CIFS 프로토콜) |
| NFS | 유닉스/리눅스 간 디렉터리 공유 |
| NIS | 네트워크 정보(계정 등)를 중앙 집중식으로 유지·배포 |
| Usenet | 텍스트 기반 뉴스 게시판(분산 토론) 서비스 |
| IRC | 채팅 시스템 |
| SNMP | 네트워크 장비 관리 프로토콜 |
| tcpd | TCP 접속 제어 데몬 (TCP Wrapper) |
⭐ "FTP, SAMBA, NFS는 모두 파일/디렉터리 공유를 위한 서비스" 같은 문장이 정답 보기로 자주 나옵니다.
반대로 "Usenet은 파일 공유"라는 식은 오답입니다.
💡 보충: 프린터 쪽에서도 Samba가 나옵니다 (13편).
윈도우 공유 프린터에 연결하는 방식이 "Samba Printer"였죠.
이기종 원격 프린터는 삼바로 가능합니다.
8. 포트 번호 총정리표 ⭐⭐⭐⭐⭐
15편 포트표 + 이번 편 내용을 한 장으로 합칩니다. 시험 직전엔 이 표만 보세요.
| 서비스 | 포트 | 프로토콜 | 평문/암호화 |
| FTP 데이터 | 20 | TCP | 평문 |
| FTP 제어 | 21 | TCP | 평문 |
| SSH / SFTP | 22 | TCP | 암호화 |
| Telnet | 23 | TCP | 평문 |
| SMTP | 25 | TCP | 평문 (465/587은 암호화) |
| DNS | 53 | UDP(질의) / TCP(영역 전송) | |
| HTTP | 80 | TCP | 평문 |
| POP3 | 110 | TCP | 평문 (995 암호화) |
| rpcbind | 111 | ||
| IMAP | 143 | TCP | 평문 (993 암호화) |
| HTTPS | 443 | TCP | 암호화 |
평문–암호화 쌍: Telnet–SSH, FTP–SFTP/FTPS, HTTP–HTTPS, SMTP/POP3/IMAP–SMTPS/POP3S/IMAPS.
보안 감사 때 1순위로 점검하는 항목이기도 합니다.
기출 문제 Q&A
Q. 진행 상태를 # 기호로 표시하는 FTP 명령어는?
A. hash
Q. 한 호스트에서 메일을 받아 다른 호스트로 전달하는 역할을 하며 Sendmail, Qmail이 대표적인 구성 요소는?
A. MTA (Mail Transfer Agent)
Q. 수신한 메시지를 필터링한 후 사용자의 메일박스에 최종 저장하는 프로그램은?
A. MDA (Mail Delivery Agent)
Q. POP3의 기본 포트 번호는? SSL 적용 시는?
A. 110 / 995 (25번은 SMTP)
Q. SSH 서비스 포트가 19000번으로 변경되었다. 192.168.5.13 서버에 접속하는 명령은?
A. ssh -p 19000 192.168.5.13
Q. NFS 서버의 공유 설정 파일은?
A. /etc/exports
Q. 다음 중 최상위 도메인(TLD)이 아닌 것: com / org / net / or
A. or (or.kr의 2단계 도메인)
Q. FTP에서 제어용·데이터용 포트 번호는?
A. 제어 21, 데이터(ftp-data) 20
Q. 리눅스와 윈도우 간 파일·프린터를 공유하는 서비스는?
A. Samba
💡 실무에서는?
서비스 포트 문제는 시험에서만 중요한 게 아닙니다.
보안 점검(취약점 진단) 때 가장 먼저 보는 게 평문 서비스가 열려 있는지입니다.
Telnet(23), FTP(21), POP3(110) 같은 포트가 열려 있으면 바로 지적 사항이에요.
점검할 땐 ss -tlnp(15편에서 배운 netstat 후계)로 리슨 중인 포트를 보고, 외부에서는 telnet 서버 포트나 nc -zv 서버 포트로 열려 있는지를 확인합니다. 그리고 telnet 클라이언트는 접속용으로는 퇴출됐지만 "이 포트가 열려 있나?" 확인용으로는 아직도 현역입니다.
NFS는 no_root_squash를 함부로 켜 두면 클라이언트 root가 서버 파일을 마음대로 건드릴 수 있어서, 접근 IP를 제한하고 root_squash를 유지하는 게 원칙입니다.
핵심 정리
✅ 웹: 팀 버너스 리(CERN, 1989), HTTP 80 / HTTPS 443(SSL/TLS), 아파치=httpd
✅ 메일: MUA(Outlook) / MTA(Sendmail·Postfix·Qmail) / MDA(Procmail·Dovecot) / MRA(Dovecot)
✅ SMTP 25 / POP3 110 / IMAP 143 (SSL: 465·587 / 995 / 993)
✅ FTP: 제어 21 / 데이터 20, 능동(PORT) vs 수동(PASV), vsftpd·proftpd
✅ FTP 명령: get/put/mget/mput/lcd/bin/ascii/prompt/hash(#)
✅ DNS: UDP 53 / TCP 53(영역 전송), BIND, A·AAAA·CNAME·MX·NS·PTR·SOA
✅ or는 TLD가 아님 / 메일 전송 시 MX → A 조회
✅ Telnet 23(평문) vs SSH 22(암호화), ssh -p / -X / -i / -L / -R
✅ NFS: /etc/exports, rpcbind(구 portmap), showmount -e, exportfs -a, no_root_squash
✅ Samba(윈도우↔리눅스), NIS(중앙 집중), Usenet(게시판), IRC(채팅), SNMP(장비 관리)
다음 17편은 응용 분야입니다.
가상화, 클라우드, 빅데이터, 임베디드(안드로이드 등)까지 최신 기술 용어 위주로 정리합니다.
암기 비중이 높은 파트라 정리표 중심으로 가볍게 갈게요!
궁금한 점은 댓글로 남겨주세요!