안녕하세요 뉴비입니다 IP랑 도메인 때문에 질문 드립니다...
우선 저희 집은 구조가 현재
이런 방식이다보니,, 제가 TrueNAS를 SK Broadband 공유기의 외부 IP로 접속가능하게끔 이중으로 먼저 SKB 공유기 포트포워딩 하고, 그 안에서 한번 더 ipTime 공유기 포트포워딩을 해놓은 상태입니다... 현재 TrueNAS는 SCALE 23.12.4.2를 사용하고 있고요..
그런데 매번 외부 접속을 하려면 제 생 외부 IP를 노출시켜야하니 좀 그렇더라고요.. 혹시 도메인으로 이 외부 IP를 가리는 방법은 없을까요? duck DNS인지 뭣인지 그것도 막 보면 그건 또 모든 도메인을 외부 IP랑 연결을 시켜버려서; 뭘 어찌 하려는건지도 잘 모르겠고, cloudflareddns는 Truecharts 매뉴얼에 따르면 이놈의 외부 IP를 A레코드에 입력해서 쓰게 되는거 같은데... CNAME이니 뭐니 그거 시키는대로 하면 포트포워딩해둔거랑 어떻게 연결시킬지도 안 나와있었습니다... 대체 뭘 어떻게 해야 truenas scale 어플을 도메인을 통해서 접속할 수 있는건지 이해가 잘 안가더라고요 ㅠㅠ
그리고 여기서 더 답답한건 제가 위에다가 막 써놓은 용어들이 대부분 뭔지도 정확히 잘 이해도 못했습니다.. 사실상 제가 지금 뭘 했는지도 잘 모르겠습니다.... 정말 머리카락 다 빠질거 같아서 여기서 문의드립니다..
우선 용어 정리를 좀 하자면
sk브로드 밴드 - 외부 IP는 PC에서 네이버 사이트 같은 곳에서 IP확인 하면 나오는 IP주소를 이야기 합니다
요금제에 따라 개수는 다르지만 sk에서 할당 해 준 IP 중에 현재 PC에 할당 된 IP죠
내부 IP는 그 외부 IP를 공유기에서 쪼개서 할당 해 주는 IP입니다 192.168.0.1 이런 식으로요
그런데 공유기 - 공유기 - pc 이런 식으로 연결이 되면
sk 공유기 192.168.0.1 - ip타임 공유기 192.168.1.1 이런 식으로 연결이 되거든요
내부 IP안에 내부 IP가 되는 거죠
사무실 공유기도 이런 식인 경우가 많죠
이렇게 되면 현재 포트포워딩 하신 것 처럼 두 공유기에 포트 포워딩을 하시면 문제가 해결 되긴 합니다
단 ip타임 공유기에 연결 된 기기 두 대는 192.168.1.2, 192.168.1.3 의 주소를 가지게 되고
sk공유기에 다른 기기를 연결하면 192.168.0.2 가 되기 때문에 한 네트워크로 묶는데 문제가 생길 수도 있죠
참고로 ip타임 공유기를 192.168.0.1 로 바꿔버리면 IP가 겹치기 때문에 인터넷 접속이 안됩니다
우선 이런 상황에서 도메인 관련 내용에 대해 알아 보자면
도메인은 외부 IP와 연결이 됩니다
두 공유기를 거쳐 포트포워딩이 잘 됐다면 별 문제 없이 설정이 가능 합니다
도메인의 기능은 도메인을 IP로 연결 해줍니다
웹 페이지에 도메인을 입력하면 연결 된 IP 주소로 연결 되고 SK 공유기에 접근을 합니다
그런데 웹에서 기본 적으로 http용 80포트와 https용 443포트를 사용합니다
sk 브로드 밴드 공유기에 와서 80포트나 443포트가 어디인지 물어보면
공유기에서 포트포워딩에 따라서 그 포트에 맞는 내부IP로 연결을 해줍니다
80포트나 443포트를 공유기에서 사용 중이라면 공유기 관리 페이지가 뜨는 거고
NPM을 설정 하셨으면 우선 npm으로 접속 해서 npm에서 설정 한 서비스별 포트 번호로 연결을 해주죠
시놀로지DSM의 역방향 프록시도 마찬가지 입니다
그러니까 대충 다시 설명을 드리자면
a.a.a 라는 주소로 접속을 하면 그 도메인 사이트에서 외부 IP xxx.xxx.xxx.xxx 로 보내주고
그 외부 IP에 오니까 공유기가 있고 여기서 포트 포워딩을 통해 설정 한 포트의 서비스로 연결 되고
거기서 서비스가 실행 되거나
프록시 서버가 있다면 a.a.a는 1번 포트로 b.a.a 는 2번 포트로 연결 해주는 방식 입니다
DSM 역방향 프록시를 사용 중이면 모든 신호가 우선 DSM으로 접속을 해야하고
NPM을 사용 중이면 NPM으로 접속 후 여기저기 설정 된 곳으로 보내지는 거죠
그리고 외부IP를 a레코드에 연결 해야 합니다
truenas.aaa.com 이라는 주소가 있으면 aaa.com이 루트 도메인이고
aaa.com은 a레코드를 통해 외부ip와 연결이 됩니다
a레코드는 ip와 연결 해야 되고
c네임은 다른 도메인 주소로 연결을 할 수 있다고 보시면 됩니다
참고로 a레코드는 IP와 1:1 매핑이 가능하지만 IP가 바뀐 경우 수정을 해줘야 합니다
(이런저런 추가 설정에 따라 자동 갱신도 가능 합니다)
우리가 통신사에서 할당 받아서 사용 중인 IP는 주기적으로 바뀌기 때문에
루트 도메인을 a레코드를 통해 현재 IP와 매핑하고
c네임을 통해 루트 도메인과 다른 서브 도메인을 연결 해 두면 IP가 변경 됐을 때
a레코드만 수정을 해주면 간단하겠죠?
npm이나 시놀로지 역방향 프록시 같은 서비스에서
truenas.aaa.com 도메인에 포트를 지정 해주면 그쪽으로 접속이 되는 거고요
물론 주소 뒤에 포트를 붙여서 직접 접속도 가능합니다
aaa.com:xxx 이런 식으로요
이렇게 되면 공유기에서 지정한 포트로 연결을 시켜주는 거죠
://은 생략 했습니다
http aaa.com
이라고 입력을 하시면 aaa.com:80 이라는 의미 입니다
https aaa.com
이라고 입력을 하시면 aaa.com:443 이라는 의미 입니다
만약 투르나스 접속 포트를 http 9998, https 9999포트로 지정을 하셨다면
http aaa.com:9998 https aaa.com:9999
라고 입력을 하시면 트루나스로 연결 되는 거죠
좀더 자세히 이야기하자면
도메인 또는 도메인:포트 로 접속 하면
외부아이피:포트 로 접속 하게 되는 겁니다
그 후 내부아이피:포트 로 연결이 되는 거고요
혹은
이 포트가 노출 되는 게 지저분하거나 보안상 노출 되는 게 싫다 하시면
프록시 설정과 별칭, 서브 도메인을 이용해서 연결 해주는 거고요
npm이나 역방향 프록시에서 truenas.aaa.com을 9999포트로 설정을 한다면
https truenas.aaa.com
을 입력 하면 https aaa.com:9999
로 연결을 해주는 거죠
위에서 http냐 https냐 이런 건 인증서와 ssl 관련 설정에 따라 달라집니다
http주소를 적어도 https로 리디렉션 해주는 옵션도 있고요
참고로 npm이나 역방향 프록시를 설정하면 모든 포트를 외부까지 포트포워딩 하지 않고
80, 443포트만 연결 해주면
프록시 서버가 공유기의 포트포워딩 역할을 대신 해주는 거라고 생각 하시면 됩니다
그 대신 aaa.com:xxx 방식으로는 접속이 안되겠죠
공유기에 포트를 포트포워딩 해주면 가능하고요
두서없이 적다보니 정리가 잘 안된 느낌인데 대충 이런 식입니다
우선 무료 도메인을 발급 받는 법을 검색 하셔서 설정을 해보시면 자연 스럽게 연결은 되실 겁니다
공유기 - 공유기 연결은 하위 공유기를 허브 모드로 쓰시 거나
큰 불편함이 없으시면 그대로 쓰셔도 무방 합니다.
더 쉽게 서브 도메인을 이용해서 접속 하시려면 npm을 설정 해보세요
아 참고로 도메인 사이트에서 도메인을 구입하시거나 무료로 얻으신 후
트루나스에서 DDNS 설정을 해주셔야 합니다
DDNS 설정 하시면 IP갱신은 자동으로 될 거고요
SSL관련 문제는 인증서를 발급 받으시면 됩니다
NPM 설정을 하시려면 도커를 통해서 서비스 올리시고 설정 하시면 됩니다
좋은답변을 받기위해서는 좋은 질문이 필요합니다.
유의할점⚠️
- 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
- 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
- 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
- (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)
질문방법🙏
자신의 상황을 최대한 자세히 설명해주세요.
상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다.
ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.
*가능하면 최신버전 OS/SW를 이용해주세요
답변에대한 피드백을 주세요.
정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.
이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.
우선 용어 정리를 좀 하자면
sk브로드 밴드 - 외부 IP는 PC에서 네이버 사이트 같은 곳에서 IP확인 하면 나오는 IP주소를 이야기 합니다
요금제에 따라 개수는 다르지만 sk에서 할당 해 준 IP 중에 현재 PC에 할당 된 IP죠
내부 IP는 그 외부 IP를 공유기에서 쪼개서 할당 해 주는 IP입니다 192.168.0.1 이런 식으로요
그런데 공유기 - 공유기 - pc 이런 식으로 연결이 되면
sk 공유기 192.168.0.1 - ip타임 공유기 192.168.1.1 이런 식으로 연결이 되거든요
내부 IP안에 내부 IP가 되는 거죠
사무실 공유기도 이런 식인 경우가 많죠
이렇게 되면 현재 포트포워딩 하신 것 처럼 두 공유기에 포트 포워딩을 하시면 문제가 해결 되긴 합니다
단 ip타임 공유기에 연결 된 기기 두 대는 192.168.1.2, 192.168.1.3 의 주소를 가지게 되고
sk공유기에 다른 기기를 연결하면 192.168.0.2 가 되기 때문에 한 네트워크로 묶는데 문제가 생길 수도 있죠
참고로 ip타임 공유기를 192.168.0.1 로 바꿔버리면 IP가 겹치기 때문에 인터넷 접속이 안됩니다
우선 이런 상황에서 도메인 관련 내용에 대해 알아 보자면
도메인은 외부 IP와 연결이 됩니다
두 공유기를 거쳐 포트포워딩이 잘 됐다면 별 문제 없이 설정이 가능 합니다
도메인의 기능은 도메인을 IP로 연결 해줍니다
웹 페이지에 도메인을 입력하면 연결 된 IP 주소로 연결 되고 SK 공유기에 접근을 합니다
그런데 웹에서 기본 적으로 http용 80포트와 https용 443포트를 사용합니다
sk 브로드 밴드 공유기에 와서 80포트나 443포트가 어디인지 물어보면
공유기에서 포트포워딩에 따라서 그 포트에 맞는 내부IP로 연결을 해줍니다
80포트나 443포트를 공유기에서 사용 중이라면 공유기 관리 페이지가 뜨는 거고
NPM을 설정 하셨으면 우선 npm으로 접속 해서 npm에서 설정 한 서비스별 포트 번호로 연결을 해주죠
시놀로지DSM의 역방향 프록시도 마찬가지 입니다
그러니까 대충 다시 설명을 드리자면
a.a.a 라는 주소로 접속을 하면 그 도메인 사이트에서 외부 IP xxx.xxx.xxx.xxx 로 보내주고
그 외부 IP에 오니까 공유기가 있고 여기서 포트 포워딩을 통해 설정 한 포트의 서비스로 연결 되고
거기서 서비스가 실행 되거나
프록시 서버가 있다면 a.a.a는 1번 포트로 b.a.a 는 2번 포트로 연결 해주는 방식 입니다
DSM 역방향 프록시를 사용 중이면 모든 신호가 우선 DSM으로 접속을 해야하고
NPM을 사용 중이면 NPM으로 접속 후 여기저기 설정 된 곳으로 보내지는 거죠
그리고 외부IP를 a레코드에 연결 해야 합니다
truenas.aaa.com 이라는 주소가 있으면 aaa.com이 루트 도메인이고
aaa.com은 a레코드를 통해 외부ip와 연결이 됩니다
a레코드는 ip와 연결 해야 되고
c네임은 다른 도메인 주소로 연결을 할 수 있다고 보시면 됩니다
참고로 a레코드는 IP와 1:1 매핑이 가능하지만 IP가 바뀐 경우 수정을 해줘야 합니다
(이런저런 추가 설정에 따라 자동 갱신도 가능 합니다)
우리가 통신사에서 할당 받아서 사용 중인 IP는 주기적으로 바뀌기 때문에
루트 도메인을 a레코드를 통해 현재 IP와 매핑하고
c네임을 통해 루트 도메인과 다른 서브 도메인을 연결 해 두면 IP가 변경 됐을 때
a레코드만 수정을 해주면 간단하겠죠?
npm이나 시놀로지 역방향 프록시 같은 서비스에서
truenas.aaa.com 도메인에 포트를 지정 해주면 그쪽으로 접속이 되는 거고요
물론 주소 뒤에 포트를 붙여서 직접 접속도 가능합니다
aaa.com:xxx 이런 식으로요
이렇게 되면 공유기에서 지정한 포트로 연결을 시켜주는 거죠
://은 생략 했습니다
http aaa.com
이라고 입력을 하시면 aaa.com:80 이라는 의미 입니다
https aaa.com
이라고 입력을 하시면 aaa.com:443 이라는 의미 입니다
만약 투르나스 접속 포트를 http 9998, https 9999포트로 지정을 하셨다면
http aaa.com:9998 https aaa.com:9999
라고 입력을 하시면 트루나스로 연결 되는 거죠
좀더 자세히 이야기하자면
도메인 또는 도메인:포트 로 접속 하면
외부아이피:포트 로 접속 하게 되는 겁니다
그 후 내부아이피:포트 로 연결이 되는 거고요
혹은
이 포트가 노출 되는 게 지저분하거나 보안상 노출 되는 게 싫다 하시면
프록시 설정과 별칭, 서브 도메인을 이용해서 연결 해주는 거고요
npm이나 역방향 프록시에서 truenas.aaa.com을 9999포트로 설정을 한다면
https truenas.aaa.com
을 입력 하면 https aaa.com:9999
로 연결을 해주는 거죠
위에서 http냐 https냐 이런 건 인증서와 ssl 관련 설정에 따라 달라집니다
http주소를 적어도 https로 리디렉션 해주는 옵션도 있고요
참고로 npm이나 역방향 프록시를 설정하면 모든 포트를 외부까지 포트포워딩 하지 않고
80, 443포트만 연결 해주면
프록시 서버가 공유기의 포트포워딩 역할을 대신 해주는 거라고 생각 하시면 됩니다
그 대신 aaa.com:xxx 방식으로는 접속이 안되겠죠
공유기에 포트를 포트포워딩 해주면 가능하고요
두서없이 적다보니 정리가 잘 안된 느낌인데 대충 이런 식입니다
우선 무료 도메인을 발급 받는 법을 검색 하셔서 설정을 해보시면 자연 스럽게 연결은 되실 겁니다
공유기 - 공유기 연결은 하위 공유기를 허브 모드로 쓰시 거나
큰 불편함이 없으시면 그대로 쓰셔도 무방 합니다.
더 쉽게 서브 도메인을 이용해서 접속 하시려면 npm을 설정 해보세요
아 참고로 도메인 사이트에서 도메인을 구입하시거나 무료로 얻으신 후
트루나스에서 DDNS 설정을 해주셔야 합니다
DDNS 설정 하시면 IP갱신은 자동으로 될 거고요
SSL관련 문제는 인증서를 발급 받으시면 됩니다
NPM 설정을 하시려면 도커를 통해서 서비스 올리시고 설정 하시면 됩니다
누구나 다 이렇게 시행착오를 겪어가는 거 아니겠습니까?
잘 모르겠다 싶으신 부분은 질문 하시면 회원분들의 도움으로 대부분 해결하실 수 있을 겁니다
내 ip 가리는 것은 클라우드 플레어가 유일합니다.
아니면 오라클에서 집으로 포워딩 해도 되겠네요
도메인이라는 것이 ip 주소를 알기 쉽게 글자로 표현하는 것이라는 거죠..
하지만. 여기서 꼼수?? 같은 기능들이 있다고 생각을 합니다. 클라우드플레어 같은 경우도 자신의 서버에서
해당 ip로 전송을 시켜주는 역활을 해주는 기능을 사용하고 있죠. Proxied 라는 이름으로..
그러면 미국이든 일본이든 러시아든 클플의 서버를 거쳐서 들어오게 됩니다. 결론은 느려지죠.. 한 곳 들려서 오니.
다른 방법으로는 다른 서버에 vpn으로 본 서버와 연결을 하는 것입니다. 그러면 노출 된 아이피는 vpn 서버의
아이피가 노출 되겠죠.. 하지만 결론은 어떠한 ip라도 보여줄 수 밖에 없어요.. 기준이 ip 접속이니...
== 그래서 사용하는것이 역방향 입니다. 포트라는 것을 80 과 443만 열어두고 사용하는거죠.
그래도 와이파이 같은 걸로 연결 될 경우 보안에 취약하게 되는거겠죠..
아이디 암호를 쉽게 하더라도 취약해지는거고.. 아무리 생각하더라도 보안에 취약한 것은 안전한 규칙??을
사용하지 않는 휴먼에러가 가장 크다고 생각을 하네요.
여담이지만, 이중 공유기 환경에서는 포트포워딩도 각각 모두 설정하셔야 하므로 SKB 공유기를 브릿지 모드로 변경하시는게 낫습니다.
SKB 공유기 설정에 보시면 WAN 모드가 NAT(공유기 모드), 브릿지(스위치 모드), 리피터(무선 브릿지 모드)가 있는데 해당 항목을 브릿지로 변경하시면 됩니다.
다만, 이런 경우 해당 SKB 공유기는 비관리형 L2 스위치처럼 동작하여 초기화 하지 않는 이상 다시 설정 화면에 진입할 수 없으며 SKB 공유기에 연결되는 기기는 무조건 공인 IP를 받아오게 됩니다.
따라서 하위에 속하는 아이피타임 공유기는 공인 IP를 받아올 수 있으므로 보다 쉽게 포트를 개방할 수 있습니다.
skb 공유기를 쓰시는 이유가 혹 반기가를 위해서 사용하는 것이라면, 브릿지 모드로 두고 사용하시면 됩니다!!
cmt alert