Linux 虚拟机 反向代理 - 到宿主机 -

## powershell .psl
$listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Parse('192.168.165.1'), 9001) $listener.Start() Write-Host 'Relay listening on 192.168.165.1:9001 -> 127.0.0.1:9000' while ($true) { $client = $listener.AcceptTcpClient() try { $upstream = [System.Net.Sockets.TcpClient]::new('127.0.0.1', 9000) $clientStream = $client.GetStream() $upstreamStream = $upstream.GetStream() $task1 = $clientStream.CopyToAsync($upstreamStream) $task2 = $upstreamStream.CopyToAsync($clientStream) [System.Threading.Tasks.Task]::WaitAny(@($task1, $task2)) | Out-Null } catch { Write-Host $_.Exception.Message } finally { try { $client.Close() } catch {} try { $upstream.Close() } catch {} } }

 

 

公司代理

 ↑

127.0.0.1:9000

 ↑

Windows宿主机

192.168.165.1:9001

 ↑

VMware NAT网络

 ↑

Linux虚拟机

 

 

 

Linux ↔ 9001 ↔ 9000 ↔ Internet

 

 

 

PS C:\****> .\proxy.ps1
Relay listening on 192.168.165.1:9001 -> 127.0.0.1:9000

 

****@****-VMware-Virtual-Platform:~$ ip route
default via 192.168.165.2 dev ens33 proto dhcp src 192.168.165.128 metric 20100

****@****-VMware-Virtual-Platform:~$ hostname -I
192.168.165.128 172.20.0.1 172.17.0.1 172.19.0.1 172.18.0.1 172.21.0.1 fd00::1

PS C:\Users\****> ssh -N -R 9001:127.0.0.1:9000 [username]@192.168.165.128

 

****@****-VMware-Virtual-Platform:~$ sudo apt  -o Acquire::http::Proxy="http://127.0.0.1:9001"  -o Acquire::https::Proxy="http://127.0.0.1:9001"  install traceroute

Installing:

  traceroute

 

Summary:

  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 138

  Download size: 54.4 kB

  Space needed: 167 kB / 61.4 GB available

 

Get:1 http://archive.ubuntu.com/ubuntu resolute/universe amd64 traceroute amd64 1:2.1.6-1build1 [54.4 kB]

Fetched 54.4 kB in 2s (31.8 kB/s)

Selecting previously unselected package traceroute.

(Reading database… 200630 files and directories currently installed.)

Preparing to unpack …/traceroute_1%3a2.1.6-1build1_amd64.deb…

Unpacking traceroute (1:2.1.6-1build1)…

Setting up traceroute (1:2.1.6-1build1)…

update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode

update-alternatives: using /usr/bin/traceroute6.db to provide /usr/bin/traceroute6 (traceroute6) in auto mode

update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode

update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode

update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode

Processing triggers for man-db (2.13.1-1build1)…

 

 

image

 

 

 

 

posted @ 2026-07-24 14:59  PanPan003  阅读(10)  评论(0)    收藏  举报