반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 동적 프로그래밍
- 애플리케이션 계층
- 서울청년문화패스
- 우아한테크코스
- 알고리즘
- 위상 정렬
- 선우예권
- jsx
- 프랑스어 #프랑스어배우기 #프랑스어독학 #델프인강 #시원스쿨프랑스어 #delf독학 #델프 #프랑스어기초 #프랑스어공부
- 예술의 전당
- 비동기 처리
- 트랜스포트 계층
- 코리안챔버오케스트라
- webhacking
- Dreamhack
- 진입차수
- linux
- 프리코스
- 깃
- c
- 네트워크 계층
- 다이나믹 프로그래밍
- 깃헙
- 백엔드
- 우테코
- 커밋메시지
- Upstream
- 자바
- 웹개발
- React
Archives
- Today
- Total
yon11b
wsl와 연결한 포트포워딩 본문
반응형
wsl에서 돌아가는 서버를 외부에서 접속하게 하고 싶다면 기본 포트포워딩 과정+추가적인 작업이 필요하다.
외부>공유기1>공유기2>wsl>웹 서버
이런 구조일 것이다.
메모장을 켜고 다음 코드를 복붙하자.
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"
$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
if ( $found ) {
$remoteport = $matches[0];
}
else {
Write-Output "The Script Exited, the ip address of WSL 2 cannot be found";
exit;
}
$ports = @(열고싶은포트);
Invoke-Expression "netsh interface portproxy reset";
for ( $i = 0; $i -lt $ports.length; $i++ ) {
$port = $ports[$i];
Invoke-Expression "netsh interface portproxy add v4tov4 listenport=$port connectport=$port connectaddress=$remoteport";
}
Invoke-Expression "netsh interface portproxy show v4tov4";
열고싶은포트에는 22,80 을 입력하자.
(22번: wsl포트)
여기에는 22,80번 포트 두 개 다 써야 하지만, 방화벽 설정할 때는 22번은 안 해주고 80번만 해주어도 된다.
왜냐하면 방화벽은 외부<->공유기1 사이를 가로 막는 벽이기 때문이다. (외부<->공유기1은 80번 포트로 통신한다!)
메모장에 입력된 내용을 저장한다. 이때 이름은 wsl.ps1로 한다. 저장경로를 잘 기억해두자.
window powershell을 오른쪽 버튼을 눌러서 관리자 권한으로 실행시킨 다음 wsl.ps1이 저장된 경로로 가서 실행시켜주자.
경로 이동은 cd 명령어를, 실행은 .\wsl.ps1 하고 엔터치면 된다.

그럼 이렇게 뜰 것이다.
이제 외부에서 공인ip주소로 접속해보자!!
+참고로 포트가 잘 열려있는지 확인하고 싶다면
여기서 할 수 있다.
++포트를 닫고 싶다면?
- 방화벽 새규칙 추가한 거 삭제
- wsl.ps1에서 port에 80,22 적었던 거=> 빈칸으로 두기
- 공유기 설정에서 포트 80번으로 열어둔 거 삭제
728x90
'개발 > 웹개발' 카테고리의 다른 글
| Nginx, Uwsgi, Django 연결하기 (0) | 2021.12.24 |
|---|---|
| Django 프로젝트 생성 및 애플리케이션 생성 (1) | 2021.12.23 |
| 공유기 2대일때 포트포워딩하기 (0) | 2021.12.23 |
| 포트포워딩하기 (0) | 2021.12.23 |
| 포트포워딩이란? (0) | 2021.12.23 |