변경 승인용 작업 계획
100분 안팎
학습 목표
학생 대역 확장 요구의 영향·순서·중단 기준·복구 조건을 문서로 작성합니다.
개념
승인자가 결정할 정보를 씁니다
변경 계획은 명령을 길게 나열한 메모가 아닙니다. 검토자가 작업을 허용할지, 실패하면 언제 멈출지 결정할 수 있게 쓰는 문서입니다. 이번 요청은 학생 수 증가를 위해 학생 망 10.20.10.0/24를 10.20.10.0/23으로 넓히는 것입니다. 더 큰 마스크 범위를 넣는 한 줄 변경으로 보이지만 DHCP와 반환 경로, 학생 출발지 정책까지 연결됩니다. 계획에는 요구의 이유와 범위, 영향을 받는 역할, 검증 방법과 되돌릴 조건을 넣습니다.
요구를 수용량으로 바꿉니다
IPv4 /24의 전체 주소 수는 256이고 /23은 512입니다. 전통적인 이더넷 서브넷의 네트워크·브로드캐스트 두 주소를 제외하면 각각 254와 510개를 계산할 수 있습니다. 실제 임대 가능 수는 라우터·예약·고정 주소를 빼면 더 작습니다. 학생 수만 보고 대역을 정하지 말고 동시에 접속하는 단말 수와 예약 범위를 적습니다. 이번 주소는 /23 경계에 맞는 10.20.10.0이며 10.20.10.0부터 10.20.11.255까지 포함합니다. 이를 실제망 확장 완료라고 기록하지 않습니다.
겹침 검사를 먼저 합니다
교직원 10.20.20.0/24, 서버 10.20.30.0/24, 게스트 10.20.40.0/24와 학생 /23의 겹침을 계산합니다. 당장 겹치지 않는다는 결과는 필요한 조건 하나입니다. 외부 연결망이나 별도 예약 망이 없는지 원본 주소 계획까지 검토합니다. 새 요구가 10.20.11.0/24를 따로 사용한다면 이번 확장 범위와 충돌하므로 동시에 승인할 수 없습니다. 숫자가 다른 셋째 옥텟이면 모두 다른 망이라는 판단을 피하고 실제 prefix의 주소 범위를 비교합니다.
여섯 의존 항목을 추적합니다
학생 주소표와 단말 마스크, r1과 r2의 v10 주소 마스크 및 연결 경로, server1의 학생 반환 경로, DHCP 범위와 서브넷 옵션, policy.csv의 학생 출발지 대역, DNS 접근 허용 범위를 확인합니다. 이 항목은 change-plan.json의 dependencies에 기록합니다. 스위치 VLAN ID는 10을 유지할 계획이며 학생 주소 범위 확장이 VLAN 개수를 늘리는 것은 아닙니다. 포트 표와 구성도에도 유지 항목을 적어 주소 변경과 링크 변경을 섞지 않습니다.
혼재 기간의 흐름을 그립니다
기존 /24 단말은 10.20.11.x를 다른 망으로 판단할 수 있고 새 /23 단말은 같은 링크로 판단할 수 있습니다. DHCP 임대를 갱신하지 않은 단말과 갱신한 단말이 한동안 공존할 수 있으므로 새 마스크 파일 하나가 모든 단말에 즉시 적용된다고 가정하지 않습니다. 테스트 출발지를 10.20.10.x와 10.20.11.x로 나누고 같은 VLAN 통신과 서버 웹 통신을 구분합니다. 이 레슨에서는 혼재를 계획서에 검토하며 실제 확장 구현은 후속 변경으로 남깁니다.
작업 순서는 검증 지점을 포함합니다
계획 순서는 기준선 측정과 백업, 새 주소 범위 겹침 검사, 후보 설정 문법 및 정책 검토, 제한된 시험 단말 적용, 양방향 경로와 이름·웹·차단 확인, 임대 갱신 대상 확대, 문서 갱신과 관찰로 작성합니다. 각 단계에서 어떤 증거를 얻고 실패 시 어디로 돌아갈지 한 칸씩 적습니다. 영향 큰 항목을 동시에 여러 개 바꾸고 마지막에만 확인하면 최초 실패 지점을 찾기 어렵습니다. 운영 장비 명령은 이 교육용 VM 명령과 별도로 검토할 대상입니다.
시간 창과 중단 시간을 나눕니다
작업 창 30분 중 검증이 10분을 넘으면 추가 진행을 중단한다는 교육용 기준을 사용합니다. 남은 시간은 복구와 재검사에 필요합니다. stop_after_minutes가 window_minutes보다 크면 복구 시간을 남기지 못한 계획입니다. starter에는 이 모순이 있으므로 순수 검사에서 잡힙니다. 실제 조직에서는 합의한 영향 시간과 복구 예상 시간에 맞춰 숫자를 정합니다. 수업 예시의 10분을 모든 네트워크 변경의 표준으로 암기하지 않습니다.
판정 가능한 중단 조건을 씁니다
학생 웹 본문이 school ready와 다르거나 게스트가 내부 웹에 접근하면 중단합니다. 백업 무결성 실패와 정해진 검증 시간 초과도 중단 조건입니다. 문제가 생기면 복구한다는 표현은 담당자마다 다르게 해석할 수 있습니다. 출발지·대상·포트·기대 응답·관찰 시간과 실패 시 행동을 함께 적어 판단을 맞춥니다. HTTP 연결 성공만으로 수업 서비스 성공을 판단하지 않고 상태와 본문을 확인하도록 계획합니다.
복구 계획은 반대 명령보다 넓습니다
마스크 변경의 반대 명령만 준비하면 이미 받은 DHCP 임대나 다른 장비의 반환 경로가 남을 수 있습니다. 복구 범위에는 이전 설정 묶음, 단말 갱신 조건, 주·대체 경로의 일치, 정책 재생성과 서비스 시험을 포함합니다. 이번 자동 리허설은 /24를 유지한 사본에서 대체 게이트웨이 설정 오류를 거절하고 새 폴더를 복원합니다. 그 제한을 plan의 scope에 명시합니다. /23 혼재 단말까지 복구를 검증했다고 보고하지 않습니다.
책임과 승인 상태를 드러냅니다
owner는 실행 책임, reviewer는 계획 검토 역할입니다. 연락 가능한 실제 담당자는 조직의 방식으로 기록하되 예시에는 역할 이름을 씁니다. approval에는 미승인 또는 승인자와 범위를 분명히 남깁니다. 파일의 형식 검사가 통과했다는 사실은 사람의 승인이 아닙니다. 작업자는 중단 조건을 확인하고 검토자는 영향 누락과 복구 가능성을 확인합니다. 대체 담당자가 읽어도 같은 판단을 할 수 있도록 전문 약어를 처음 쓰는 곳에서 풀어 설명합니다.
검토에서 빠진 부분을 수정합니다
plan 테스트의 AssertionError는 stop 시간과 작업 창 사이의 관계 또는 빈 필드를 찾는 단서입니다. 필드 개수를 맞추는 것으로 계획 품질이 완성되지는 않습니다. 검토자는 실제 변경 후보와 의존 항목을 대조하고 DHCP 갱신·r2 반환 경로·게스트 차단 중 빠진 것이 없는지 읽습니다. 제출물은 영향 표와 단계별 검사 표, 중단 조건 네 가지 이상, 복구 명령과 승인 상태입니다. 파일 전송의 세부 옵션은 rsync 장에서 더 읽고 여기서는 승인자가 판단할 근거를 완성합니다.
따라하기
확장 주소 범위와 수용량을 확인합니다
전통적인 IPv4 서브넷에서 네트워크와 브로드캐스트를 제외한 계산이며 임대 예약은 아직 빼지 않았습니다.
import ipaddress
n=ipaddress.ip_network('10.20.10.0/23')
print(n.network_address, n.broadcast_address)
print('traditional_host_count', n.num_addresses - 2)
print('overlap_staff', n.overlaps(ipaddress.ip_network('10.20.20.0/24')))실행 결과
10.20.10.0 10.20.11.255 traditional_host_count 510 overlap_staff False
영향과 순서를 문서로 작성합니다
change-plan.json의 scope와 dependencies를 읽고 주소·DHCP·주/대체 경로·정책 변경 표를 작성합니다. 각 단계에 출발지, 검사, 실패 행동을 한 행으로 적습니다. /23 변경은 계획 대상이며 이번 미션의 자동 실행 범위는 /24 복구입니다.
중단과 복구 조건을 검토합니다
작업 창 30분, 중단 시간 10분으로 예시를 정리하고 게스트 허용·학생 본문 오류·백업 실패·시간 초과에 대응할 행동을 씁니다. 순수 검사를 통과해도 승인 상태는 사람이 결정합니다.
bash pure-check.sh확인 문제
실습
학생 /23 확장의 요구와 수용량, 주소 겹침 검사, 여섯 의존 항목의 영향 표, 단계별 실행·검증·실패 행동 표, 중단 조건 네 가지 이상, 복구 범위, 담당자·검토자·승인 상태를 제출합니다. /24 유지 복구 리허설과 /23 계획 검토를 구분합니다. change-plan.json의 형식 통과 외에 동료 검토에서 누락을 확인합니다.
더 읽기
면접 질문
- VLAN을 나누고 통신을 허용하는 구성을 설명합니다.
- 같은 서브넷과 다른 서브넷으로 통신하는 흐름을 설명합니다.