설정 스크립트가 끝난 뒤에는 VPN 서버의 주인이 필요하다
스크립트는 서버를 만들 수 있지만 접근 정책, 업데이트 경로, 되돌리기를 대신 책임질 수는 없습니다. 실행 전에 인계를 정하십시오.
전혀 다른 두 가지 일이 하나로 팔립니다. 기계를 VPN 서버로 만드는 일과, 다른 사람의 게이트웨이에 들어가야 할 노트북에 VPN 클라이언트를 더하는 일입니다. 설정 스크립트는 앞의 일에 답하고 뒤의 일에는 답할 수 없습니다. README가 무엇을 암시하든 마찬가지입니다. setup-ipsec-vpn 프로젝트을 구체적인 예로 봅시다. 지원되는 Linux 호스트에서 Libreswan과 xl2tpd로 IPsec/L2TP, Cisco IPsec 또는 IKEv2 서버를 만듭니다. 이것은 서버에 대한 배포 계약이며, 어느 기계에나 맞는 일반 조리법이 아닙니다. 스크립트가 돌기 전에 어느 일인지 정하십시오. 그 뒤의 모든 것은 서버에 관한 것이기 때문입니다.
호스트에 대해 솔직해지십시오
다른 것도 종료하는 기계, 또는 방화벽을 운영체제가 아니라 클라우드 제어 평면이 관리하는 기계는 깨끗한 가상 머신과 다른 설치입니다. 켜려는 프로토콜과 사용하는 릴리스를 적고, 둘 다 프로젝트의 지원 목록과 대조하십시오. 작년 블로그 글과 대조하지 마십시오.
서비스를 켠다고 그리로 가는 길이 열리지는 않습니다. IPsec에서는 호스트 앞의 네트워크가 UDP 500과 4500을 통과시켜야 하고, 배포에 따라 ESP 프로토콜 자체도 통과시켜야 합니다. 프로토콜 50을 버리는 보안 그룹 뒤에서 성공적으로 끝난 스크립트는 아무도 닿을 수 없는 서버를 만든 것이며, 설치 프로그램의 출력은 그 사실을 말하지 않습니다.
설치 프로그램이 실제로 넘겨받는 것
IPsec 설정과 비밀 파일, L2TP 데몬 설정, PPP 옵션, 이제 그 포트를 소유한 systemd 유닛을 예상하십시오. 프로젝트 README는 기존 설정 파일을 변경 전에 백업한다고 밝히는데, 유용하지만 호스트 백업과 같은 것은 아닙니다. 어떤 구성 요소를 배포판 패키지로 갱신하고 어떤 것을 스크립트 재실행이나 재작성으로 갱신할지 정하십시오. 실패 방식이 다른 두 가지 유지보수 경로이기 때문입니다.
승인한 리비전을 고정하십시오. 현재 기본 브랜치를 제공하는 다운로드 URL은 다음 달에 다른 내용을 돌려줄 수 있습니다. 실행한 커밋이나 릴리스를 기록하고 사본을 보관하십시오. 그 습관 하나가 출처를 설명할 수 없는 상태를 두 번째 사람이 새벽 두 시에 생각할 수 있는 것으로 바꿉니다.
스크립트가 주지 못하는 것
자동화는 동작하는 설치를 만들어 내고 거기서 멈춥니다. 터널이 어느 사설 자원에 닿아야 하는지는 정하지 않습니다. 이는 접근 정책의 문제이며 호스트 방화벽과 상위 네트워크 모두 의견이 있습니다. 누가 자격 증명을 받고 어떻게 전달되며, 사람이 떠날 때 그 접근이 어떻게 제거되는지도 정하지 않습니다. 그리고 나쁜 업데이트 뒤에 기계가 어떻게 복구되는지도 정하지 않습니다. 보통 최악의 순간에 발견되는 부분입니다.
클라이언트 프로필과 표시되는 비밀은 설치 로그가 아니라 접근 자료입니다. 공유 채널에 붙여 넣은 생성 프로필은 계정이며, 설정 요약의 스크린샷에도 같은 기준이 적용됩니다. 서비스 복구에 필요한 신원 상태의 보호된 목록을 유지하고, 그 자격 증명 중 무엇이 그 뒤로 폐기되었는지 적으십시오.
첫 클라이언트가 곧 인수 시험
실제로 켠 프로토콜로, 권한이 있는 클라이언트 하나에서 배포를 승인하십시오. 사설 이름이 해석되는지, 돌아오는 경로가 동작하는지, 재접속이 올바르게 행동하는지, 허용 집합 밖의 목적지가 거부되는지 확인하십시오. 다른 클라이언트 앱에서의 로그인 성공은 배포한 것에 대한 증거가 아닙니다.
원하는 조합이 더 이상 지원되지 않으면 설치 전에 유지되는 경로를 고르십시오. 오래된 릴리스를 되살리거나, 인증을 약화하거나, 설명되지 않은 스크립트를 다시 실행하는 것은 유지보수 계획이 아니라 미루기이며, 각각 인계를 어렵게 만듭니다.
인계 문서를 쓰십시오
짧게 유지하십시오. 서버, 그것을 만든 리비전, 필요한 포트, 구성 요소와 갱신 담당자, 허용된 자원, 자격 증명 경로, 복구 절차입니다. 터널 변경이 접근을 끊었을 때 쓸 콘솔이나 대역 밖 경로도 더하십시오. 그러면 다음 사람은 두 번 실행하기 두려운 명령이 아니라 서비스를 물려받습니다.
호스트가 바뀔 때 그 문서를 검토하십시오. 무언가 깨질 때만이 아닙니다. 결코 읽히지 않는 인계 문서는 조용히 사실이기를 그친 문서입니다.