WSL2에서 외부네트웍에 브릿지하여 사용하기
출처: WSL2에서 외부네트웍에 브릿지하여 사용하기 – ahnbk.com
WSL2에서 Ubuntu 등을 설치하면 기본적으로는 내부 프라이빗 네트워크망을 사용한다. 즉, 아이피 대역이 아예 다른 서브네트웍 망을 생성하여 사용한다는 얘기.
따라서 ipconfig를 이용하여 할당된 IP를 확인해보면,
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.24.175.35 netmask 255.255.240.0 broadcast 172.24.175.255
inet6 fe80::215:5dff:fea8:1061 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:a8:10:61 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7 bytes 586 (586.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
와 같이 172.24.175.35 등으로 할당된다.
여러가지 이유로 윈도우에서 접속되어 있는 외부네트웍을 접속하고, 또 외부에서 WSL2 안의 시스템에 접속하고 싶을 때가 있는데, 이때는 WSL2의 Bridge 기능을 사용하면 된다.
먼저 Hyper-V 매니저를 설치하고, 실행한다. Windows 추가 기능 관리자를 사용하여 설치할 수 있다.
![](https://blog.kakaocdn.net/dn/bZKAJC/btsogdBs0t3/OApxaDTgAKAB9Vvyd1Seyk/img.png)
설치하고, 재부팅을 완료한 이후에, Hyper-V 매니저를 실행하면, 다음과 같이 보일텐데…
![](https://blog.kakaocdn.net/dn/ccZ5DT/btsogcigOgF/xQInlzoYhYOTQUTYzXAnO0/img.png)
메뉴의 Action > Virtual Switch Manager를 실행한다.
![](https://blog.kakaocdn.net/dn/EgF48/btsogflN19l/rZWKdbwX94cK16S5YriKc0/img.png)
이제 New virtual network switch를 클릭고, 외부 네트웍에 브릿지 해야 하므로 External를 선택한 후, Create Virtual Switch를 클릭한다.
![](https://blog.kakaocdn.net/dn/4nWNk/btsn9TxQQbg/vg9jhpEBrE7SjrJLCTK9ok/img.png)
이름은 적당히 입력하고 (나중에 사용해야 하므로 적당히…), Connection Type에서 External Network를 선택하고, 현재 외부망에 연결되어 있는 네트웍카드를 선택한다. (예시의 경우엔, 현재 노트북을 이용하여 무선랜으로 외부망에 접속중이므로, 무선랜카드를 선택하였음.)
![](https://blog.kakaocdn.net/dn/4fBLy/btsofnLnWfC/HKfd1KrfCmxlOKUTFqBj7k/img.png)
Apply를 눌러 적용한다.
자, 이제 현재 사용자의 홈디렉토리에 .wslconfig 파일을 생성하고, 다음과 같이 입력한 후, 저장한다.
[WSL2]
networkingMode = bridged
vmSwitch = New Virtual Switch
vmSwitch의 이름은 아까 전 단계에서 생성했던 Virtual Network Switch 이름을 입력하면 된다.
PowerShell를 관리자 권한으로 실행하여 다음과 같이 WSL2를 아예 종료한다.
PS C:\WINDOWS\system32> .\wsl.exe --shutdown
이제 WSL2를 다시 실행한 다음, ifconfig를 실행해 보면,
~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.193 netmask 255.255.255.0 broadcast 192.168.100.255
ether 5c:bb:f6:9e:ee:fa txqueuelen 1000 (Ethernet)
RX packets 2 bytes 684 (684.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2 bytes 684 (684.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
정상적으로 외부 네트웍망의 아이피를 할당받았음을 알 수 있다.
끝!
'컴퓨터 활용(한글, 오피스 등) > 50_1. 운영체제_윈도우' 카테고리의 다른 글
원격서버 vscode로 연결해서 작업하기 (0) | 2023.07.20 |
---|---|
[virtualbox] NAT 호스트와 가상머신간의 scp 파일 복사하기 (0) | 2023.07.20 |
WSL2의 우분투에서 SSH를 사용 (0) | 2023.07.19 |
WSL2에 ssh 서버와 외부연결 환경 구축 (0) | 2023.07.19 |
WSL2 프로세스 외부 접속을 위한 포트포워딩 (0) | 2023.07.19 |