如何将IP白名单路由到一个虚拟机,并将所有其他虚拟机路由到proxmox上的另一个虚拟机?

是否有可能在Linux上有一个允许到达内部NAT上的特定虚拟机的IP的白名单? 例如(公共IP(proxmox) – >我的虚拟机的白名单IP(192.168.0.1)),如果stream量不在白名单只是路由到192.168.0.2?

问题是某个服务遭受攻击,所以我希望用户在网站上注册才能连接到真正的交易。 (如果有人尝试,他们将连接到192.168.0.2上的虚拟服务器,它将捕获所有的攻击,并在连接之前向需要注册的用户显示消息)

(如果有人需要可视化,使其更容易,因为也许我的故事写作技能不是很好,这是一个链接: http : //i.imgur.com/BCCkhmm.png )

在这里输入图像说明

另外的问题:对于任何IP,总是允许具有特定签名的数据包(例如QUERY数据包)在某种程度上是可能的,甚至是没有列入白名单的(redirectstream量列入白名单的数据stream)?

您可以select基于源IP地址的DNAT。

例如:

ipset destroy whitelist # this may error the first time ipset create whitelist hash:ip hashsize 32768 ipset -A whitelist <ip_address1> ipset -A whitelist <ip_address2> iptables -t nat -A PREROUTING -p tcp --dport 80 -m set --match-set whitelist -j DNAT --to 192.168.0.1 iptables -t nat -A PREROUTING -p tcp --dport 80 -m set ! --match-set whitelist -j DNAT --to 192.168.0.2 

您可能仍然需要其他规则来使用-t filter -A FORWARD来允许连接,而ip_forward需要被启用,它应该已经在proxmox上了。