转载:https://blog.csdn.net/vr7jj/article/details/80531353
windows netsh设置代理服务器/端口转发
前言
最近项目使用git做版本控制,但公司内部网络不能上外网。想想现在git版本也是很火热的版本管理,所以就自己在虚拟机中搭建了gitlab。由于IP资源限制,虚拟机和物理主机是NAT网络关系。那么问题来了其它IP如何访问NAT下的虚拟机呢?
正文
其实就是把虚拟机的端口映射到物理主机的端口上,关系如下图。
linux/unix中使用ssh命令,而windows中也有类似的命令netsh。客户端链接物理主机的“服务端口a”和“服务端口b”从而访问虚拟机中的服务。
命令如下
可以查看存在的转发
netsh interface portproxy show all
添加一个IPV4到IPV4的端口映射
netsh interface portproxy add v4tov4 listenport=22 connectaddress=ip connectport=port
删除指定转发端口
netsh interface portproxy delete v4tov4 listenport=port
例子
- 假定需要通过192.168.1.8的14941端口连接192.168.1.118的22端口,则需要在192.168.1.8主机的命令行输入如下语句
- 如果已经安装IPV6,该条语可以不需要
netsh interface ipv6 install
- 操作系统开启了主机防火墙,需要放行TCP 14941的入站连接
netsh interface portproxy add v4tov4 listenport=14941 connectaddress=192.168.1.118 connectport=22
- 取消上面配置的端口转发,可以用如下语句:
netsh interface portproxy delete v4tov4 listenport=14941
- 如果想查看已经配置了哪些端口转发,可以用如下语句:
netsh interface portproxy show v4tov4
参考
实战VMware的三种网络模式
————————————————
版权声明:本文为CSDN博主「vr7jj」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vr7jj/article/details/80531353
例1:服务器A内网IP是192.168.1.4,需要将8080端口转发到国外服务器C 10.10.10.10的9999端口,:
C----------Internet----------A----------LAN----------B(无法访问Internet)
10.10.10.10 192.186.1.4 192.168.12.200
那么命令如下:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.4 listenport=8080 connectaddress=10.10.10.10 connectport=9999
注意:连接时请确保A服务器防火墙(Windows防火墙或者其他的第三方防护软件)允许外部连接到一个全新的端口(8080),如果不允许,那么只能自行添加一个新的Windows防火墙规则。