前言
最近项目使用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,该条语可以不需要