호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것
해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜
- 장점
PC 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되므로 효율적
IP를 자동으로 할당하므로 IP 충돌을 막을 수 있음- 단점
DHCP 서버에 의존되므로 서버가 다운되면 IP 할당이 제대로 이루어지지 않는다
ss를 통해 socket의 status를 확인할 수 있다.
ss 명령어
socket statistics
리눅스 시스템의 소켓 상태를 조회할 수 있음
- -a : listening socket을 포함한 모든 소켓 표시
- -t : TCP 유형의 소켓만 표시
- -u : UDP 유형의 소켓만 표시
- -n : [호스트 / 포트 / 사용자이름]을 숫자로 표시
- -l : listen 상태의 소켓을 확인
- -p : socket을 사용하는 프로세스의 정보를 표시
위와 같이 SSH server를 이용하기 위한 포트 외에도 dhclient항목이 잡히고 있다.
특정 포트로만 ssh 연결을 진행할 수 있도록 하기 위해, 동적으로 할당되는 ip를 제거하고, 고정 IP 설정을 해야함
vim 편집기 설치
- sudo apt-get install vim
Secure Shell Protocol
네트워크 프로토콜 중 하나
컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신할 때 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜
SSH는 다른 컴퓨터와 통신하기 위해 접속할 때 일반적인 비밀번호 입력 방식으로 하지 않는다.
한 쌍의 key를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 됨
OpenSSH는 SSH프로토콜을 사용한 원격 로그인을 위한 연결 도구
기본적으로 ssh는 포트 22로 연결됨.
과제 요구사항에 맞게 4242 포트로 ssh에 연결할 수 있도록 설정
sudo vim /etc/ssh/sshd_config
- ssh_config : client 측일 때 설정
- sshd_config : server 측일 때 설정
포트를 4242로 변경하고, 과제 요구사항에 맞게 root를 통한 연결을 방지해줌
어떤 컴퓨터에서 VM에 접속하기 위해서는
위와 같이 진행되어야 한다.
이를 위해 포드포워딩을 해주어야 함
외부에서 어떤 서버 또는 IP로 접속할 때 특정 포트로 접속을 요청하면 그 서버나 IP로 넘겨버리는 것이라고 할 수 있다.
gateway 외부망의 반대쪽에 위치한 내부망에 상주하는 호스트들에 대한 서비스를 제공하기 위해 흔히 사용됨된다.
외부 네트워크에서 내 가상머신에 접속하려고 하면 일단 Host PC인 클러스터의 Mac으로 접속해야 한다.
이 때 특정 포트(Born2beroot에서는 4242)로 Mac에 접속하면 포트포워딩되어 바로 가상 머신에 접속할 수 있도록 하는 것이 포트포워딩의 예시라고 할 수 있다.
맥 상단 Machine → Settings를 통해 VM setting 창을 open
Network →
Advanced → Port Forwarding 선택
포트포워딩 Rule을 하나 추가하고 적절한 값을 입력
client(클러스터의 맥; 맥에서 가상환경으로 접속을 시도할 것)
참고 사이트