【Windows使用】之–Hyper-V实现NAT模式下端口映射
#虚拟机 #代理 #教程 #Hyper-V #Windows
虽然NAT模式保证内部虚拟机的网络安全,但内部虚拟机的提供的一些服务还是需要被外部访问。本篇通过将内部虚拟机服务端口映射到宿主机端口方法,实现NAT模式下访问内部资源。
# 查询端口映射情况
netsh interface portproxy show all
# 查看IPv4toIPv4映射
netsh interface portproxy show v4tov4
# 增加一个端口映射  
netsh interface portproxy add v4tov4 listenport=宿主机端口 listenaddress=宿主机IP connectaddress=虚拟机IP connectport=虚拟机端口
# 删除一个端口映射  
netsh interface portproxy delete v4tov4 listenaddress=宿主机端口 listenport=宿主机IP
# 查看映射支持的列表
PS C:\Users\Administrator> netsh interface portproxy show
下列指令有效:
此上下文中的命令:
show all       - 显示所有端口代理参数。
show v4tov4    - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
show v4tov6    - 显示 IPv4 代理连接到 IPv6 的参数。
show v6tov4    - 显示 IPv6 代理连接到 IPv4 的参数。
show v6tov6    - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。
1. 查看映射列表
PS C:\Users\Administrator> netsh interface portproxy show all
侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
10.10.89.59     80          192.168.137.171 80
10.10.89.59     443         192.168.137.171 443
10.10.89.59     7002        192.168.137.171 27002
10.10.89.59     7001        192.168.137.171 27001
2. 增加端口映射
新增虚拟机192.168.137.28,80端口的web访问
PS C:\Users\Administrator> netsh interface portproxy add v4tov4 listenport=81 listenaddress=10.10.89.59 connectaddress=192.168.137.28 connectport=80
PS C:\Users\Administrator> netsh interface portproxy show all
侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
10.10.89.59     80          192.168.137.171 80
10.10.89.59     443         192.168.137.171 443
10.10.89.59     7002        192.168.137.171 27002
10.10.89.59     7001        192.168.137.171 27001
10.10.89.59     81          192.168.137.28  80
新增虚拟机192.168.137.28,5200端口的NAS访问
PS C:\Users\Administrator> netsh interface portproxy add v4tov4 listenport=5200 listenaddress=10.10.89.59 connectaddress=192.168.137.28 connectport=5200
PS C:\Users\Administrator> netsh interface portproxy show all
侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
10.10.89.59     80          192.168.137.171 80
10.10.89.59     443         192.168.137.171 443
10.10.89.59     7002        192.168.137.171 27002
10.10.89.59     7001        192.168.137.171 27001
10.10.89.59     81          192.168.137.28  80
10.10.89.59     5200        192.168.137.28  5200
3. 删除端口映射
删除宿主机10.10.89.59,5200端口的NAS访问
PS C:\Users\Administrator> netsh interface portproxy delete v4tov4 listenaddress=10.10.89.59 listenport=5200
PS C:\Users\Administrator> netsh interface portproxy show all
侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
10.10.89.59     80          192.168.137.171 80
10.10.89.59     443         192.168.137.171 443
10.10.89.59     7002        192.168.137.171 27002
10.10.89.59     7001        192.168.137.171 27001
10.10.89.59     81          192.168.137.28  80
4. 其他
重启后会出现端口映射失效的问题,可以新建一个脚本在每次启动时重新映射。
 
             
           
             
                        
评论区