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 --- #如果更多的端口映射
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.123.1 connectport=80
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=443 connectaddress=192.168.123.1 connectport=443
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=3389 connectaddress=192.168.123.1 connectport=3389
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=192.168.123.1 connectport=22
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.123.1 connectport=8080
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
|