기타 / 자격증 / 리눅스마스터 2급 / 13강

13편 · 인터넷 활용 (2) 네트워크 서비스와 인터페이스

이번 강의에서 배울 것

  • 메일 프로토콜(SMTP·POP3·IMAP)과 MTA·MUA·MDA의 역할, 대표 프로그램을 짝짓는다.
  • FTP 능동·수동 모드의 연결 방향과 포트를 설명하고 SFTP·scp와 구분한다.
  • DNS 레코드 종류, /etc/hosts·/etc/resolv.conf, nslookup·dig·host의 쓰임을 말한다.
  • NFS(/etc/exports)·Samba(smb.conf) 설정과 잘 알려진 포트, ip·ifconfig·nmcli·route·ss 명령과 설정 파일을 읽고 쓴다.

학습 경로 · 3과목 2장 (2)

← 12편 · 인터넷 활용 (1) 네트워크 기초 · 다음: 14편 · 응용분야 →

범위: 3과목 2장 "인터넷 활용" 중 메일 서비스, 파일 전송 서비스, 도메인 서비스, 원격 서비스, 파일 공유 서비스, 네트워크 인터페이스. 계층·IP·서브넷은 12편에서 다뤘다.

형광펜 읽는 법: 노랑 핵심 정의·결론 · 빨강 시험에서 헷갈리는 구분·함정 · 파랑 외워야 할 순서·목록


단원 도입

출제 포인트빈도이렇게 나온다
잘 알려진 포트 번호★★★"POP3의 기본 포트", "포트 연결이 틀린 것"
네트워크 명령어(ip, ifconfig, route, netstat, ss, ping, nmcli)★★★출력 → 명령, 옵션 의미, 기본 게이트웨이 추가
DNS 레코드·조회 명령, /etc/resolv.conf★★★"메일 서버를 지정하는 레코드", "네임서버를 적는 파일"
메일 프로토콜과 MTA·MUA·MDA★★sendmail은 무엇인가, 메일을 받아 오는 프로토콜
FTP 능동·수동 모드★★데이터 연결을 누가 여는가, 20·21번 포트
NFS /etc/exports·Samba smb.conf★★옵션 의미(root_squash), 설정 파일 이름
원격 접속(telnet·ssh·r-계열·VNC)★★암호화 여부, 포트
인터페이스 설정 파일(ifcfg-, interfaces, netplan)★배포판별 경로, BOOTPROTO 값

PART 1 · 인터넷 서비스

1. 메일 서비스

핵심 필기

구성 요소하는 일대표 프로그램
MUA (Mail User Agent)사용자가 메일을 쓰고 읽는 클라이언트Thunderbird, Outlook, Evolution, mutt, pine, mail
MTA (Mail Transfer Agent)메일을 다른 서버로 전송·중계하는 서버sendmail, postfix, qmail, exim
MDA (Mail Delivery Agent)MTA가 받은 메일을 사용자 메일함에 배달procmail, maildrop
MRA (Mail Retrieval Agent)메일함의 메일을 POP3·IMAP으로 꺼내 주는 서버dovecot, fetchmail(클라이언트 측 수집)
프로토콜포트 (보안)방향특징
SMTP25 (SMTPS 465, 제출 587)보내기 · 서버 간 전달MUA → MTA → MTA
POP3110 (POP3S 995)받기메일을 내려받고 서버에서 삭제(기본), 단일 기기
IMAP143 (IMAPS 993)받기메일을 서버에 두고 동기화, 폴더·여러 기기

보내는 사람의 MUA에서 SMTP로 MTA를 거쳐 받는 쪽 MTA로 전달되고, MDA가 메일함에 넣은 뒤 받는 사람의 MUA가 POP3 또는 IMAP으로 가져가는 흐름도

그림 13-1 · 메일이 전달되는 길 — 누르면 원본 크기로 열린다.

sendmail 관련 파일·명령

파일·명령쓰임
/etc/mail/sendmail.cfsendmail 주 설정 파일 (m4로 sendmail.mc에서 생성)
/etc/mail/access릴레이 허용·거부 (makemap hash로 DB 생성)
/etc/mail/local-host-names이 서버가 메일을 받을 도메인 목록
/etc/aliases메일 별칭, 수정 후 newaliases 실행
/etc/mail/virtusertable가상 사용자·도메인 매핑
/var/spool/mail/사용자사용자 메일함(mbox)
mailq전송 대기열(큐) 확인
/etc/postfix/main.cfpostfix 주 설정 파일

2. 파일 전송 서비스 — FTP·SFTP·scp

핵심 필기

  • FTP(File Transfer Protocol)는 제어 연결 21번과 데이터 연결을 따로 쓴다.
  • 능동 모드(Active): 클라이언트가 PORT로 자기 포트를 알려 주면 서버가 20번 포트에서 클라이언트 쪽으로 데이터 연결을 연다. 클라이언트 방화벽에 막히기 쉽다.
  • 수동 모드(Passive): 클라이언트가 PASV를 보내면 서버가 임의의 높은 포트를 알려 주고, 클라이언트가 그 포트로 데이터 연결을 연다. 방화벽·NAT 환경에서 주로 쓴다.

FTP 능동 모드와 수동 모드를 위아래로 비교한 그림. 두 모드 모두 클라이언트가 서버 21번으로 제어 연결을 열고, 능동 모드는 서버 20번이 클라이언트로 데이터 연결을 열며, 수동 모드는 클라이언트가 서버의 임의 높은 포트로 데이터 연결을 연다

그림 13-2 · FTP 능동 모드와 수동 모드 — 누르면 원본 크기로 열린다.

서비스포트암호화비고
FTP20(데이터, 능동), 21(제어)없음(평문)vsftpd, proftpd, wu-ftpd. 익명 FTP는 anonymous 계정
FTPS990(암묵적) 등SSL/TLSFTP + TLS
SFTP22SSHSSH 위에서 동작하는 파일 전송 (FTP와 별개 프로토콜)
scp22SSHscp 파일 사용자@호스트:경로 복사
TFTPUDP 69없음인증 없음, 네트워크 부팅·장비 펌웨어
$ ftp ftp.example.com          # 접속 후 ftp> 프롬프트
ftp> bin                        # 바이너리 모드 (ascii는 텍스트 모드)
ftp> get report.tar.gz          # 하나 받기 (mget: 여러 개)
ftp> put notes.txt              # 하나 올리기 (mput: 여러 개)
ftp> lcd /tmp                   # 로컬 디렉터리 이동 (cd는 서버 쪽)
ftp> passive                    # 수동 모드 전환
ftp> bye                        # 종료 (quit도 가능)
 
$ scp backup.tar.gz kim@192.168.1.20:/data/        # 로컬 → 원격
$ scp -r kim@192.168.1.20:/var/www ./www-copy      # 원격 디렉터리 → 로컬 (-r 재귀)
$ scp -P 2222 a.txt kim@server:                    # 포트 지정은 대문자 -P
$ sftp kim@192.168.1.20                            # sftp> get / put / ls / bye
  • vsftpd 설정 파일: /etc/vsftpd/vsftpd.conf(Red Hat 계열) 또는 /etc/vsftpd.conf(Debian 계열). anonymous_enable, local_enable, write_enable, chroot_local_user 등. 접속 거부 사용자 목록은 /etc/vsftpd/ftpusers, user_list.

3. 도메인 서비스 — DNS

핵심 필기

  • DNS(Domain Name System): 도메인 이름 ↔ IP 주소를 바꿔 주는 분산 데이터베이스. 포트 53 (일반 질의 UDP, 영역 전송(zone transfer)·큰 응답은 TCP). 리눅스 서버 프로그램은 BIND(데몬 named, 설정 /etc/named.conf).
  • 도메인 구조: 루트(.) → 최상위 도메인 TLD(com, kr) → 2차 도메인 → 호스트. 끝까지 다 쓴 이름이 FQDN(www.example.com.).
  • 정방향 조회: 이름 → IP / 역방향 조회: IP → 이름 (PTR, in-addr.arpa).
레코드뜻
A이름 → IPv4 주소
AAAA이름 → IPv6 주소
CNAME별칭 → 정식 이름 (www → web01.example.com)
MX메일 서버 지정 (우선순위 숫자가 작을수록 먼저)
NS그 영역을 맡은 네임 서버
PTRIP → 이름 (역방향)
SOA영역의 시작·권한 정보 (주 네임서버, 관리자, 일련번호, 갱신 주기)
TXT임의 문자열 (SPF 등)
SRV서비스 위치(서비스·프로토콜·포트)

이름 풀이 관련 파일

파일역할예
/etc/hosts이름-IP를 직접 적는 로컬 표 (DNS보다 먼저 보는 것이 기본)192.168.1.20 web01 web01.example.com
/etc/resolv.conf질의할 네임서버와 검색 도메인nameserver 8.8.8.8 / search example.com
/etc/nsswitch.conf조회 순서hosts: files dns (files = /etc/hosts)
/etc/host.conf옛 방식 조회 순서order hosts,bind
$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
options timeout:2 attempts:3

조회 명령 (출력은 형식 예시, 주소는 문서용 대역)

$ nslookup www.example.com          # 대화형·비대화형 모두 가능
Server:         8.8.8.8
Address:        8.8.8.8#53
 
Non-authoritative answer:
Name:   www.example.com
Address: 192.0.2.10
 
$ nslookup -type=mx example.com     # 레코드 종류 지정
$ dig example.com MX                 # 상세 출력 (QUESTION/ANSWER SECTION)
$ dig @8.8.8.8 www.example.com A +short
192.0.2.10
$ dig -x 192.0.2.10                  # 역방향(PTR) 조회
$ host www.example.com               # 간단한 출력
www.example.com has address 192.0.2.10
$ host -t ns example.com             # -t 로 레코드 종류 지정

4. 원격 접속 서비스

서비스포트암호화특징
telnet23없음(평문)계정·비밀번호까지 평문 전송, 현재는 비권장
ssh22있음telnet·r-계열 대체. 서버 OpenSSH(sshd), 설정 /etc/ssh/sshd_config
rlogin / rsh / rexec513 / 514 / 512없음r-계열. ~/.rhosts, /etc/hosts.equiv로 비밀번호 없이 신뢰 접속 → 보안 취약
VNC5900 + 디스플레이 번호 (웹 5800)기본 약함GUI 화면 공유(RFB 프로토콜), vncserver, vncviewer
RDP3389있음Windows 원격 데스크톱 (리눅스에서는 xrdp·rdesktop)
$ ssh kim@192.168.1.20                 # = ssh -l kim 192.168.1.20
$ ssh -p 2222 kim@192.168.1.20         # 포트 지정 (소문자 -p)
$ ssh kim@192.168.1.20 'df -h /'       # 원격에서 명령 하나만 실행
$ ssh-keygen -t ed25519                # 키 쌍 생성 → ~/.ssh/id_ed25519(.pub)
$ ssh-copy-id kim@192.168.1.20         # 공개키를 원격 ~/.ssh/authorized_keys에 추가
  • sshd_config 주요 항목: Port 22, PermitRootLogin no, PasswordAuthentication no. 처음 접속한 서버의 호스트 키는 ~/.ssh/known_hosts에 저장된다.

5. 파일 공유 서비스 — NFS와 Samba

NFS (Network File System)

  • 유닉스·리눅스끼리 디렉터리를 네트워크로 공유. 포트 2049, RPC를 쓰므로 rpcbind(portmap, 111번)가 필요하다.
  • 서버 설정 파일 /etc/exports: 공유디렉터리 허용호스트(옵션,옵션)
# /etc/exports
/data/share   192.168.1.0/24(rw,sync,no_root_squash)
/data/pub     *(ro,all_squash)
/home/kim     server2.example.com(rw)
옵션뜻
rw / ro읽기·쓰기 / 읽기 전용
sync / async변경을 디스크에 바로 기록 / 나중에 기록
root_squash (기본값)클라이언트의 root를 nobody(익명)로 바꿔 권한 제한
no_root_squash클라이언트 root를 서버에서도 root로 인정
all_squash모든 사용자를 익명 사용자로 매핑
anonuid=, anongid=익명 사용자로 쓸 UID·GID 지정
# exportfs -ra                         # /etc/exports 다시 읽어 적용 (-a 전체, -r 재공유)
# exportfs -v                          # 현재 공유 목록과 옵션
$ showmount -e 192.168.1.10            # 서버가 공유 중인 목록 확인
# mount -t nfs 192.168.1.10:/data/share /mnt/share
# /etc/fstab 에 영구 등록
192.168.1.10:/data/share  /mnt/share  nfs  defaults  0 0

Samba (SMB/CIFS)

  • 리눅스와 Windows 사이 파일·프린터 공유. 프로토콜 SMB/CIFS, 포트 137·138(UDP), 139, 445(TCP).
  • 데몬: smbd(파일·프린터 공유), nmbd(NetBIOS 이름 서비스). 설정 파일 /etc/samba/smb.conf.
[global]
   workgroup = WORKGROUP
   server string = Linux Samba Server
   security = user
 
[share]
   comment = 팀 공유 폴더
   path = /data/samba
   writable = yes
   valid users = kim, lee
# smbpasswd -a kim                       # Samba 사용자 추가(시스템 계정이 있어야 함)
$ testparm                               # smb.conf 문법 검사
$ smbclient -L //192.168.1.10 -U kim     # 공유 목록 보기
$ smbclient //192.168.1.10/share -U kim  # FTP처럼 접속
# mount -t cifs //192.168.1.10/share /mnt/smb -o username=kim

6. 잘 알려진 포트 번호표

0–1023이 잘 알려진 포트(well-known), 1024–49151이 등록 포트, 49152–65535가 동적 포트다. 리눅스에서는 /etc/services에 서비스 이름과 포트가 적혀 있다.

포트서비스포트서비스
20 / 21FTP 데이터 / 제어143IMAP
22SSH, SFTP, scp161 / 162SNMP / SNMP trap (UDP)
23Telnet389LDAP
25SMTP443HTTPS
53DNS445SMB (Samba)
67 / 68DHCP 서버 / 클라이언트 (UDP)465 / 587SMTPS / 메일 제출
69TFTP (UDP)514syslog(UDP) · rsh(TCP)
80HTTP993 / 995IMAPS / POP3S
110POP32049NFS
111rpcbind(portmap)3306MySQL·MariaDB
123NTP (UDP)3389RDP
137–139NetBIOS (Samba)5900VNC
$ grep -E '^(ftp|ssh|telnet|smtp|domain|http|pop3|imap2|https|nfs)\s' /etc/services
ftp             21/tcp
ssh             22/tcp                          # SSH Remote Login Protocol
telnet          23/tcp
smtp            25/tcp          mail
domain          53/tcp                          # Domain Name Server
domain          53/udp
http            80/tcp          www             # WorldWideWeb HTTP
pop3            110/tcp         pop-3           # POP version 3
imap2           143/tcp         imap            # Interim Mail Access P 2 and 4
https           443/tcp                         # http protocol over TLS/SSL
https           443/udp                         # HTTP/3
nfs             2049/tcp                        # Network File System
nfs             2049/udp                        # Network File System

PART 2 · 네트워크 인터페이스

7. 인터페이스 확인과 설정 명령

핵심 필기

  • 인터페이스 이름: lo(루프백), eth0(전통적 이더넷), enp0s3·ens33(예측 가능한 이름), wlan0(무선).
  • 오래된 net-tools 패키지(ifconfig, route, netstat, arp)는 iproute2(ip, ss)로 대체되는 중이다. 시험은 둘 다 묻는다.
할 일net-tools (옛)iproute2 (새)
주소 보기ifconfig -aip addr show (ip a)
주소 지정ifconfig eth0 192.168.1.10 netmask 255.255.255.0 upip addr add 192.168.1.10/24 dev eth0
인터페이스 켜기·끄기ifconfig eth0 up / down (ifup·ifdown eth0)ip link set eth0 up / down
라우팅 표route -n, netstat -rip route (ip r)
기본 게이트웨이 추가route add default gw 192.168.1.1ip route add default via 192.168.1.1
ARP 표arp -a, arp -nip neigh
소켓·포트netstat -tulnss -tuln

실제 리눅스에서 본 출력:

$ ip addr show eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:fc:00:00:00:01 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.2/24 brd 192.0.2.255 scope global eth0
       valid_lft forever preferred_lft forever
 
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1400
        inet 192.0.2.2  netmask 255.255.255.0  broadcast 192.0.2.255
        ether 02:fc:00:00:00:01  txqueuelen 1000  (Ethernet)
        RX packets 36437  bytes 43491761 (43.4 MB)
        TX packets 36482  bytes 70540667 (70.5 MB)
 
$ ip route
default via 192.0.2.1 dev eth0
192.0.2.0/24 dev eth0 proto kernel scope link src 192.0.2.2
 
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.0.2.1       0.0.0.0         UG    0      0        0 eth0
192.0.2.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
  • route -n 의 Flags: U(Up, 사용 중), G(Gateway를 거침), H(Host 경로). 목적지 0.0.0.0 + 마스크 0.0.0.0 줄이 기본 게이트웨이다. -n은 이름 대신 숫자로 보여 준다.

연결 상태 확인 — netstat·ss

옵션뜻
-t / -uTCP / UDP
-lLISTEN(대기) 중인 소켓만
-n이름 풀이 없이 숫자 주소·포트
-a모든 소켓
-p소켓을 연 프로세스(PID/이름)
-r (netstat)라우팅 테이블
-i (netstat)인터페이스별 통계
$ ss -tuln
Netid State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
tcp   LISTEN 0      128          0.0.0.0:22         0.0.0.0:*
tcp   LISTEN 0      511          0.0.0.0:80         0.0.0.0:*
 
$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN

연결 점검 명령

명령쓰임
ping -c 4 8.8.8.8ICMP Echo로 도달 여부·왕복 시간. -c 횟수(리눅스 ping은 기본적으로 Ctrl+C까지 계속)
traceroute 8.8.8.8목적지까지 거치는 라우터(홉) 경로. TTL을 1씩 늘려 확인 (tracepath도 비슷)
hostname, hostnamectl set-hostname web01호스트 이름 보기·영구 변경 (/etc/hostname)
ethtool eth0, mii-tool랜카드 속도·duplex·링크 상태
arp -a, ip neighIP ↔ MAC 캐시

8. NetworkManager와 설정 파일

nmcli — NetworkManager를 명령줄에서 다룬다(nmtui는 텍스트 메뉴판).

$ nmcli device status                       # 장치(디바이스)별 상태
$ nmcli connection show                     # 연결 프로파일 목록 (con 으로 줄여도 됨)
# nmcli connection modify eth0 ipv4.method manual \
      ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
# nmcli connection up eth0                  # 적용 (down 으로 끄기)
# nmcli connection add type ethernet ifname eth1 con-name office

배포판별 설정 파일

계열파일주요 항목
Red Hat·CentOS (전통)/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0, BOOTPROTO=static 또는 dhcp, ONBOOT=yes, IPADDR=, NETMASK=(또는 PREFIX=), GATEWAY=, DNS1=
Red Hat (옛)/etc/sysconfig/networkNETWORKING=yes, HOSTNAME=, GATEWAY=
Debian·옛 Ubuntu/etc/network/interfacesauto eth0 / iface eth0 inet static / address, netmask, gateway
Ubuntu 18.04+/etc/netplan/*.yaml적용은 netplan apply
공통/etc/hostname, /etc/hosts, /etc/resolv.conf, /etc/services, /etc/protocols호스트명, 이름 풀이, 포트·프로토콜 번호
# /etc/sysconfig/network-scripts/ifcfg-eth0  (고정 IP 예)
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
  • 적용: systemctl restart network(옛 RHEL) 또는 systemctl restart NetworkManager, nmcli connection reload.
  • 최신 RHEL 9 계열은 ifcfg 대신 /etc/NetworkManager/system-connections/*.nmconnection(keyfile)을 기본으로 쓴다.

실전 문제

다음 중 서비스와 기본 포트의 연결이 틀린 것은?

보기를 선택해 주세요.
힌트 1 보기

메일을 받아 오는 두 프로토콜 중 숫자가 작은 쪽이 POP3다.

정답·해설 보기

C. POP3는 110번, 143번은 IMAP이다.

다음 중 MTA(Mail Transfer Agent)에 해당하지 않는 것은?

보기를 선택해 주세요.
힌트 1 보기

사용자가 직접 메일을 읽고 쓰는 프로그램은 무엇이라 부르는가?

정답·해설 보기

D. Thunderbird는 MUA(메일 클라이언트)다. sendmail·postfix·qmail은 MTA다.

FTP에 대한 설명으로 옳은 것은?

보기를 선택해 주세요.
힌트 1 보기

방화벽 뒤 클라이언트에 유리한 모드는 "클라이언트가 바깥으로 연결을 여는" 쪽이다.

정답·해설 보기

B. 능동 모드는 서버 20번이 클라이언트로 연결을 연다(A 오답). 제어는 21, 데이터는 20(C 오답). SFTP는 SSH 기반이고, SSL 기반은 FTPS다(D 오답).

리눅스 시스템이 이름 풀이를 위해 질의할 DNS 서버(네임서버)의 주소를 설정하는 파일은?

보기를 선택해 주세요.
힌트 1 보기

이 파일의 줄은 nameserver 8.8.8.8처럼 생겼다.

정답·해설 보기

B. /etc/hosts는 이름-IP를 직접 적는 표, /etc/services는 포트 번호표, /etc/exports는 NFS 공유 설정이다.

/etc/exports에 다음 줄이 있다. 설명으로 옳은 것은?

/data/share 192.168.1.0/24(rw,sync,no_root_squash)

보기를 선택해 주세요.
힌트 1 보기

squash는 "짓눌러 줄인다"는 뜻이다. no_가 붙으면?

정답·해설 보기

C. no_root_squash는 root 권한을 그대로 인정한다. rw는 읽기·쓰기, 기본값 root_squash가 nobody 매핑이며, NFS 설정 파일이다.

다음 중 리눅스에서 기본 게이트웨이를 192.168.0.1로 지정하는 명령으로 옳은 것은?

보기를 선택해 주세요.
힌트 1 보기

ip route는 via, route는 gw 키워드를 쓴다.

정답·해설 보기

A. iproute2로 쓰면 ip route add default via 192.168.0.1이다. ifconfig·netstat는 경로를 추가하지 않는다.

평문 전송으로 보안에 취약해 SSH로 대체된 원격 접속 서비스와 그 포트로 옳은 것은?

보기를 선택해 주세요.
힌트 1 보기

SSH(22) 바로 다음 번호.

정답·해설 보기

A. telnet(23)은 계정·비밀번호까지 평문으로 보낸다. r-계열(rlogin·rsh)도 같은 이유로 ssh로 대체됐다.

DNS 레코드에 대한 설명으로 틀린 것은?

보기를 선택해 주세요.
힌트 1 보기

PTR은 역방향(in-addr.arpa) 조회에 쓰인다.

정답·해설 보기

C. 메일 서버는 MX 레코드다. PTR은 IP 주소를 이름으로 대응한다.

단원 마무리

주제꼭 남길 한 줄
메일MUA → (SMTP 25) → MTA → MDA → 메일함 → (POP3 110 / IMAP 143) → MUA, MTA = sendmail·postfix
FTP제어 21 · 데이터 20, 능동은 서버가·수동은 클라이언트가 데이터 연결을 연다, SFTP·scp는 SSH 22
DNS53, A·AAAA·CNAME·MX·NS·PTR·SOA, /etc/resolv.conf = 네임서버, /etc/hosts = 로컬 표
원격telnet 23·r-계열 평문, ssh 22 암호화, VNC 5900+n
NFS/etc/exports, 2049 + rpcbind 111, root_squash 기본, exportfs -ra, showmount -e
Samba/etc/samba/smb.conf, smbd·nmbd, 139·445, smbpasswd -a, testparm
인터페이스ip addr/link/route, ifconfig, route -n, ss -tuln, nmcli, ifcfg-eth0(BOOTPROTO·ONBOOT)

책을 덮고 꺼내 보기

  • 메일을 서버 간에 전송하는 프로토콜은 이고 기본 포트는 번이다.
  • POP3의 포트는 , IMAP의 포트는 이다.
  • FTP 능동 모드에서 서버는 번 포트로 데이터 연결을 연다.
  • IPv6 주소를 지정하는 DNS 레코드는 다.
  • NFS 공유 설정 파일은 , Samba 설정 파일은 다.
  • ip route add default {{via}} 192.168.1.1 로 기본 게이트웨이를 추가한다.
MUA·MTA·MDA를 대표 프로그램과 함께 구분하라.

MUA는 메일 클라이언트(Thunderbird, Outlook, mutt), MTA는 메일 전송 서버(sendmail, postfix, qmail, exim), MDA는 메일함 배달 프로그램(procmail, maildrop).

POP3와 IMAP의 차이는?

POP3(110)는 메일을 내려받고 기본적으로 서버에서 삭제한다. IMAP(143)은 메일을 서버에 두고 여러 기기에서 폴더 단위로 동기화한다.

FTP 능동 모드와 수동 모드의 데이터 연결 방향은?

능동은 서버의 20번 포트가 클라이언트가 알려 준 포트로 연결을 연다. 수동(PASV)은 클라이언트가 서버가 알려 준 임의의 높은 포트로 연결을 연다. 제어 연결은 둘 다 클라이언트 → 서버 21번.

/etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf의 역할은?

/etc/hosts는 이름-IP 로컬 대응표, /etc/resolv.conf는 질의할 네임서버와 검색 도메인, /etc/nsswitch.conf는 조회 순서(hosts: files dns).

/etc/exports의 root_squash, no_root_squash, all_squash는?

root_squash(기본)는 클라이언트 root를 nobody로, no_root_squash는 root 권한을 그대로 인정, all_squash는 모든 사용자를 익명으로 매핑한다.

net-tools와 iproute2의 대응 명령은?

ifconfig ↔ ip addr / ip link, route ↔ ip route, arp ↔ ip neigh, netstat ↔ ss.

꼭 외울 포트 번호 열 개는?

FTP 20·21, SSH 22, Telnet 23, SMTP 25, DNS 53, HTTP 80, POP3 110, IMAP 143, HTTPS 443, NFS 2049. 덤으로 Samba 139·445, VNC 5900, DHCP 67·68, SNMP 161.

다음으로 갈 기준: 포트 번호표를 빈 종이에 다시 쓸 수 있고, ip·route·ss 출력에서 기본 게이트웨이와 열린 포트를 읽어 낼 수 있으면 다음 편으로 간다: 14편 · 응용분야.

정답과 해설

확인 문제 정답

  1. IMAP, 기본 포트 143 (보안 IMAPS는 993).
  2. 클라이언트 — 서버가 PASV 응답으로 알려 준 높은 포트에 클라이언트가 접속한다.
  3. MX 레코드.
  4. /etc/resolv.conf (nameserver 항목).
  5. root_squash.
  6. /etc/samba/smb.conf, 문법 검사는 testparm.
  7. ip route add default via 192.168.1.1.
  8. ss -tuln (t: TCP, u: UDP, l: LISTEN, n: 숫자).
  9. ONBOOT=yes.
오늘도 한 걸음 앞으로.

내용을 이해했다면 학습 완료를 체크해 주세요.

학습 기록은 현재 브라우저에 저장됩니다.
HJS / STUDY한지석