본문으로 바로가기
반응형

이 포스트에서는 Windows PC에 Docker를 이용해 CentOS를 설치하고, 다른 네트워크에 있는 MacBook에서 해당 CentOS에 SSH로 접근하는 방법을 정리


1. Docker 설치 및 CentOS 컨테이너 생성

먼저, Docker Desktop을 Windows에 설치. Docker 설치 후, 터미널을 열고 다음 명령어로 네트워크를 생성:

docker network create -d bridge --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 test
  • parent: Docker 호스트의 이더넷 인터페이스 (일반적으로 eth0)
  • gateway: 현재 IP가 할당된 게이트웨이

이후, CentOS 컨테이너를 생성하고 SSH 설정을 위해 --privileged 옵션을 사용:

docker create -it -p 5222:22 --privileged=true --network test --ip 192.168.0.201 --name centos centos:latest /sbin/init

또는 컨테이너를 바로 실행하려면:

docker run -it -p 5222:22 --privileged=true --network test --ip 192.168.0.201 --name centos centos:latest /sbin/init
  • 네트워크 옵션을 추가하고, 비어있는 사설 IP 대역 내에서 IP를 할당.

2. CentOS 저장소 URL 수정

CentOS 8 이상 버전에서는 yum 명령어가 동작하지 않을 수 있다. 이 경우, 다음 sed 명령어를 사용해 저장소 URL을 수정:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*

3. 패키지 업데이트 및 SSH 설정

컨테이너 내에서 다음 명령어로 패키지를 업데이트하고, SSH 서버를 설치 및 시작:

yum -y update
yum -y install net-tools openssh-server
systemctl start sshd
systemctl status sshd
netstat -ntl
  • netstat -ntl 명령어를 실행해 22번 포트가 LISTEN 상태인지 확인.

이후, root 계정이나 새로 생성한 사용자 계정에 비밀번호를 설정한다. 비밀번호 변경 시 passwd 명령어를 설치해야 할 수도 있다:

yum install -y passwd
useradd -d /home/testuser testuser
passwd testuser

4. 포트포워딩 설정

이제 서로 다른 네트워크를 사용하는 두 공유기 간에 포트 포워딩을 설정한다.

  • A 공유기 (ipTIME): 게이트웨이 192.168.0.1
  • A 네트워크의 호스트 PC: IP 192.168.0.21 (Docker 컨테이너 실행 중)
  • Docker 컨테이너: IP 192.168.0.201, 포트 매핑 5222:22
  • B 공유기 (ASUS): 게이트웨이 192.168.50.1

A 공유기 (ipTIME) 포트포워딩 설정

ipTIME 공유기에서 고급 설정 > NAT/라우터 관리 > 포트포워드 설정으로 이동하여 다음과 같이 설정한다:

  • 내부 IP 주소: 192.168.0.21
  • 프로토콜: TCP
  • 외부 포트: 5222
  • 내부 포트: 22

B 공유기 (ASUS) 포트포워딩 설정

ASUS 공유기에서 고급 설정 > WAN > 가상 서버 / 포트 포워딩 메뉴로 이동해 포트포워딩을 추가한다:

  • 서비스 이름: iptime_192.168.0.1 (원하는 이름)
  • 프로토콜: TCP
  • 외부 포트: 5222
  • 내부 포트: 5222
  • 내부 IP 주소: 192.168.0.1 (A 공유기의 IP)

5. 연결 테스트

모든 설정이 완료되면, MacBook 터미널에서 다음 명령어로 포트 연결을 테스트:

nc -zv 192.168.0.21 5222

성공 메시지(Connection to 192.168.0.21 port 5222 succeeded!)가 나타나면 통신이 잘 되고 있다는 의미.

6. SSH 접속

이제 MacBook에서 SSH를 사용해 Docker 컨테이너에 접속할 수 있다:

ssh testuser@192.168.0.21 -p 5222
반응형