단계 설명
- Cloudflare Zero Trust 등록
- Zero Trust 정책 생성
- 서버에 클라우드 플레어 설치 (로그인까지) 참고 : https://jamong1014.tistory.com/108?category=913441
4. 터널 생성
5. 터널 구성
6. 터널로 가는 길
7. 터널 실행
8. 클라이언트에서 접속하는 법
1. Cloudflare Zero Trust 등록
* 등록 절차는 생략하도록 하겠습니다. 무료 플랜으로 가입하시고 등록하시면 끝
2. Zero Trust 정책 생성
- 먼저 제로 트러스트 대시보드로 이동하여 새 애플리케이션을 만듭니다
- 다음 페이지에서 'Add an application'
- 다음 페이지에서 자체 호스팅 선택
- 사용자가 애플리케이션을 사용할 수 있는 호스트 이름이 될 하위 도메인을 입력합니다.
* 위 사진은 예시입니다.
- 그런 다음 애플리케이션에 연결할 수 있는 사용자를 제어하는 규칙을 만듭니다.
* Include는 어떤 방식으로 접근하게 할건지 설정하는겁니다. 전 간단하게 제 이메일로만 승인할 수 있도록 했습니다.
- 마지막으로 Add application 하시면 됩니다.
* 딴거 건드릴 필요 없음
- 정상적으로 앱이 추가된 모습
3. 서버에 클라우드 플레어 설치(로그인까지)
https://jamong1014.tistory.com/108?category=913441
설치부터 로그인까지는 이 글 보고 참고하시면 됩니다.
4. 터널 생성
- 설치하고 로그인까지 정상적으로 이루어졌으면 이 후 터널을 생성해주셔야 합니다.
#cloudflared tunnel create [NAME]
Tunnel credentials written to /home/janne/.cloudflared/01f0928b-6a11-4254-854c-4173b5b74f2e.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.
Created tunnel nextcloud with id 01f0928b-6a11-4254-854c-4173b5b74f2e
*원하시는 이름을 지정하고 앞으로 프로세스 실행할 때도 지정한 이름으로 실행됩니다.
5. 터널 구성
- 터널 구성은 따로 구성 파일을 만들어서 절대경로로 실행하는 방식을 선택하겠습니다.
저는 /etc/cloudflared/ssh/config.yml 이런식으로 구성해줬습니다.
- config.yml 파일을 열어서 아래 내용을 참고하여 붙혀넣어주시 바랍니다.
tunnel: 01f0928b-6a11-4254-854c-4173b5b74f2e
credentials-file: /home/janne/.cloudflared/01f0928b-6a11-4254-854c-4173b5b74f2e.json
ingress:
- hostname: 자신의 도메인
service: ssh://192.168.1.5:22
- service: http_status:404
* tunnel, credentials-file은 앞서 생성한 터널을 통해 나온 아이디를 입력해주시기 바랍니다.
* hostname은 자신이 앞에서 설정한 하위 도메인 예)sshd.fooblack.com
* service는 ssh://자신의 서버 사설 아이피:포트(ssh는 22)
6. 터널로 가는 길
- 이제 Cloudflare 웹 대시보드에서 DNS 설정을 구성해야 합니다.
* 형식은 CNAME으로 구성하시고 대상(필수 항목)은 터널 생성을 통해 나온 아이디.cfargotunnel.com 이렇게 기입해주시면 됩니다.
예) 아이디가 234dfe-3re-w3 라면 ' 234dfe-3re-w3.cfargotunnel.com ' 요렇게 넣어주시면 됩니다.
7. 터널 실행
- 이제 프로세스를 실행하시면 됩니다. 이름은 아까 지정한 이름 사용
#cloudflared tunnel --config /etc/cloudflared/ssh/config.yml run [NAME]
- 완전히 백그라운드로 실행하고 싶으시면 앞에 nohup과 끝에 &를 붙혀주세요.
#nohup cloudflared tunnel --config /etc/cloudflared/ssh/config.yml run [NAME] &
* vnc와 Minecraft와 같은 tcp 기반으로 돌아가는 프로토콜들도 이런식으로 포트 바꿔서 구축해주시면 됩니다.
8. 클라이언트에서 접속 하는 법
가정 : 윈도우에서 ssh 접속을 할 때
1. 먼저 윈도우 버전의 클라우드 플레어를 다운받아 줍시다.
2. 바탕화면에 저장하고 cmd를 켜서 해당 명령어 입력
해석하자면 '192.168.1.178:22가 호스트네임의 sshd.foolblack.com 으로 포워딩한다' 라는 뜻입니다.
자신의 사설 아이피:포트 --> 서버구축한 클라우드플레어 터널 --> 본 서버 형식으로 넘어가는겁니다.
cloudflared.exe access tcp --hostname sshd.foolblack.com --url 192.168.1.178:22
* 위 명령어는 예시입니다.
* hostname과 url은 각각 자신이 설정한 하위도메인과 자신의 사설아이피:포트로 지정해야 합니다.
* 포트는 접속하는 클라이언트이기 때문에 아무렇게 해도 상관 없음. 대신 들어갈때 지정한 포트로 들어가줘야 함
3. 명령어를 실행한 상태에서 putty 접속!
* 꼭 자신의 사설 아이피:포트로 접속
- 접속 성공
*** 저렇게 일일히 명령어를 적어서 실행해야 되고, 컴퓨터가 다를 시 사설 아이피 또한 다르기 때문에 이러한 귀찮음 때문에 bat 파일로 만들었습니다.
그냥 압축 풀고 .bat 파일 바로 실행하시면 됩니다.
'서버 > Cloudflare' 카테고리의 다른 글
[Cloudflare] VPN 환경에서 웹 서버 구축 (Cloudflare, ngrok) (0) | 2022.12.19 |
---|---|
[Cloudflare]클라우드 플레어 명령어 list (0) | 2022.03.01 |
[Cloudflare]NextCloud에 Cloudflare 적용하기!! (OwnCloud도 가능) (0) | 2022.02.09 |
댓글