# 2. 포트 설정·송수신·디버그·상태 [목차](README.md) · [알림 시험](04-alerts-logs.md) ## P01. 시리얼 매개변수와 양방향 통신 **준비:** CH01에 상대 시리얼 장비를 연결합니다. USB-RS232 어댑터를 사용하면 PC 터미널을 해당 COM 포트로 엽니다. 실제 커넥터 배선에 맞는 케이블을 사용합니다. RS232와 TTL은 구분합니다. 시험 문자열이 운영 장비의 명령으로 실행되지 않는 시험용 상대를 사용합니다. **UI: 포트 설정 → CH01 → 매개변수.** 아래는 상대도 동일하게 맞출 수 있을 때의 예시입니다. | 항목 | 입력 | |---|---| | 별칭 이름 | `DEMO-CH01` | | 시리얼 타입 | RS232 | | Baudrate / Databit | 9600 / 8 | | Parity / Stopbit | None / 1 | | Flow control | None | | RTS / DTR | 상대 장비 요구에 맞춤. 기존값 기록 | | 적용 대상 포트 | CH01만 선택 | 1. **적용** 후 다른 채널로 이동했다 돌아와 값을 확인합니다. CH02가 의도치 않게 바뀌지 않았는지 비교합니다. 2. **포트 설정 → CH01 → 데이터 로그**에서 **Read 기록**, **Send 기록**을 켜고 적용합니다. 3. 상대에서 시험 데이터를 먼저 보내 RX가 감지되도록 하고 **포트 디버그 → 채널 CH01 → 접속**합니다. 채널 목록은 UP 상태를 기준으로 제공됩니다. 목록에 없으면 P05의 상태와 RX/CR 응답 감지를 확인합니다. 아무 응답도 하지 않는 PC 터미널을 연결해 놓기만 하면 목록에 나타나지 않을 수 있습니다. 4. 상대 PC 터미널에서 `DEMO_RX_01`과 줄바꿈을 장비 쪽으로 보냅니다. 웹 터미널에 문자열이 보이는지 확인합니다. 5. 웹 터미널에서 `DEMO_TX_01`을 입력하고 Enter를 누릅니다. 상대 PC 터미널에서 받은 문자열을 확인합니다. 웹의 로컬 표시만으로 송신 성공을 판정하지 않습니다. 6. **로그 → 포트 로그**에서 CH01을 선택해 조회하고 두 문자열과 방향·시각을 확인합니다. **통과:** 상대→웹, 웹→상대 양방향 문자열 일치, CH01 로그 기록. **실패:** COM 번호·배선·양쪽 9600/8N1·흐름 제어·세션 점유 확인. 글자 깨짐은 Baudrate/Parity부터 비교합니다. **원복:** 접속 해제 후 원래 통신 조건·로그 설정·별칭 복구. ## P02. 동작 설정 1: Reverse SSH / Reverse Telnet **UI: 포트 설정 → CH01 → 동작 설정 1.** 매개변수는 P01과 상대 장비에 맞춥니다. | 항목 | SSH 시험 예시 | Telnet 시험 예시 | |---|---|---| | 동작 모드 | Reverse SSH | Reverse Telnet | | Listen Port | `10001` — 사용 중이면 다른 미사용 포트 | `10001` — SSH 시험 종료 후 전환 | | 인증 방식 | Local | Local | | 최대 세션 수 | `1`로 먼저 시험 | `1`로 먼저 시험 | | 줄바꿈 | 상대 장비 요구값 | 상대 장비 요구값 | 1. CH01만 대상으로 **적용**합니다. 다른 웹 터미널/SSH 세션은 종료합니다. 2. PC PowerShell에서 `ssh -p 10001 시험웹사용자@192.168.0.223`으로 접속합니다. 해당 계정은 CH01 사용 권한이 있어야 합니다. 3. 로그인 후 상대 시리얼 장비와 양방향 시험 문자열을 교환합니다. 장비 OS SSH 포트 22 접속과 구분합니다. 4. 세션을 종료하고 같은 설정에서 Reverse Telnet으로 바꿔 적용합니다. PuTTY 등에서 Host=`192.168.0.223`, Port=`10001`, Connection type=`Telnet`으로 접속합니다. 로그인 후 동일하게 송수신합니다. Telnet 시험은 격리 시험망에서 합니다. 5. **로그 → 포트 로그**와 **로그 → 시스템 로그**에서 시험 시각의 세션 연결·해제를 확인합니다. 관련 기록 설정이 켜져 있어야 합니다. **통과:** 선택 프로토콜의 포트로 인증 후 실제 시리얼 데이터 교환. TCP 연결만 성공한 것은 데이터 시험 완료가 아닙니다. **실패:** 모드/포트 불일치·중복 Listen Port·포트 권한·주소 필터·기존 세션 확인. **원복:** 원래 동작 모드·포트·인증·최대 세션 적용. **추가 시험:** 최대 세션 1에서 첫 세션 유지 중 둘째를 열어 제한을 확인합니다. 이후 최대 세션을 2로 바꾸고 허용 여부를 비교합니다. 인증 방식을 RADIUS/TACACS로 시험할 때는 [외부 인증 절차](03-security.md)의 서버를 먼저 구성하고, 웹 로그인 외에 이 포트 접속에서도 서버 인증 로그를 확인합니다. ## P03. 동작 설정 2 / 사용 안 함 / 여러 포트 적용 1. **동작 설정 2**에서 동작 모드를 Reverse SSH, Listen Port를 미사용 `11001`, 인증 방식을 Local로 설정하고 CH01에 적용합니다. 2. `ssh -p 11001 시험웹사용자@192.168.0.223`에서 송수신합니다. 동작 설정 1의 10001과 혼동하지 않습니다. 세션을 순서대로 종료하며 각각 시험합니다. 3. 동작 설정 2를 **사용 안 함 → 적용** 후 해당 포트에 **새 연결**이 되지 않는지 확인합니다. 동작 설정 1은 계속 사용 가능한지도 확인합니다. 4. 일괄 적용은 운영 중이 아닌 CH01·CH02만 선택해서 동일한 매개변수 한 가지를 적용합니다. 두 채널을 각각 다시 열어 값이 같고 선택하지 않은 CH03은 그대로인지 확인합니다. 동일 Listen Port를 여러 채널에 임의로 복제하지 않습니다. **통과:** 두 번째 설정의 실제 수신 포트 동작, 비활성화 후 신규 접속 불가, 적용 대상만 변경. **원복:** 두 채널의 원래 값 복구. Keep alive·ACK timeout·idle timeout 등 고정 표시 항목은 현재 UI에서 값을 바꾸는 시연 대상으로 잡지 않습니다. ## P04. 데이터 로그 / 포트 디버그 고급 기능 **데이터 로그 설정:** CH01 → 데이터 로그에서 Read/Send, 타임스탬프·방향·사용자·IP·포트 표시, ASCII/HEX를 원하는 시험값으로 설정하고 적용합니다. 1. Read/Send 모두 켠 상태에서 P01의 양방향 문자열이 기록되는지 확인합니다. 2. Read만 끈 뒤 상대에서 새로운 `DEMO_RX_OFF`를 보내고 웹에서 `DEMO_TX_ON`을 보냅니다. 수신은 터미널에 전달돼도 새 Read 데이터 기록은 제외되고, 켠 방향은 기록되는지 확인합니다. 기존 로그가 사라져야 하는 시험은 아닙니다. 3. Read를 다시 켜고 표시 옵션을 바꾼 뒤 **새로 보낸 데이터**의 표현을 비교합니다. ASCII `ABC`의 바이트는 HEX `41 42 43`입니다. 4. **포트 디버그 → 고급 기능**에서 전송 형식 ASCII, 전송 값 `DEMO_BATCH`, 끝 문자 CRLF → **일괄 전송**. 상대 터미널에서 문자열과 줄바꿈을 확인합니다. 5. 전송 형식을 HEX, 값 `41 42 43`, 끝 문자 없음 → **일괄 전송**. 상대에서 `ABC` 또는 동일 바이트를 확인합니다. 6. **로그 저장**으로 디버그 세션 기록을 내려받아 열어봅니다. **화면 지우기**와 고급 기능의 **로그 지우기**를 각각 눌러 화면/세션 기록 변화를 확인합니다. 장비 저장 로그 삭제는 별도의 **로그 → 포트 로그**에서 시험합니다. **통과:** 실제 바이트·선택 방향·다운로드 내용 일치. **실패:** 상대 터미널의 로컬 에코와 실제 수신을 구분하고, 시간 검색 조건·선택 포트를 확인합니다. **원복:** 원래 Read/Send·표시 옵션으로 복구, 디버그 접속 해제. ## P05. 포트 상태 / 별칭 1. **포트 상태**에서 CH01의 상태와 시각을 기록합니다. 상대 장비가 정상 응답하도록 연결합니다. 2. 상태 갱신을 기다리고 CH01의 실제 양방향 송수신을 확인합니다. 이 장비의 응답 기반 상태 감지는 상대의 응답 여부에 영향을 받으므로 케이블 연결만으로 UP을 보장하지 않습니다. 3. 시험용 상대를 분리/종료하고 상태 변화를 기다립니다. **로그 → 포트 상태 이벤트**에서 해당 CH01의 변경 시각·이전/이후 상태를 확인합니다. 4. 상대를 복구하고 다시 송수신·상태 복귀를 확인합니다. 변화가 없으면 상대 응답 방식과 감지 조건을 점검하고, 케이블만 뽑았다는 이유로 통과 처리하지 않습니다. 5. **진단 도구 → 포트 별칭**에서 CH01의 별칭을 `DEMO-CH01`로 저장합니다. 포트 설정을 다시 열어 같은 이름인지 확인하고 CH02와 혼동되지 않는지 확인합니다. **통과:** 실제 통신·상태 변화·이벤트 채널/시간 일치, 별칭 재조회 일치. **원복:** 원래 연결과 별칭 복구. 키워드 입력은 **CH01 → 고급 설정 → Alarm 키워드**이며 [시리얼 이벤트 시험](04-alerts-logs.md)에서 두 화면 연동까지 확인합니다.