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)…


浙公网安备 33010602011771号