我如何configuration对Xen上的pfSense的访问

我有一个新的Xen安装,我想运行虚拟机。 我的主机提供给我两个不同子网的IP地址,如xxxx和yyyy

我想在Xen上设置pfSense,并为其分配yyyy,以便它可以作为其他虚拟机的路由器和DHCP,给他们在192.168.0.0/16子网中的地址。 有可能吗? 我应该如何在Xen上configurationnetworking来做到这一点?

我已经在sysctl中设置了数据包转发

net.ipv4.ip_forward = 1

现在pfsense可以在互联网上ping和traceroute资源。 但显然是由它的IP yyyy从互联网无法访问

为了澄清,xxxx和yyyy都是公有IP? 所以你会使用xxxx作为你公开的IP,你可以访问外部,但是你想阻止互联网达到yyyy?

虽然这在这里稍微偏离主题,但我build议(如果你有2个nics)创build了一个保税渠道,所以你有两个公有IP的冗余。

对于你想要提供“路由”(这是NAT网关?)和dhcp的内部方面,你应该使用私有IP。 你将需要他们在同一个networking,只有2个IP,你不会有任何其他的虚拟机。

对你的具体问题,答案是肯定的,你可以这样做。 当你设置pfsense时,会有一个configuration工具,它会问你一些关于你的networking的问题。 如果您使用的是vm ovf,那么在vm的“注释”中会告诉您如何设置它。 无论是通过web gui还是命令行问题。 告诉它你的外部IP,你的内部子网(192.168.0.0/16)

所有人都说,默认情况下,pfsense允许您的局域网和广域网之间的出站nat。

下面将显示所有自动创build的规则,如果您需要自定义规则,则可以删除它们。

go to Firewall -> NAT -> Outbound, and enable AON / Manual Outbound NAT. 

注意:请注意,在xen环境中,除非这个改变,否则你在vnics上的速率限制在100Mbps。 我不确定这是否因为这个原因我换成了esxi。


我想澄清一下。 您的xxxx是否可以通过互联网访问? 我看到你提到你可以出去。 如果你不能回来,这可能是一个防火墙的问题。

你能够从任何地方访问内部(或外部)接口吗? 通过这个我的意思是,你可以提出的GUI? 假设您的内部networking位于RFC1918空间中,请确保您的pfSense的内部接口也位于同一networking上。 通过pingvalidation,确保你让pfSense知道这是你的内部接口。 您应该能够浏览到您select的浏览器。

一旦你在gui,你会看到类似家庭路由器的东西。 您可以设置端口转发并调整NAT设置。 默认情况下,pfSense会将您的内部networkingNAT掉,但是没有任何端口转发。

我想我仍然困惑你是否有外部访问? 如果你能够从你的pfSense盒子里走出来,你可以ping你的内部networking,假设你没有接触到NAT,它应该可以工作。 你能详细解释一下你当前的configuration吗? 你不能使用yyyy作为你的内部接口(除非你可能使用了一个子接口,你的局域网可以对这个接口进行操作,但是对于yyyy来说,这有点荒谬)

LAN(192.168.1.0/24) – > pfSense Internal(192.168.1.254) – > NAT – > pfSense External(xxxx) – > Internet。

返回stream量只能根据您的入站防火墙规则和端口转发而被允许。

协助更多,你能做到以下几点:

从您的pfSense中,将您的ping从您的pfSense粘贴到google.com,将ping粘贴到您的一台内部LAN机器上

一定要编辑你的公共IP 🙂

假设你在那个物理机器上只有一个networking接口,你将不得不做一些与路由和防火墙的杂耍。 这是因为一个网卡实际上必须与三个不同的networking进行通信:1.您的ISP; 2.您的yyyy是LAN的pfSense路由器/ gw; 3.内部面向LAN的192.168.0.0/16子网。 你可以看看vtun(Debian / Ubuntu)来创build虚拟networking。

你已经说过:“pfsense可以在互联网上ping和traceroute资源,但显然是通过ip yyyy从互联网上无法访问的”。 这表明xxxx服务器上的路由问题,我认为这是使用Xen(和pfSense)虚拟机的物理机器。 请检查是否可以从xxxx到达yyyy检查主机和虚拟机上是否有适当的路由(如果它们可以到达其他地方)通过tcp / udp(如果需要查看内容,可以使用netcat和tcpdump)发生在那里)。 Netstat -rn给你的路由。 如果路由丢失,你可以这样做: ip add route add yyyy dev ethX另一件要检查的是你的xxxx机器上的防火墙。 检查是否让交通通过。 “net.ipv4.ip_forward = 1”是一回事,但另一个是iptables过滤或DENY策略。

为了使整个通信正常工作,每台机器都需要知道如何到达另一台机器。 因此,testing各种组合,如果你遇到困难的地方,检查下一跳,即如果pfSense虚拟机不能到达互联网,检查是否有默认路由条目(最有可能通过xxxx),并知道如何达到xxxx。

这些有关路由的链接可能会派上用场: http : //www.lartc.org/lartc.html以及http://www.policyrouting.org/iproute2.doc.html