# ESXI + pfsense + 公网ip ,实现内网服务器端口映射

暴露内网服务器端口的方法有很多,之前介绍过ngrokfrp,今天我们用 ESXI +pfsense 来做下。

# 0. 准备材料

ESXI服务器一台,双网卡,版本5.5以上

公网ip一个(有固定IP是最好的)

fpsense镜像

# 1. 拓扑&规划

ep1.png

1.内网网段 192.168.0.0/24 , 公司路由器网关192.168.0.1

2.ESXI服务器的两张网卡: 一张接内网交换机,一张接外网(比如光猫),内网管理地址192.168.0.151

3.pfsense安装在EXSI上,使用ESXI的两张网卡,内网网段和现有的内网一致,即192.168.0.0/24,内网网关地址192.168.0.234

4.ESXI上有一台虚拟机,IP:192.168.0.219,运行了一个web服务(nginx)

# 2. ESX网络配置

配置两个vSwitch,分别对应两张网卡,需注意的是接外网的网卡配置时,IP设置要结合实际网络来配置,本次的环境是外接电信光猫,选择自动获取。 ep3.png

而对内的vSwitch则可以配置下ip范围,比如 192.168.0.1-192.168.0.127。如果之前已配置了内网网卡,则用现有的即可,不需要另外配置。

配置完成后的拓扑如下

ep4.png

vSwitch0用作内网,连接的是内网交换机,虚拟机网络是VM Network

vSwitch1用作外网,连接电信光猫,虚拟机网络是VM_DX

# 3. 安装pfsense

在ESXI上新建虚拟机,配置2CPU,2G内存,8G硬盘就够了,配置两个网卡,一个连VM Network,另一个连VM_DX

ep5.png

将pfsense的镜像放入CD/DVD中,开机安装。一路默认即可,最后看下网卡和ip是否对应,并手动配置下内网ip,设置为192.168.0.234,最终界面如下:

ep6.png

如果网卡对应正确,配置正确的话,在内网PC上就能通过192.168.0.234管理pfsense了

ep7.png

用户名admin 密码pfsense

# 4. 在pfsense上配置内网服务器的端口映射

点击Firewall -> NAT , 点击ADD按钮,添加一条映射规则

ep8.png

这里将192.168.0.219的80端口映射到公网的9090端口,如果要内网也能通过公网ip直接访问的话,要开下回流,即NAT reflection要选择NAT+Proxy。

有个地方需注意下,内网服务器192.168.0.219的网关需使用pfsense的,即192.168.0.234,不能用内网路由器192.168.0.1的。

配置完成后,访问公网ip:9090 即可访问到192.168.0.219:80了。

# 5. 后续使用

pfsense是一款很出色的开源路由,功能很强大。在当前的网络拓扑中,可以将ESXI上的虚拟机的网关都指向pfsense,通过pfsense来管理出入口的流量,端口映射,VPN等。而员工上网流量还是走公司的原路由器,两者之间互不影响。