강좌/팁

(탄핵 재표결 오늘)   🔥 제목 시위는 [말머리] 또는 임시게시판(불타는앙)을 이용바랍니다.
오후 4시 탄핵 표결 | 가입후 5일 눈팅기간 | 경어체 필수 | 욕설(초성) 금지

WSL 사용시 네트워크 관련 팁 - 1

알림
|
X

페이지 정보

작성자 no_profile platypus 202.♡.70.165
작성일 2024.08.13 16:38
분류 컴퓨터
1,789 조회
15 추천
쓰기

본문

해외 인증 절차를 마친지 좀 되었지만, 인증 완료로 글 쓸 수 있게 되면서 기념삼아 팁게에 글을 써 보려 합니다.

WSL을 사용하면서 정리해두었던 팁들을 하나씩 올릴까 합니다. 사실 구글링하면 다 나오는 것들이긴 합니다. :)


Windows 10에 WSL(Windows Subsystem for Linux)이 도입된 이후로 많은 분들이 이를 사용하고 계신 것으로 알고 있습니다.

WSL2부터는 더욱 편리해진 기능(개인적으로는 마운트 기능)들로 사용자가 늘어난 것 같아요. 물론 성능상 이유로 안 쓰시는 분들도 있습니다만…


각종 서버를 Docker 등을 이용해 WSL2 내에서 쓰시거나, OpenSSH 서버를 WSL 외부 접속을 위해 사용하시는 경우,

Windows에서는 netsh를 통해서 portproxy 기능을 지원하고 있습니다.

(Windows의 관리자 권한이 필요합니다.)


netsh interface portproxy set v4tov4 listenport=30022 connectport=22 connectaddress=172.20.219.198

위의 예제는 Windows의 IP로 TCP Port 30022 요청이 들어오면 이를 WSL의 IP인 172.20.219.198 (일정하지 않음)의 TCP Port 22로 넘겨주는 기능입니다.

이를 통해 WSL로 SSH 접속을 할 수 있습니다.


다만, 다음과 같은 단점이 존재합니다.

  • TCP 포트만 가능, UDP 불가능
    • 특히 테스트 등을 위해 개인용 DNS서버를 돌릴 때 UDP Port 53번… 난감합니다. 다음번 글에서 다루겠습니다.
  • 재부팅시 해당 portproxy가 동작안함
    • 따라서, 부팅시 Startup에 배치파일을 등록하여 자동으로 설정되도록 하면 되긴 합니다. (관리자 권한으로)
  • WSL 사용시 IP가 항상 일정하지 않음
    • 위의 배치파일에서 WSL의 IP를 찾아서 등록해주는 내용이 필요합니다. 예를 들면 아래와 같이 사용할 수 있습니다.
  C:\>wsl bash -c "ip addr show dev eth0 | grep -oP 'inet \K(\d{1,3}\.){3}\d{1,3}'"
172.20.219.198
C:\>


원래는 한 개의 글로 쓰려고 했는데 월급루팡 시간이 여의치 않아 끊어가도록 하겠습니다.

댓글 10 / 1 페이지

humanitas님의 댓글

작성자 humanitas (78.♡.45.236)
작성일 08.13 18:01
합니다.

랔숔님의 댓글

작성자 랔숔 (223.♡.36.226)
작성일 08.13 18:52
미러링 모드를 사용하시면 좀 더 편하게 사용가능합니다.
https://velog.io/@bluejoyq/wsl-서버-외부-접속하기

잼니크님의 댓글

작성자 잼니크 (39.♡.46.88)
작성일 08.14 07:47
WSL 1로 넘어오시면 해결 될지두요!?

platypus님의 댓글의 댓글

대댓글 작성자 no_profile platypus (1.♡.31.250)
작성일 08.16 09:23
@잼니크님에게 답글 제가 첨에 UDP 서버를 만들 때 이미 WSL2로 넘어온 다음이라... 혹시 아직 WSL1을 사용하시면 UDP가 잘 동작하는지 공유 부탁드립니다. :)

잼니크님의 댓글의 댓글

대댓글 작성자 잼니크 (110.♡.31.98)
작성일 08.16 12:23
@platypus님에게 답글 전 이미 잘 쓰고 있어요 ㅋㅋ
혹시 테스트 할 수 있는거 아무거나 부탁드려도 될까요?
시나리오 정도 알려주셔도 좋습니다

platypus님의 댓글의 댓글

대댓글 작성자 no_profile platypus (202.♡.70.165)
작성일 08.23 19:38
@잼니크님에게 답글 WSL안에서 netcat써서 서버 열고 (ex: nc -l -u -p 55555),
Windows에서 netcat으로 데이터 보내면 간단히 테스트 가능합니다. (ex: echo Test | ncat -u 1.2.3.4 55555)
Windows용 netcat은 https://nmap.org/download 에서 받을 수 있습니다.

개내대래매배새님의 댓글

작성자 no_profile 개내대래매배새 (147.♡.97.83)
작성일 08.14 15:07
정보 글 감사합니다.

WSL2 사용하려고 하는데

리눅스 GUI 모드가 잘 안되더라고요

python 사용하기 위함이라 jupyter notebook 사용할 수 있어야 되는데 CLI 로만 작동하는데 참고할 만한 사이트 같은 것이 있을까요

platypus님의 댓글의 댓글

대댓글 작성자 no_profile platypus (1.♡.31.250)
작성일 08.16 09:26
@개내대래매배새님에게 답글 Windows 11 사용하시면 WSLg로 구글링 해 보시고, Windows 10 사용시에는 저는 VcXsrv를 사용했었습니다. VcXsrv 사용시에 export DISPLAY=1.2.3.4:0 과 같이 윈도쪽 IP설정해 주는 걸 까먹어서 한참 고생했었어요.

ifree82님의 댓글

작성자 ifree82 (104.♡.71.29)
작성일 08.15 17:53
감사합니다.

말뫼고슴도치님의 댓글

작성자 no_profile 말뫼고슴도치 (94.♡.113.127)
작성일 09.10 16:50
정보글 감사합니다!!
쓰기
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색