원격에 있는 폴더를 로컬 위치로 마운트하는 방법 중 한 가지인 윈도에서 제공하는 네트워크 공유 폴더 기능을 활용하는 방법을 다루도록 하겠습니다.
이 방식은 LAN 규모의 같은 네트워크 내에서만 사용 가능하며, WAN 원격 접속(e.g. 회사-집)의 경우 적용이 불가능합니다. 쉽게 말해, 공유기를 사용하는 경우 같은 공유기에 연결된 PC들에 한해서 이 방식으로 공유 폴더를 구현할 수 있습니다.
IPTIME 등 공유기에서 제공하는 VPN 서버의 PPTP Tunneling 기법을 활용하면 원격지에서도 이 방식을 적용할 수 있으나, 여기서는 다루지 않겠습니다.
직접 해 본 결과, 공유기의 VPN 서버가 기초적인 기능밖에 지원하지 않아서 동작이 매끄럽지 못하는 현상이 발생했습니다. Cisco Router/Switch 등 전문 장비를 활용한다면 충분히 시도해 볼 가치가 있겠으나, 공유기를 사용하는 일반 가정/SOHO의 경우 다음 포스트에서 다룰 네트워크 드라이브 방식을 사용하도록 합니다. (그러는 편이 멘탈에 좋습니다.. ㄱ=)
※ 다음 포스트에서 설명할 Net Drive 프로그램을 활용하면, 본 과정을 진행하지 않아도 됩니다.
삼바(SAMBA) 서버 설치
apt-get install samba
※ root 권한을 기준으로 설명합니다. 그 외의 경우, 각 명령어 앞에 sudo를 붙여 주면 됩니다.
(e.g. sudo apt-get install samba)
접속 유저 등록
smbpasswd -a {접속에 사용할 계정}
여기서 작성한 비밀번호가 추후 윈도에서 공유 폴더에 접속할 때 입력할 비밀번호가 됩니다. 잘 메모해 두도록 합니다.
참고로, 접속 유저 삭제 명령어는 다음과 같습니다.
smbpasswd -d {삭제할 계정}
환경 설정
/etc/samba/smb.conf 를 다음과 같이 수정합니다.
① 작업 그룹 지정
작업 그룹(Work Group)은 [내 컴퓨터] 오른쪽 버튼 - [속성] 에서 확인할 수 있습니다.
... workgroup = {작업 그룹} ...
② 공유 대상 디렉토리 지정
환경설정 파일의 맨 아래에 다음 구문을 추가합니다. 공유할 디렉토리가 여러개일 경우 반복해서 작성하면 됩니다.
[{네트워크에 보여질 공유 이름}] comment = {설명} path = {공유 대상 디렉토리의 절대 경로} read only = no browseable = yes guset ok = no create mask = 600 security mask = 600 directory mask = 700 directory security mask = 755 valid users = {접속을 허용할 계정}
- read only : 읽기 전용으로 지정할 지 여부
- guest ok : 방문자 계정을 허용할 지 여부
- create mask : 파일 생성시 기본적으로 부여될 CHMOD (마스크가 아닙니다.)
- directory mask : 디렉토리 생성시 기본적으로 부여될 CHMOD (역시 마스크가 아닙니다.)
(directory) security mask는 파일/폴더 생성시 사용할 권한의 상한을 지정합니다. 기타 여러 가지 설정 항목은 환경설정 파일 안에 주석 형태로 설명이 되어 있습니다.
SMB 데몬 재시작
service smbd restart
※ SAMBA 서버는 139, 445번 포트를 통해 통신을 합니다. 공유기 및 방화벽 등에서 반드시 이 두 포트를 열어두도록 합니다.
윈도에서 공유폴더 연결
[제어판] - [사용자 계정 및 가족 보호] - [자격 증명 관리자] 에서 다음과 같이 설정합니다.
① 'Windows 자격 증명 추가' 클릭
② 접속 및 인증 정보 입력
- 인터넷 또는 네트워크 주소 : SAMBA가 설치된 서버의 IP주소 혹은 도메인 네임
- 사용자 이름 : 2. 단계에서 추가한 접속 유저
- 암호 : 2. 단계에서 입력한 비밀번호 (※ 우분투 로그인 비밀번호가 아님)
③ 접속 테스트
[네트워크] 창을 열고 주소창을 클릭한 뒤 '\\{IP주소/도메인 네임}'을 입력합니다.
엔터를 치면 다음과 같이 3 - ② 단계에서 지정한 공유 디렉토리가 표시됩니다.
※ 공유 폴더가 표시되지 않거나 읽기/쓰기 동작이 올바르게 수행되지 않는 경우, 다음 사항을 점검합니다.
- 자격 증명의 사용자 이름 및 암호 일치 여부
- 공유기 및 서버의 포트 개방 여부
- 서버와 단말기가 동일 네트에 있고, 같은 작업 그룹(Work Group)인지 여부
- 공유기의 DHCP 기능을 활용중이어서 서버 IP가 매번 바뀌지는 않는지 여부 (→고정IP로 지정)
- [사설 클라우드 구축] 기본 조건 및 아이디어 (13402)