이 가이드에서는 TCP/IP 네트워크를 통해 COM 포트를 리디렉션하여, 직렬 장치가 컴퓨터에 직접 연결된 것처럼 원격으로 액세스하는 방법을 배우게 됩니다. 물리 및 가상 COM 포트를 공유하고 Windows 및 Linux 시스템 간에 이를 포워딩하는 방법을 포함하여, 서버와 클라이언트 연결을 모두 설정하기 위한 명확한 단계별 지침을 확인할 수 있습니다. 마지막에는 직렬 포트 포워딩이 어떻게 작동하는지, 직렬 하드웨어의 도달 범위를 어떻게 확장할 수 있는지, 그리고 이것이 네트워크 환경에서 원격 액세스와 장치 관리를 어떻게 간소화할 수 있는지 이해하게 될 것입니다.
TCP/IP를 통해 COM 포트를 리디렉션(Windows 및 Linux OS용)
원격으로 시리얼 포트 장치에 액세스하기 위해 전용 COM Port Redirector 소프트웨어(리눅스 및 윈도우 운영 체제)를 사용할 수 있는 다양한 시나리오가 있습니다. 예를 들어, PC 간 직접 연결이 불가능할 때 네트워크를 통해 RS232 포트를 원격 컴퓨터로 리디렉션하는 경우가 있을 수 있습니다.
Telnet 프로토콜(RFC 2217)을 지원하는 시리얼 장치를 사용해야 하지만 장치가 PC 근처에 물리적으로 존재하지 않는 경우, 전문 Serial Port Redirector의 도움을 받아 인터넷 또는 LAN을 통해 공유한 후 원격으로 연결할 수 있습니다.
COM 포트를 TCP/IP로 포워딩하는 방법을 알고 싶으신가요? 아래는 간단한 단계별 가이드입니다:
로컬(서버) 컴퓨터에서 COM 포트 리디렉션:
1. 설치 하고 COM 포트 리디렉터 앱을 시작합니다. 메인 메뉴에서 연결 > 새 서버 연결을 선택하거나 홈 창에서 서버 연결을 클릭합니다.
2. 연결 이름을 선택하세요.
3. 원격 클라이언트 PC와 공유해야 하는 COM 포트를 선택합니다.
4. 네트워크 설정에서:
- 클라이언트 연결을 수신하는 데 사용할 TCP 포트를 지정합니다.
- 이 포트가 방화벽에서 허용되어 있으며 다른 어떤 애플리케이션도 사용 중이지 않은지 확인합니다.
- COM 데이터를 리디렉션할 프로토콜을 선택합니다. Raw 데이터 전송 프로토콜 또는 RFC 2217 확장이 포함된 Telnet 프로토콜 중 하나일 수 있습니다.
5. 생성 버튼을 누르세요!
6. 완료하면 TCP/IP 네트워크를 통해 원격 클라이언트 연결에 사용할 수 있도록 시리얼 포트가 사용 가능해집니다.
원격(클라이언트) 컴퓨터에서 COM 포트 리디렉션:
1. 프로그램을 시작하고 기본 메뉴에서 연결 > 새 클라이언트 연결을 선택합니다.
2. 생성하는 연결의 이름을 지정합니다.
3. 연결에 사용할 로컬 COM 포트를 선택합니다.
4. 시스템에 가상 COM 포트가 생성되도록 Create as virtual port 옵션을 활성화합니다. 이 포트는 실제 COM 인터페이스의 동작을 에뮬레이션하며, 클라이언트 측에서 원격 서버의 포트와 데이터를 교환하는 데 사용됩니다.
참고: 가상 시리얼 포트를 사용하기로 결정한 경우, 실제 시리얼 인터페이스와 통신할 때 발생할 수 있는 데이터 손실을 방지하기 위해 Strict baudrate emulation 옵션을 활성화할 것을 권장합니다.
5. 데이터 전송 프로토콜을 선택하십시오.
6. 연결하려는 서버의 컴퓨터 이름 또는 IP 주소와 서버 연결을 생성할 때 선택한 TCP 포트를 입력합니다.
7. 생성 클릭!
이것으로 끝입니다! 이제 클라이언트 컴퓨터가 TCP/IP 채널을 통해 서버 PC에 연결되었습니다. 즉, 서버에서 공유된 COM 포트에 어떤 시리얼 장치를 연결하든, 해당 주변기기가 그 컴퓨터에 직접 연결된 것처럼 클라이언트 컴퓨터에 표시됩니다. 따라서 COM 포트 리디렉터는 원격 컴퓨터에 시리얼 포트를 추가합니다.
Linux에서 ser2net으로 COM 포트를 리디렉션하는 방법
또한 저장소에서 이미 사용할 수 있는 무료 오픈 소스 ser2net을 사용하여 두 Linux 머신 간에 COM 포트를 포워딩하는 방법도 있습니다. 다소 더 복잡합니다.
- 수신 장치에 ser2net을 설치하는 것부터 시작합니다
apt install ser2net /etc/ser2net.conf에 다음 줄을 추가하여 ser2net을 구성합니다.
수신 포트를 지정합니다. 또한 “/dev/ttyS0”는 필요한 다른 시리얼 포트로 대체할 수 있습니다.<receiver port>:raw:400:/dev/ttyS0:57600 8DATABITS NONE 1STOPBIT- 이제 인자 없이 ser2net을 실행하고 송신 컴퓨터에서 시작할 수 있습니다. socat을 설치합니다:
apt install socat - 수신기에 연결될 가상 장치를 보관할 디렉터리를 생성합니다:
mkdir ~/dev/ttyV0 - 다음 인자를 사용하여 socat을 실행합니다:
socat pty,link=$HOME/dev/ttyV0,waitslave tcp:<receiver IP address>:<receiver port> - minicom으로 연결을 테스트할 수 있습니다:
minicom $HOME/dev/ttyV0 - 열고 나면 minicom은 콘솔처럼 동작하며 원격 장치로 텍스트를 전송합니다.
원격 시리얼 포트로 작업하는 방법은 여러 가지가 있습니다. 한 가지 옵션은 Linux 머신에서 COM 포트를 매핑하고 Serial to Ethernet Connector를 사용해 네트워크를 통해 리디렉션하는 것입니다. 앞서 언급했듯이 Electronic Team의 COM 포트 리디렉터 소프트웨어는 사용 중에도 문제 없이 Windows와 Linux 모두에서 사용할 수 있습니다. 따라서 일상적인 사용에는 더 나은 동시에 더 간단한 옵션입니다.