代理记录

0-前言

​ 今天琢磨端口映射的时候懒得输入内网地址,想直接用回显地址找到端口服务的时候硬是找不到

1>回显地址默认不经代理的解决办法

stackoverflow网址中的解决办法

简单来说就是进入浏览器的高级配置的首选项进行更改,主要原因在于浏览器的配置默认回显地址不经过代理,如下以火狐浏览器为例:

1-局域网映射端口

1>内网穿透->局域网端口映射

假设我连接了内网的wifi,然后访问它的web服务192.168.123.1:8080,现在我电脑开热点给其他人,让其他人访问内网的web服务,我怎么将192.168.123.1映射到我的热点(热点为nat模式)

#解决方案

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
##windows
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.123.1 connectport=8080
---
#如果更多的端口映射
rem 映射Web服务 (HTTP)
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.123.1 connectport=80

rem 映射HTTPS服务
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=443 connectaddress=192.168.123.1 connectport=443

rem 映射远程桌面 (RDP)
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=3389 connectaddress=192.168.123.1 connectport=3389

rem 映射SSH服务
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=192.168.123.1 connectport=22

rem 映射你之前设置的8080端口
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.123.1 connectport=8080

rem 映射SMB文件共享
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=445 connectaddress=192.168.123.1 connectport=445

##linux
#启用IP转发(临时)
sudo sysctl -w net.ipv4.ip_forward=1
#永久
sudo nano /etc/sysctl.conf
#更新
sudo sysctl -p
# 将目标为热点IP:8080的包,转发到内网服务器
sudo iptables -t nat -A PREROUTING -p tcp -i wlan1 --dport 8080 -j DNAT --to-destination 192.168.123.1:8080
1
2
3
4
5
6
7
8
#查看转发的表-windows
netsh interface portproxy show all
#删除对应的表
netsh interface portproxy delete v4tov4 listenaddress=192.168.1.123 listenport=8080
#清除转发表
netsh interface portproxy reset
#增加对应的转发
netsh interface portproxy add v4tov4 listenaddress=192.168.1.123 listenport=8080 connectaddress=172.16.5.2 connectport=8080

当然直接用Ngrok / FRP (Fast Reverse Proxy) / ew等穿透工具都可以

无互联网开热点的解决方案如下:

1
2
3
4
5
6
7
8
9
10
11
12
##windows
netsh wlan set hostednetwork mode=allow ssid=MyHotspot key=MyPassword123
#开启
netsh wlan start hostednetwork
#关闭
netsh wlan stop hostednetwork
#查看
netsh wlan show hostednetwork
#删除
netsh wlan set hostednetwork mode=disallow
#检查是否可以
netsh wlan show drivers