如何将 IP 白名单路由到 proxmox 上的一个 VM 并将所有其他 VM 路由到第二个 VM?

如何将 IP 白名单路由到 proxmox 上的一个 VM 并将所有其他 VM 路由到第二个 VM?

在 Linux 上是否可以有一个允许到达内部 NAT 上的特定 VM 的 IP 白名单?例如(公共 IP(proxmox)--> 我的 VM 的白名单 IP(192.168.0.1)),如果流量不在白名单中,则仅将其路由到 192.168.0.2?

问题是某项服务正遭受攻击,所以我希望用户先在网站上注册,然后才能连接到真正的服务。(如果有人尝试,他们将连接到 192.168.0.2 上的虚拟服务器,该服务器将捕获所有攻击并向用户显示一条消息,要求他们在连接之前进行注册)

(如果有人需要可视化来使其更容易,因为也许我的故事写作技巧不是那么好,这里有一个链接:https://i.stack.imgur.com/5l1cy.png

在此处输入图片描述

附加问题:是否有可能始终允许具有特定签名的数据包(例如 QUERY 数据包)通过任何 IP,甚至非白名单 IP(将此流量重定向到白名单流量所在的位置)?

答案1

您可以根据源 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 上。

相关内容