수성비전자방입니다. 마인크래프트는 건축, 생존 등을 하는 게임입니다. 개인적인 생각으로는 친구와 함께하면 더 재밌는 것 같습니다. 다른 집에 사는 친구와 함께 멀티를 하려면 서버를 열어야 합니다. 마인크래프트 자바에디션에서 가장 기본적인 서버는 바닐라 서버입니다.(단, 바닐라 서버에서는 모드 설치가 불가능합니다.) 오늘은 마인크래프트 자바에디션 바닐라 서버 여는 법에 대해서 알려드리겠습니다.

 

우선 마인크래프트가 설치된 PC에서 서버 파일을 내려받으세요.

1. 우선 Minecraft Launcher에서 설치 설정을 클릭합니다.

2. 신규를 클릭합니다.

 

3. 버전을 확인하시고 버전 오른쪽에 작게 서버라고 쓰인 것을 누릅니다.

 

4. 웹브라우저가 열리는데 왼쪽 아래 보시면 server.jar 파일을 내려받으실 수 있습니다.

 

5. 차단되었다고 뜨는데 유지를 클릭합니다.

 

서버로 사용할 PC에 Java를 설치하세요.

1. https://java.com 으로 접속합니다.

2. 무료 Java 다운로드를 클릭합니다.

 

3. 동의 및 무료 다운로드 시작을 클릭합니다. 설치 파일을 내려받으시고, 실행하시기 바랍니다.

 

4. 대상 폴더를 변경하실 분은 왼쪽 아래 체크 박스를 체크하시기 바랍니다.

5. 설치를 클릭합니다.

 

6. 설치가 다 되면 닫기를 눌러 종료합니다.

 

본격적으로 서버를 열어 봅시다.

서버로 사용할 PC가 제 PC가 아니다 보니 확장명 관련 설정을 바꾸지 못했습니다. 스크린샷에 확장명이 안 보이더라도 양해 부탁드립니다.

1. 마인크래프트 런처에서 내려받은 server.jar 파일을 서버 컴퓨터에 넣은 뒤(전송한 뒤) 실행합니다.

 

2. 그러면 아무 창도 안 열리고 파일들만 몇 개 생겼을텐데 elua.txt 파일을 실행합니다.

 

3. 셋째 줄에 eula=false 라고 되어 있을텐데, false를 true로 바꿔주고 저장합니다.

 

4. 서버 관련 설정을 바꾸기 위해서는 server.properties 파일을 수정해야 합니다. 소스 파일 편집기로 수정하시면 되는데 그런 거 없으시다면 메모장으로 편집하셔도 됩니다. 제가 서버로 사용할 PC에도 소스 파일 편집기가 없는 관계로 메모장을 실행했습니다. server.properties를 메모장에 드래그하시면 됩니다.(물론 파일 열기를 하셔도 되고... Ctrl+O를 하셔도 되고...)

 

5. 원하는 대로 수정하신 후 저장하세요. 이 파일에 대한 자세한 설명은 마인크래프트 전문 블로거 분들께서 정리해 두셨으리라 생각하고(아니면 나무위키를 참고하셔도 됩니다.) 저는 저에게 필요한 부분만 정리해 보겠습니다.

 

[필자의 server.properties 수정 요령]

*gamemode 변경하기(그런데 이건 맵을 새로 만들 때 적용되는 거라서 사실 기존에 제작하신 맵으로 플레이하실 분은 맵 자체 gamemode를 원하는 대로 설정해 두셔야 합니다.)

*difficulty=peaceful(물론 다른 난이도를 원하면 다르게 설정... 제가 좀비를 싫어해서 평화로움으로 설정했습니다.)

*enable-command-block=true(command block 사용을 허용하는 설정입니다.)

*max-players=20(최대 접속자 수: 20명. 최대 접속자 수를 변경하려면 숫자를 수정.)

 

6. 이제 서버를 본격적으로 열어 봅시다. 이번에는 배치 파일(*.bat)을 만들어야 합니다.

1
2
java -Xmx1G -Xms1G -jar server.jar
pause
cs

1행에 주목하시기 바랍니다. RAM 할당 관련 내용입니다. -Xmx1G는 최대 용량이 1GB임을 의미하며, -Xms1G는 최소 용량이 1GB임을 의미합니다. 이 경우 마크 서버에 1GB RAM을 할당하겠다는 뜻입니다. 사실 이것뿐만 아니라 서버 운영과 관련해서 RAM을 더 잡아먹기 때문에 서버 컴퓨터 사양의 RAM을 전부 다 지정하면 안 됩니다. RAM 할당은 본인 상황에 맞게 조절하시기 바랍니다.

저의 경우, 서버로 사용할 PC의 RAM이 8GB였는데 서버에 RAM을 2GB로 할당하고 싶었지만, 그렇게 하니 오류가 발생하더라구요..(서버 구동 자체가 안 됩니다.) 그래서 1GB밖에 할당을 못했습니다.

참고로, RAM 용량을 MB 단위로 할당하고 싶으신 분은 -Xmx ?M -Xms?M의 형식으로 작성하시기 바랍니다.

1행 마지막 부분의 -jar server.jar는 server.jar를 실행한다는 의미입니다. 혹시 파일명을 바꾸셨다면 바꾼 파일명을 입력하시기 바랍니다.

 

배치 파일은 편의상 start.bat라고 하겠습니다. 파일명은 다르게 하셔도 되지만, 확장명 .bat 는 지켜주셔야 합니다. 배치 파일은 소스코드 편집기로 작성하시면 되지만, 없는 경우 메모장을 사용하셔도 무방합니다. 저장할 때 파일 이름에 start.bat라고 쓰고, 파일 형식을 모든 파일로 해 주시면 됩니다.(요즘은 파일 형식 안 바꿔도 되긴 하던데...)

 

7. 방금 만든 start.bat를 실행합니다.

8. Microsoft Defender SmartScreen 관련 경고창이 뜨면 추가 정보를 클릭합니다.

 

9. 실행을 클릭합니다.

 

10. 액세스 허용을 해 줍니다.

 

11. 로딩이 다 될 때까지 기다리시기 바랍니다. 시간이 오래 걸립니다. 스폰 지점 준비가 다 끝나면 아래와 같은 문구가 뜰 겁니다.

Done (s)! For help, type "help"

 

서버 PC 고정 IP 설정하기

서버를 여러 번 열 것이라면 서버 컴퓨터의 IP는 고정되어 있는 것이 편합니다. 아래 글을 참고하셔서 고정 IP를 설정하시기 바랍니다.

https://toopyo.tistory.com/entry/Windows10PublicIP

 

포트포워딩

공유기를 사용하는 경우 각 장치에 사설 IP가 부여됩니다. 같은 네트워크 안에서는 사설 IP를 입력하여 서버에 접속할 수 있지만, 외부 네트워크에서 서버에 접속하려면 공인 IP를 입력해야 하므로 공유기에서 포트포워딩을 해 주어야 외부 접속이 가능합니다.

포트포워딩 하실 때 내부 포트는 server.properties 파일에 있는 포트 번호를 입력하시면 되는데 포트 관련 부분을 건드리지 않으셨다면 25565일 것입니다. 외부 포트는 내부 포트와 동일하게 하셔도 되고, 그 외에 쓰고 싶으신 포트 번호를 쓰셔도 됩니다.(위의 이미지는 외부 포트를 38080으로 설정한 예시입니다.)

 

KT 공유기(Giga Wifi Home) 포트포워딩

 

위에 본인의 공유기가 없을 경우 인터넷에 공유기 이름을 검색해 보면 포트포워딩 하는 방법이 나오므로 검색해 보시기 바랍니다.

 

서버에 접속할 친구에게 알려줘야 할 것

서버의 공인 IP 주소와 외부 포트 번호를 알려줘야 합니다. 공인 IP 주소는 공유기 설정 페이지에서 확인하실 수도 있고, 아니면 그냥 네이버나 다음 등에 '내 아이피'라고 검색하시면 나옵니다.

 

서버에 접속하는 방법

Multiplayer를 클릭합니다.

 

Proceed를 클릭합니다.

 

Add Server를 클릭합니다.

 

Server Address에 서버공인IP:외부포트를 입력합니다.

가령, 서버의 공인 IP 주소가 123.45.67.8이고, 외부 포트를 38080으로 설정했다면, 123.45.67.8:38080을 입력하시면 됩니다.(포트포워딩 단락의 이미지 상황)

그 다음 Done을 클릭합니다.

 

이제 저 서버를 클릭(더블 클릭)해서 접속하시면 됩니다.

이때, 방화벽 경고창이 뜰 수 있는데 액세스 허용을 눌러 주시기 바랍니다.

 

드디어 접속 성공!

 

기존에 만든 맵으로 멀티를 하고 싶다면?

잠시 서버를 끄고, 작업을 하도록 하겠습니다.

 

서버 폴더 안에 world 폴더가 있습니다. 그 안에 있는 파일들을 모두 삭제하시고, 맵 세이브파일 폴더 안에 있는 파일들을 모두 서버 폴더 안에 있는 world 폴더 안으로 복사하시면 됩니다.

 

알아두면 좋은 서버 관련 명령어

위 스크린샷에서 파란 동그라미 친 부분에 서버 관련 명령어를 쓸 수 있습니다.

 

op <플레이어>

<플레이어>에게 관리자(op) 권한을 부여합니다. 이 권한이 있는 사람은 게임 안에서 명령어를 사용할 수 있습니다.

가령, steve라는 플레이어에게 op 권한을 주려면 op steve라고 입력한 후 엔터 치시면 됩니다.

 

deop <플레이어>

<플레이어>에게 있는 관리자(op) 권한을 해지합니다.

 

save-all

서버 데이터를 저장합니다.

 

stop

서버를 종료합니다. 이 명령어를 입력하면 잠시 시간이 흐른 후 서버가 꺼지며, 창이 닫힙니다.

 

저의 글을 읽어 주셔서 감사합니다.

다음에 만나요!

 

댓글을 달아 주세요

수성비전자방입니다. 오늘은 삼성 노트북용 멀티포트 어댑터(AA-AM1N95W) 사용 후기를 작성해 보겠습니다.

 

포트

[멀티포트 어댑터 포트]

USB 3.0 type-A 포트 1개

USB 2.0 type-A 포트 1개

HDMI 포트 1개

유선 기가비트랜 포트 1개

USB-PD 포트 1개(C타입인데 충전기만 꽂을 수 있고, 데이터 통신은 안 됨.)

 

↓↓↓

 

[연결단자]

USB type-C

 

가격?

Galaxy Book Members→사은품 및 제휴 혜택→사은품 특가전-자세히 보기(2021년 혜택은 3월 31일까지)

삼성 멀티포트 어댑터는 원래 10만 원에 가까운 가격이지만 저는 최근부터 갤럭시 북 Flex2(관련 글)를 쓰게 되었기 때문에 삼성 멀티포트 어댑터를 56,000원에 구매할 수 있었습니다.

할인 혜택이 있었기에 다행이지 그마저도 없었다면 10만 원이 날아갈 뻔했습니다.(아마도 안 샀겠죠?)

사은품 혜택은 매년 노트북 출시될 때마다 신제품을 대상으로 이루어지는 것 같으니 참고하시면 좋겠습니다.

 

개봉기

아무튼 포장은 잘 된 것 같군요.

 

삼성답게.

 

이 뚜껑을 엽시다.

 

이 조그마한 것도 사용설명서가 있습니다. 물론 사람들이 긴 건 안 읽으니까 QUICK START GUIDE를 넣어줬군요.

 

잘 보일지는 모르겠지만 혹시나 싶어 사용설명서를 찍어 올려 봅니다.

 

네모난 모양입니다.

 

USB 3.0과 2.0 포트가 각각 1개씩 있구요. 합치면 2개군요. 마우스, 키보드를 연결하면 끝이겠는데요?(누가 노트북에 마우스랑 키보드를 연결하냐구요? 그게 접니다.)

 

왼쪽부터 USB-PD(type-C), HDMI, 유선 기가비트랜 포트입니다.

여기 있는 USB-C 포트는 USB-PD 전용이므로 USB 저장장치를 꽂아 데이터 전송하는 것은 불가능합니다.

데이터 전송은 USB-A로...

아니면 C타입을 꽂을 거라면 노트북에 바로 꽂으시면 되겠죠? 노트북에 USB-C 포트가 하나만 있는 건 아닐테니...

(스마트폰은 다른 방법이 없는 듯..?)

 

PC와 연결할 USB type-C 케이블이 내장되어 있습니다.

 

제품의 스위치를 위로 올리면

 

이렇게 USB-C 케이블이 빼꼼 나오게 됩니다. 그러면 저 단자를 잡아당겨서 케이블을 꺼내시면 됩니다.(좀만 더 나와도 좋았을 듯.)

 

그리고 이렇게 연결하시면 되겠죠.

 

갤럭시 북 Flex2에 연결해 보니...

무선마우스, 키보드, 유선랜, HDMI를 장착한 모습입니다.

위의 사진을 보시면 HDMI를 통한 모니터 연결은 잘 되는 것 같죠? 그리고 키보드도 잘 됩니다.

무선마우스가 중요한데 제 느낌으로는 부드럽게 잘 되는 것 같습니다.(돈 들여 삼성 제품 산 보람이 있음.)

 

(참고로 너무 싸구려 멀티커넥터를 사용하면 무선 마우스 사용 시 커서 이동이 버벅거립니다.)

 

USB 저장장치와 충전기를 꽂아 보았습니다.

참고로 USB 저장장치는 샌디스크 USB이며, USB 3.0입니다.

그리고 충전기는 갤럭시 북 Flex2 구성품인 65W 충전기입니다.

 

사진이 흐려서 잘 안 보이시겠지만 충전기가 인식되었습니다. 그런데 이미 충전이 다 되어서 더이상 충전이 안 되네요.(엄밀히 말하면 제가 85%까지만 충전되도록 설정한 바람에 더이상 충전이 안 되네요.^^)

여기서 저는 새로운 사실을 알아냈습니다. 삼성 멀티포트 어댑터에 충전기를 꽂았다가 뽑으면, 멀티포트 어댑터 자체가 연결이 잠시 끊어졌다가 다시 연결됩니다. 아주 잠깐이지만 당황할 수 있으니 주의할 것.

 

USB 3.0 속도 측정

제 실험을 신뢰하지 마시기 바랍니다.

보통 속도 측정은 속도 측정 프로그램을 설치해서 해야 하지만 그랬다가 제 USB에 무슨 일이 생길까 겁이 나서 못하겠으니 그냥 파일 복사나 해 봅시다.(그래서 공신력 제로.)

 

[쓰기 실험: 바탕화면(C드라이브)→USB]

제가 찍은 스크린샷에는 41.9MB/s라고 나오지만 그래프를 잘 보시면 이건 감소한 속도입니다. 그러니 대충 40~80MB/s 정도 나온다고 보면 되지 않을까요?

 

[읽기 실험: USB→바탕화면(C드라이브)]

쓰기 실험과 달리 161MB/s로 균일한 속도를 보여줍니다.

 

이 정도면 USB 2.0의 480Mbps(≒60MB/s)보다는 분명 빠르니 만족하고 사용할 수 있겠습니다.

무엇보다도 이 실험은 제대로 된 실험이 아니였으니까요.^^

 

유선 기가비트랜 속도 측정

제 실험을 신뢰하지 마시기 바랍니다.

사실 저희 집 인터넷이 기가인터넷이 아니기 때문에 속도 측정이 불가능합니다.. 저희 집 인터넷의 원래 속도는 500Mbps입니다. 그렇다면 과연 삼성 멀티포트 커넥터를 통한 연결 속도는 어떨까요?

 

NIA 스피드 인터넷 속도측정 결과입니다. 적절한 결과가 나왔습니다.

 

스마트폰에도 연결할 수 있을까?

C타입으로 연결하는 것이다 보니 '스마트폰에도 연결이 될 것인가?'라는 호기심이 저를 자극합니다.

 

3세대: C to HDMI 케이블을 연결하는 방법

4세대: USB 케이블을 이용하여 Windows PC 또는 Mac에 연결하는 방법

5세대: Miracast를 이용하는 방법

 

삼성 멀티포트 어댑터로 삼성 DeX를 사용한다면 3세대에 해당한다고 볼 수 있겠죠? 그런데 USB type-C to HDMI 케이블의 한계를 극복한 3세대입니다.(USB를 더 꽂을 수 있으므로.)

 

제가 사용하는 갤럭시 S20 FE(안드로이드11, One UI 3.0)에 연결하니 사용 가능하네요. 삼성 DeX도 되네요.

 

정품 DeX 액세서리가 아니라는 알림이 뜨긴 하지만 사용하는 데 불편함은 없습니다. 다만, 삼성이 정한 용도 이외로 사용했으니 문제가 생기면 사용자가 책임을 져야 하겠죠?

(이쯤 되어 다시 짚어보는 정식 명칭: 삼성 노트북용 멀티포트 어댑터)

 

이더넷도 잘 연결되는군요.

이것으로 알 수 있는 사실: 스마트폰도 유선 인터넷을 사용할 수 있다.

 

USB도 잘 인식이 됩니다.

 

충전기도 꽂아 보았습니다. 여기서 유의할 것이 있습니다.

제가 가진 스마트폰 충전기(9V 1.67A or 5V 2A)를 꽂았더니 충전이 되지 않았습니다.

다만, 갤럭시 북 Flex2 구성품에 포함된 노트북 충전기(65W)를 꽂으니 충전이 되었습니다.

(명칭에 삼성 '노트북용' 멀티포트 어댑터라고 되어 있으니 할 말이 없습니다.)

삼성 멀티포트 어댑터로 스마트폰을 충전하실 분은 노트북 충전기를 이용하시면 되겠습니다. 다만, 노트북 충전기를 사용하여 스마트폰을 충전하는 것은 호불호가 갈립니다. 둘다 C타입이라고 하여 별 신경 안 쓰고 충전하는 사람이 있는가 하면, 누군가는 노트북 충전기로 스마트폰을 충전하는 것을 싫어합니다. 이런 점 알아 두시고 충전하시기 바랍니다.

저는 가급적이면 충전하지 않고, 불가피할 경우에만 노트북 충전기로 삼성 멀티포트 어댑터를 통해 스마트폰을 충전할 생각입니다.

 

저의 글을 읽어 주셔서 감사합니다.

솔직히 이 제품이 10만 원까지의 가치가 있는지는 잘 모르겠지만, 제가 할인받아서 지불한 56,000원 이상의 가치는 있는 것 같습니다. 오늘은 공식적인 활용 방법인 노트북 연결부터, 비공식적인 활용 방법인 스마트폰 연결까지 다루어 보았습니다. 다음에 만나요!

 

댓글을 달아 주세요

수성비전자방입니다. 오늘은 Windows 10이 설치된 PC의 IP를 고정 IP로 설정하는 방법에 대해 글을 써 보겠습니다.

 

1. 설정에 들어갑니다.

2. 네트워크 및 인터넷을 클릭합니다.

 

3. 상태 탭에서 어댑터 옵션 변경을 클릭합니다.

 

4. 무선 인터넷을 이용하시는 경우 Wi-Fi를, 유선 인터넷을 이용하시는 경우 이더넷을 오른쪽 클릭합니다.

5. 속성으로 들어갑니다.

 

6. 인터넷 프로토콜 버전 4(TCP/IPv4)를 클릭합니다.(체크되어 있는 것을 해제하지 마세요.)

7. 속성을 클릭합니다.

그러면 인터넷 프로토콜 버전 4(TCP/IPv4) 속성 창이 열릴 것입니다.

 

사실 여기까지 오기 전에 확인할 것이 있었는데... 지금 해도 상관은 없습니다만,,,

 

명령 프롬프트(CMD) 실행하시고, ipconfig 입력하신 뒤 엔터를 눌러 주세요.

그러면 여러 가지가 뜰 텐데 게이트웨이 주소를 복사해서 웹브라우저 주소창에 붙여넣은 뒤 접속해 주세요.

그 다음 로그인하시면 공유기 상태 정보를 확인하실 수 있습니다.(초기 ID와 비밀번호는 공유기마다 다르니 인터넷에 공유기 이름을 검색해 보세요.)

 

이제 이 상태 정보를 토대로 인터넷 프로토콜 버전 4(TCP/IPv4) 속성 창의 빈칸을 채워 보겠습니다.

 

8. 다음 IP 주소 사용(S)를 선택하세요.

9. 원하는 고정 IP 주소를 입력하되, 공유기 설정 페이지를 참고하여 DHCP 동적 IP 범위 외의 IP로 설정하시기 바랍니다.
(DHCP 동적 IP 범위 외의 IP가 없다면 DHCP 동적 IP 범위 외의 IP를 축소하세요.)

10. 서브넷 마스크는 ipconfig 명령을 실행했을 때 나온 IP를 참고하여 작성합니다.

11. 기본 게이트웨이도 마찬가지로 ipconfig 명령을 실행했을 때 나온 IP를 참고하여 작성합니다.(공유기 설정 페이지 접속할 때 입력한 그 IP요.)

 

12. 다음 IP 주소 사용을 선택하면 자동으로 '다음 DNS 서버 주소 사용'이 선택됩니다. 그러므로 DNS 서버를 입력해야 하는데 공유기 설정 페이지의 상태 정보를 참고하시면 됩니다.(KT 공유기 기준)

 

저의 글을 읽어 주셔서 감사합니다. 다음에 만나요!

 

댓글을 달아 주세요

수성비전자방입니다. 오늘은 제가 사용하는 KT 공유기에서 포트포워딩하는 방법을 알려드리겠습니다. 포트포워딩을 하려고 하시는 분들은 외부 네트워크에서 기기에 연결하기 위함이겠죠?

 

아마도 대표적인 예시는 서버...(아래의 글들은 제가 만든 서버의 목록입니다.^^)

라즈베리파이3 B+로 홈페이지 서버 만들기(Node.js 이용)

마인크래프트 자바에디션 바닐라 서버 여는 법

 

공인 IP와 사설 IP

IP 주소는 공인 IP와 사설 IP로 나눌 수 있습니다.

공인 IP는 전세계에서 고유한 IP입니다. 그래서 다른 PC의 공인 IP를 알면 그 PC에 접속할 수 있습니다. 다만, 모든 PC와 스마트폰, IoT 기기 등에 공인 IP가 부여되면 IP 주소가 고갈되겠죠?

 

그래서 공유기를 사용하는 경우 그 공유기에 연결된 기기들은 사설 IP가 부여됩니다. 이 경우 같은 공유기로 연결된 네트워크 안에서는 사설 IP를 입력하여 서로의 기기에 접속할 수 있지만, 그 공유기에 연결되지 않은 친구 PC에서 공유기에 연결된 제 기기에 접속할 때에는 사설 IP를 입력하면 접속이 안 됩니다.

 

사설 IP의 범위는 아래와 같습니다.

A: 10.0.0.0~10.255.255.255

B: 172.16.0.0~172.31.255.255

C: 192.168.0.0~192.168.255.255

위의 범위에 해당하는 IP를 갖고 있다면 사설 IP를 부여받으신 것이고, 그 외의 IP를 갖고 있다면 공인 IP를 부여받으신 것입니다.

 

그렇다면 외부 네트워크에서, 사설 IP를 부여받은 제 서버에 접속하려면 어떻게 해야 할까요? 그럴 때 하는 것이 바로 포트포워딩입니다. 포트포워딩을 하고 나면 외부 네트워크에서도 공인IP:포트번호를 입력하여 접속할 수 있습니다. 지금부터 KT 공유기에서 포트포워딩 하는 방법을 알려드리겠습니다.

 

KT 공유기(Giga Wifi Home) 포트포워딩

Windows를 기준으로 설명 드리겠습니다.

 

1. 명령 프롬프트를 실행합니다.

 

2. ipconfig 명령을 실행합니다.

유선랜을 연결하신 분은 이더넷 어댑터 이더넷을 주목합니다.

무선랜을 연결하신 분은 무선 LAN 어댑터 Wi-Fi를 주목합니다.

버추얼박스를 설치하신 분들께서는 VirtualBox Host-Only Network와 혼동하지 않도록 주의하시기 바랍니다.

이제 게이트웨이 주소를 확인하시기 바랍니다.

 

3. 웹브라우저에서 게이트웨이 주소로 접속합니다. 그러면 공유기 설정 페이지가 나옵니다.

처음 접속하시는 것이라면 아이디와 비밀번호는 아래와 같습니다.

ID: ktuser

비밀번호: homehub

ID와 비밀번호가 이미 입력되어 있어서 필요없을 것 같지만, 이어서 비밀번호 변경을 해야 하므로 알고 있어야 합니다.

아이디와 비밀번호를 잊어먹으셔서 계정 초기화를 하셨다면 비밀번호는 공유기 비밀번호로 변경됩니다. 아마도 공유기 뒷면에 적혀 있겠죠?

 

4. ID와 비밀번호를 바꾸랍니다. 확인합니다.

 

5. 변경해 줍니다.

 

6. 바꾼 ID와 비밀번호로 로그인합니다.

 

7. 드디어 로그인했습니다. 여기서 공인 IP와 DNS 등을 확인하실 수 있습니다.

 

이 사진에 있는 포트 번호와 설명은 예시입니다.

8. 사이드바에 있는 장치설정을 클릭합니다.

9. 트래픽 관리를 클릭합니다.

10. 상단에 있는 포트 포워딩 설정을 클릭합니다.

11. 빈칸을 채워 보겠습니다.

*소스 IP 주소, 소스 포트: 비워 두셔도 됩니다.

*외부 포트: 외부에서 접속할 때 입력할 포트입니다.

*내부 IP 주소: 서버로 사용할 기기의 사설 IP를 입력합니다.

*내부 포트: 서버로 사용할 기기에서 열어 둔 포트를 입력합니다.

*설명: 말 그대로 해당 포트포워딩에 대한 설명이니 마음대로 입력하세요.

(Tip1: 외부 포트는 내부 포트와 동일하게 설정하셔도 됩니다.)

(Tip2: 사용할 수 있는 포트의 범위는 0~65535라고 하네요.)

12. 다 작성하셨으면 추가를 클릭합니다. 3초 정도 기다리시면 아래의 목록에 나타나며, 적용됩니다. 그러면 포트포워딩이 완료되었으므로 외부에서 공인IP:포트번호를 입력하여 접속할 수 있습니다.

 

이해 못하신 분들을 위한 추가 그림

상황1)

 

 

상황2)

외부 포트와 내부 포트가 다른 경우

 

저의 글을 읽어 주셔서 감사합니다.

질문 있으시면 댓글 남겨 주세요. 제가 아는 부분에 한해서 답변 드리겠습니다.

다음에 만나요!

댓글을 달아 주세요

수성비전자방입니다. 오늘은 라즈베리파이 OS에서 고정IP 설정하는 방법을 알려드리겠습니다.

 

1. PC에서 CMD(명령 프롬프트)를 실행합니다.

 

2. ipconfig 명령을 실행합니다.

3. 유선랜을 연결하신 분은 이더넷 어댑터 이더넷을, 무선랜을 연결하신 분은 무선 LAN 어댑터 Wi-Fi를 주목하시기 바랍니다. 연결별 DNS 접미사, IPv6 주소, IPv4 주소, 서브넷 마스크, 기본 게이트웨이가 나올 것입니다. 여기서 게이트웨이 주소를 확인합니다.

버추얼박스를 설치하신 분들께서는 VirtualBox Host-Only Network와 혼동하지 않도록 주의 바랍니다!

 

4. 웹브라우저에서 게이트웨이로 접속하시면 공유기 설정 페이지로 연결됩니다. DHCP IP(사설IP) 사용범위를 확인하시기 바랍니다.(KT 공유기의 경우 장치설정→네트워크 관리→LAN 연결 설정 에서 확인하실 수 있습니다.) 그리고 현재 사용중인 사설IP 외의 다른 IP를 라즈베리파이의 고정IP로 설정하겠습니다.

혹시 DHCP IP 사용범위 외에 사용할 수 있는 IP가 없다면 DHCP IP 사용범위를 축소시켜서 사용할 수 있는 IP를 남겨 두시기 바랍니다.

 

이제 라즈베리파이에서 고정IP를 설정하겠습니다. 저는 라즈베리파이3 B+를 사용하였습니다.

 

5. 라즈베리파이 OS 작업표시줄에 있는 와이파이/유선랜 아이콘을 오른쪽 클릭합니다.

6. Wireless & Wired Network Settings를 클릭합니다.

 

7. eth0과 wlan0이 있습니다.

eth0: 이더넷(유선랜)

wlan0: 무선랜

원하는 것을 선택하고 설정하시면 됩니다. 저는 둘 다 했습니다.^^

8. Automatically configure empty options에 체크하시면 빈칸을 자동으로 채워주므로 편리합니다.

9. IPv4 Address에 원하는 고정 IP를 입력합니다.

*. Router는 게이트웨이를 적는 칸입니다. 적고 싶으시면 적으세요.^^

10. 적용하고 닫아주세요.

 

11. 좌측 상단의 메뉴 아이콘을 클릭하고, 로그아웃을 클릭한 다음, Shutdown options에서 Reboot하시면 고정IP가 적용된 것을 확인하실 수 있습니다.

 

저의 글을 읽어주셔서 감사합니다. 다음에 만나요!

댓글을 달아 주세요

수성비전자방입니다. 오늘은 라즈베리파이3 B+로 홈페이지 서버를 만들어 보겠습니다.

 

사전 준비

1. 우선 개인적으로 HTML, CSS(그 외에 필요하다면 Javascript까지)를 이용하여 홈페이지를 만들어 주세요. 저는 간단하게 테스트용으로 index.html, stylesheet.css, test.html 파일을 준비했습니다.

2. 라즈베리파이3 B+에 운영체제를 설치해 주세요. 저는 라즈베리파이 OS를 사용했습니다. 라즈베리파이 OS 설치 방법과 한국어 패치 방법이 궁금하시면 아래 링크를 클릭하세요.

라즈베리파이 OS 설치와 한국어 패치(라즈베리파이3 B+)(toopyo.tistory.com/entry/raspberrypi-os-32)

 

Node.js 설치

2021년 2월 5일 기준

1. https://nodejs.org 로 접속하세요. 그러면 두 개의 초록색 버튼이 보일 겁니다. 하나는 LTS이고, 다른 하나는 Current입니다.

*LTS: 많은 사용자에게 권장되는 버전. 즉, 안정적인 버전.

*Current: 최신버전

원하시는 버전을 생각해 보세요. 저는 LTS를 사용하겠습니다.

저 초록색 버튼은 클릭하지 마시고, 버전 번호만 기억해 두세요.

 

2. 터미널을 실행합니다.

3. 아래 명령어를 입력하여 실행합니다.

curl -sL https://deb.nodesource.com/setup_버전앞자리.x | sudo -E bash -

예를 들어 14.15.4 버전을 내려받으시려면,

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

이렇게 입력하시면 됩니다.

 

4. sudo apt-get install -y nodejs 명령을 실행합니다.

5.

sudo apt-get install gcc g++ make

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update && sudo apt-get install yarn

이 명령들은 필수인지는 모르겠는데 저는 했습니다. 모두 터미널 창에 나온 것들입니다. Windows 명령 프롬프트와 달리 라즈베리파이 OS의 터미널 창에서는 복사, 붙여넣기가 안 돼서 불편하군요...

 

6. 다 설치가 되었으면 버전이 맞게 설치되었는지 확인해 봅시다.

node -v

npm -v

이 명령들을 각각 실행해 주시면 됩니다.

 

Node.js로 서버 열기

1. 서버 설정과 관련한 *.js 파일(*은 임의의 파일명)을 만들어야 합니다. www.w3schools.com/nodejs/nodejs_url.asp를 참고했습니다.

제가 작성한 소스코드를 아래에 넣어드리겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var http = require('http');
var url = require('url');
var fs = require('fs');
 
http.createServer(function (req, res) {
  var q = url.parse(req.url, true);
  var filename = "." + q.pathname;
  fs.readFile(filename, function(err, data) {
    if (err) {
      res.writeHead(404, {'Content-Type''text/html'});
      return res.end("404 Not Found.");
    } 
    else{
    res.write(data);
    return res.end();
    }
  });
}).listen(38080);
cs

이제 각 줄이 무엇을 의미하는지 설명해 드리겠습니다.(제 지식의 한계로 모두 설명해 드리기는 어렵고, 일부만...) 색깔은 위와 조금 다른 점 양해 부탁드립니다.

 

[시작하기 전에 - 모듈을 포함시키는 방법]

var 변수이름 = require('모듈명')

이 글에서는 http, url, fs 모듈을 사용하겠습니다.

 

[1행]

var http = require('http');

http라는 변수를 정의하고, 그걸 통해서 http 모듈을 포함시키겠습니다.

 

[2행]

var url = require('url');

이 모듈은 URL을 분석하기 위해 필요합니다. HTML, CSS 등의 파일 수를 합쳐서 총합이 2개 이상인 경우 URL을 분석할 수 있어야 서버가 정상 작동합니다.

URL을 분석한다는 것은 가령, 주소가

http://123.45.6.78:38080/index.html?id=abc&page=1 이면

123.45.6.78은 host로,

38080은 port로,

index.html은 path로,

그 뒤로 있는 index.html?id=abc&page=1은 query string으로 분석하는 것입니다.

오늘 저는 path까지만 사용하겠습니다.

 

[3행]

var fs = require('fs');

File System 모듈입니다.

 

[5행]

http.createServer(function (reqres) {

 

[6행]

var q = url.parse(req.urltrue);

 

[7행]

var filename = "." + q.pathname;

예를 들어, path가 index.html이면, filename은 ./index.html이 됩니다.

 

[8행]

fs.readFile(filenamefunction(errdata) {

 

[9행]

if (err) {

만약 오류가 발생하면 10~11행의 소스코드를 실행합니다.

 

[10행]

res.writeHead(404, {'Content-Type': 'text/html'});

오류코드 404를 내보냅니다. 그리고 콘텐츠 타입을 HTML로 합니다.

 

[11~12행]

return res.end("404 Not Found.");

화면에 404 Not Found를 출력합니다.

 

[13~17행]

    else{

    res.write(data);

    return res.end();

    }

  });

오류가 발생하지 않으면 해당 파일을 실행합니다. 이번에 {'Content-Type': 'text/html'}이 없는 이유는 HTML 외에 다른 파일(ex. CSS)도 읽기 위해서입니다.

 

[18행]

}).listen(38080);

포트 번호를 38080으로 지정합니다. 보통 8080으로 많이 사용하시는데 제가 38080으로 바꾼 이유는 포트 번호 변경이 가능하다는 것을 보여드리기 위해서입니다. 사용하고 싶으신 포트 번호를 괄호 안에 넣어 주시면 됩니다.

 

2. 사전 준비하신 HTML, CSS 등의 파일과 1번 과정에서 준비한 *.js 파일을 라즈베리파이에 넣어 주세요. 저는 pi 폴더 안에 server 폴더를 만들고, 그 안에 파일들을 넣었습니다. 제가 작성한 *.js 소스코드 기준으로 *.js 파일은 다른 HTML, CSS 파일들과 동일한 폴더에 있어야 합니다.

3. 터미널 창에서 cd server를 입력해서 server 폴더로 이동하세요.

4. node *.js 명령을 실행하시면 *.js에 작성한 설정대로 서버가 열립니다.

아까 말씀드린 대로 *은 임의의 파일명입니다. 저 같은 경우에는 homepage.js 파일로 저장했으므로 node hompage.js 명령을 실행했습니다.

 

5. 이제 라즈베리파이의 웹브라우저에서 http://localhost:38080/index.html 로 접속하면 서버의 index.html 파일이 열립니다.

(물론 서버에 index.html 파일이 없으면 안 열립니다.)

CSS도 잘 적용되었습니다. 세부 항목을 눌러 보았습니다.

 

제가 테스트용으로 만든 페이지라서 별 내용 없습니다.^^

 

없는 파일명으로 path를 입력하거나 path를 입력하지 않으면 404 Not Found.가 출력됩니다.

 

서버를 끄시려면 터미널 창에서 Ctrl+C를 누릅니다. 복사 단축키가 아니라 서버 끄는 단축키입니다.

 

포트포워딩

공유기를 사용하는 경우 각 장치에 사설 IP가 부여됩니다. 같은 네트워크 안에서는 사설 IP를 입력하여 서버에 접속할 수 있지만, 외부 네트워크에서 서버에 접속하려면 공인 IP를 입력해야 하므로 공유기에서 포트포워딩을 해 주어야 외부 접속이 가능합니다. 인터넷에 공유기 이름을 검색해 보면 포트포워딩 하는 방법이 나오므로 검색해 보시기 바랍니다.

포트포워딩 하실 때 내부 포트는 *.js 파일 거의 마지막 줄에 작성하신 그 포트 번호를 입력하시면 됩니다.

포트포워딩이 완료되면 외부 네트워크에서는 웹브라우저 주소창에 http://공인IP:외부포트/path를 입력해서 접속하실 수 있습니다.

위의 이미지와 저의 소스코드로 예를 들자면, 포트포워딩을 할 때 내부 포트에는 38080을 입력하고, 만약 제가 외부 포트도 38080으로 설정했다면 http://123.45.67.8:38080/index.html을 입력해서 라즈베리파이 서버에 있는 index.html 파일로 접속할 수 있습니다.

 

저의 글을 읽어 주셔서 감사합니다.

다음에 만나요!

댓글을 달아 주세요

수성비전자방입니다. 제가 쓴 글에 대한 저작권 안내와 구독 방법을 안내해 드리겠습니다.

수성비전자방에서는 CCL보다 자세한 저작권 안내를 위해 CCL을 끄고, 이 글의 방침을 따르도록 안내하고 있는 점 양해 부탁드립니다.

 

캐릭터 소개

현재 사용하는 수봉은 이찬희님이 그려주셨으며, 주성우가 수정하여 사용하고 있습니다.

 

글/사진 저작권 안내

수성비전자방의 글/사진을 인용하실 목적으로 일부 복사하시는 것은 허용됩니다. 이 경우 출처(해당 글 주소)를 남겨 주시기 바랍니다. 다만, 본문 전체 복사는 하지 말아주시기 바랍니다.

 

동영상 저작권 안내

수성비전자방의 동영상을 공유하실 때에는 해당 글의 주소를 복사해 주시기 바랍니다. 다만, 유튜브 영상으로 등록된 경우 유튜브 자체 공유 기능을 사용하셔도 됩니다.

 

첨부파일 저작권 안내

수성비전자방에 게시된 첨부파일을 공유하실 경우 해당 글 주소를 복사하여 주시기 바랍니다.(다운로드 후 재업로드 금지)

 

프로그래밍 강좌 소스코드 복사 안내

수성비전자방의 강좌 중에는 소스코드가 있는 강좌가 있습니다. 그 소스코드는 저의 것이 아닌 우리 모두의 것입니다. 마음껏 복사하여 사용하시기 바랍니다.

 

그 외 저작권 안내

글 본문에 저작권 안내가 별도로 있는 글은 해당 저작권 안내를 따릅니다. 또한 첨부파일의 경우 제가 오픈소스 라이선스를 명시한 경우 해당 오픈소스 라이선스를 따릅니다.

위에서 허용한 부분 외에 수성비전자방의 자료를 이용하고 싶으신 분들께서는 해당 글의 댓글 또는 cuteboysw@kakao.com으로 문의 바랍니다.

 

저작권 침해 신고

수성비전자방의 글로 인해 저작권 침해를 받으신 분은 해당 글의 댓글 또는 cuteboysw@kakao.com으로 문의 바랍니다.

 

이웃 및 구독 안내

글 하단을 보시면 네이버 이웃 추가와 구독하기 단추가 있습니다.

네이버 이웃 추가를 하시면 수성비전자방에 새 글이 올라왔을 때 네이버 블로그 이웃새글 목록에서 확인하실 수 있습니다.

구독하기 단추는 티스토리 구독이며, 구독하시면 수성비전자방에 새 글이 올라왔을 때 티스토리 피드에서 확인하실 수 있습니다.

많은 이용 부탁드립니다. 다음에 만나요!

댓글을 달아 주세요