네트워크 설정 : 임시(ip addr add/ip route add)와 영구(ifcfg-*의 BOOTPROTO/ONBOOT=yes/IPADDR, nmcli con)를 가른다.
nmcli는 수정 후 con up으로 재활성화해야 반영된다.
진단 사다리는 ip a → ping gw → ping 8.8.8.8 → dig. 포트 확인은 ss -tuln.
서비스 설정 파일 : httpd DocumentRoot/Listen, named type master + SOA Serial + 레코드(A/MX/CNAME/PTR).
dhcpd range/fixed-address, vsftpd anonymous_enable/chroot_local_user, smb.conf path/writable.
exports는 괄호 앞 공백 금지와 root_squash, sshd는 PermitRootLogin no.
셸 스크립트 : 대입 = 공백 금지, if [ -gt/-eq/-f/-d ]의 대괄호 안 공백, for/while/case(done/done/esac).
함수는 괄호 없이 호출하고, $(...)·$?·while read ... done < file·sort|uniq -c|sort -rn을 패턴으로 외운다.
보안 : iptables 방향(INPUT/OUTPUT/FORWARD)·-A/-I/-P/-j·ACCEPT/DROP/REJECT·service iptables save.
firewalld는 --permanent 후 --reload, SELinux는 모드와 chcon/restorecon.
rsyslog는 facility.priority(.none/.=), logrotate는 rotate N/compress.
💡 합격 신호 : 작업형은 "이 기능을 하는 정확한 명령/지시어"를 묻는다. 방향·옵션·철자가 정확하면 맞고, 하나라도 틀리면 0점인 영역이다.
🔍 풀이 전략 : 문제를 읽으면 ① 어느 영역인가(네트워크/서비스/스크립트/보안) ② 임시인가 영구인가 ③ 어느 파일·명령인가를 순서대로 떠올린다. 보기 4개 중 3개는 방향·옵션·철자 중 하나가 틀린 함정이므로, 정답을 고르기보다 틀린 곳을 찾아 지우는 소거법이 빠르다.
임시 설정 / 영구 설정 : 재부팅하면 사라지는 설정(ip) / 파일에 남아 유지되는 설정(ifcfg-*, nmcli con).
ONBOOT : ifcfg-*에서 부팅 시 인터페이스를 자동으로 올릴지 정하는 지시어. yes가 아니면 안 올라온다.
진단 사다리 : IP → 게이트웨이 → 외부 IP → 도메인 순으로 끊어 보며 어디서 막히는지 좁히는 방법.
SOA Serial : 존 데이터의 판번호. 올려야 보조(slave) 서버가 변경을 가져간다.
exports 공백 함정 : 클라이언트와 괄호 사이에 공백이 있으면 모든 호스트에 옵션이 열리는 NFS 문법 함정.
PermitRootLogin : SSH로 root가 직접 로그인할 수 있는지 정하는 지시어. 차단은 no.
done < 파일 : while read가 파일을 한 줄씩 읽도록 입력을 붙이는 리다이렉션. 위치가 done 뒤다.
--permanent + --reload : firewalld에서 영구 저장 후 현재 세션에 반영하는 두 단계. 하나만 하면 반쪽이다.
SELinux 컨텍스트 : 파일·프로세스에 붙는 라벨. 권한은 맞는데 접근이 막히면 여기를 의심한다.
facility.priority : rsyslog가 로그를 나누는 "출처.심각도" 짝. .none은 제외, .=는 그 수준만, 기본은 그 수준 이상.
📝 연습 문제 선택지를 클릭하면 정답·해설이 펼쳐집니다.
eth0에 192.168.0.50/24 주소를 임시로 부여하고 기본 게이트웨이를 192.168.0.1로 설정하는 명령 조합으로 옳은 것은?
A ip addr add 192.168.0.50/24 dev eth0; ip route add default via 192.168.0.1 B ip addr set 192.168.0.50 eth0; route default 192.168.0.1 C ip link add 192.168.0.50/24 eth0; ip route default 192.168.0.1 D ifconfig eth0 192.168.0.50; ip route add 192.168.0.1 default ifcfg-eth0 파일에서 정적 IP를 쓰면서 재부팅 후에도 인터페이스가 자동 활성화되도록 하는 지시어 조합은?
A BOOTPROTO=dhcp, ONBOOT=no B BOOTPROTO=static, ONBOOT=yes C BOOTPROTO=auto, ONBOOT=yes D BOOTPROTO=static, ONBOOT=no ping 8.8.8.8은 성공하지만 ping www.example.com은 실패한다. 점검해야 할 파일은?
A /etc/hosts.allow B /etc/resolv.conf C /etc/sysconfig/iptables D /etc/exports BIND 존 파일을 수정한 뒤 보조(slave) 서버에 변경을 전파하려면 반드시 해야 하는 작업은?
A Refresh 값을 0으로 낮춘다 B SOA의 Serial 값을 증가시킨다 C Expire 값을 증가시킨다 D TTL을 0으로 설정한다 다음 /etc/exports 항목 중 의도와 달리 모든 호스트에 rw가 열리는 잘못된 설정은?
A /data 192.168.1.0/24(rw,sync) B /data 192.168.1.0/24 (rw,sync) C /data 192.168.1.10(ro) D /data *(ro) SSH 서버에서 root의 직접 원격 로그인을 차단하는 sshd_config 설정으로 옳은 것은?
A PermitRootLogin yes B PermitRootLogin no C PasswordAuthentication no D PermitEmptyPasswords no 다음 셸 스크립트 조각에서 문법 오류가 있는 줄은?
A name="linux" B if [ "$count" -gt 5 ]; then C for i in 1 2 3; do D total = $((a + b)) 파일 users.txt를 한 줄씩 읽어 사용자 계정을 만드는 스크립트의 빈칸으로 옳은 것은?
while read u; do useradd "$u"; done ____ users.txt
A > users.txt B < users.txt C | users.txt D >> users.txt 외부에서 들어오는 443번 포트(HTTPS) TCP 접속만 허용하는 iptables 명령으로 옳은 것은?
A iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT B iptables -A INPUT -p tcp --dport 443 -j ACCEPT C iptables -A FORWARD -p udp --dport 443 -j DROP D iptables -P INPUT -p tcp --dport 443 -j ACCEPT firewalld에서 8080/tcp 포트를 재부팅 후에도 유지되게 허용하고 즉시 반영하려면?
A firewall-cmd --add-port=8080/tcp 만 실행 B firewall-cmd --permanent --add-port=8080/tcp 후 firewall-cmd --reload C firewall-cmd --permanent --add-port=8080/tcp 만 실행 D firewall-cmd --add-service=8080 --reload "파일 권한(rwx)은 올바른데 웹 서버가 특정 디렉터리에 접근하지 못한다. setenforce 0 후 접근이 된다." 가장 적절한 영구 조치는?
A SELinux를 Disabled로 영구 비활성화한다 B restorecon 또는 semanage fcontext로 올바른 컨텍스트를 적용한다 C chmod 777로 권한을 모두 연다 D 방화벽에서 80번 포트를 막는다 logrotate 설정 daily, rotate 7, compress의 동작 설명으로 옳은 것은?
A 매주 순환하며 7개를 보관한다 B 매일 순환하며 최근 7개(약 1주일치)를 압축 보관하고 초과분은 삭제한다 C 로그가 7MB를 넘으면 순환한다 D 7일마다 한 번 순환하되 압축은 하지 않는다
모의고사에서 자주 걸리는 함정을 한 표로 모았다. 시험 직전 이 표만 다시 봐도 좋다.
함정 정답 / 주의 ip addr vs ip route주소는 addr add, 경로는 route add default via 임시 vs 영구 ip=휘발, ifcfg ONBOOT=yes/nmcli con=영구 nmcli 적용 modify 후 con up해야 반영 ping IP 성공·도메인 실패 DNS(/etc/resolv.conf) 문제 SOA Serial 존 수정 시 반드시 증가 exports 공백 클라이언트(옵션) 사이 공백 금지변수 대입 = 양옆 공백 금지if 조건 [ 와 ] 안 공백 필수, 숫자 -gt/문자열 =파일 읽기 while read ... done < fileiptables 방향 들어옴 INPUT, 나감 OUTPUT iptables 정책 변경 원격이면 SSH 먼저 허용 firewalld 적용 --permanent 후 --reloadSELinux 접근불가 컨텍스트 의심 → restorecon rsyslog .none=제외, .==정확히, .수준=이상logrotate rotate N=세대수, 주기는 daily/weekly
⚠️ 시험장 멘탈 : 작업형은 부분 점수가 박하다. 방향(INPUT/OUTPUT) 하나, 공백 하나, --reload 누락 하나로 통째로 틀린다. 명령을 쓴 뒤 "이걸 실행하면 정확히 무슨 일이 일어나는가"를 머릿속으로 한 번 실행해 검산하자.
12문항으로 한 주를 압축했다. 네트워크 작업형의 핵심은 임시/영구의 구분 (ip는 휘발, ifcfg ONBOOT=yes/nmcli con은 영구)과 계층별 진단 (IP는 되나 도메인 실패 = DNS)이다. 서비스 설정은 지시어의 1:1 매핑 (DocumentRoot, SOA Serial, range, PermitRootLogin no, exports 공백 함정)을 정확한 철자로 외우는 싸움이다. 스크립트는 문법의 엄밀함 (= 공백 금지, 대괄호 안 공백, done < file)이 생명이고, 보안은 방향·옵션·--reload·컨텍스트 가 합격을 가른다. 틀린 문제는 보기마다 "무엇이 왜 틀렸는지"를 말로 설명할 수 있을 때까지 다시 보자. 작업형은 아는 것을 정확히 쓰는 시험이다.