我的计划是建立一个有多个 jail 的服务器。目前,我计划运行其中三个:一个 Web 服务器、一个 owncloud 服务器和一个 Teamspeak 3 服务器。
到目前为止,我已经运行了它,目前我有一个 jail,里面有一个 NGINX 服务器,可以通过我的主 IP 46.165.XXX.XXX 通过互联网访问。这是我的 pf.conf:
# INTERFACES
ext_if="bge0"
int_if="lo1"
jailnet=$int_if:network
# Name and IP of jails
WEBSERVER="10.1.1.1"
# NAT
nat on $ext_if from $jailnet to any -> ($ext_if)
# Redirect any packets requesting port 80 or 443 to jail "WEBSERVER"
rdr pass on $ext_if inet proto tcp to port http -> $WEBSERVER port http
rdr pass on $ext_if inet proto tcp to port https -> $WEBSERVER port https
这完美运行,我可以通过 IP 访问它,HTTP 和 HTTPS 都可以运行。
现在我的下一步是创建另一个监狱(那里没有问题)但它必须可以通过另一个 IP 37.58.XXX.XXX 访问。
我必须对我的 pf.conf 进行哪些更改?
答案1
假设bge0
拥有所有 IP,您可以选择要使用以下规则重定向哪些 IP:
rdr pass on $ext_if inet proto tcp to $PUB_IP port http -> $WEBSERVER port http