为应用程序分配特定的IP

为应用程序分配特定的IP

这是我当前的设置:

  • 机器A与单个IPA:通用 debian 服务器,带 ssh、Web 服务器等...
  • 机器B与单个IPB:openvpn 服务器(也在 debian 上)

我的目标是使用相同的物理机器做同样的事情(机器CIPAIPB在同一物理接口上):

  • 一切(ssh,网络服务器,...)通过IPA
  • 除了 openvpn 通过IPB

我的要求是外部用户不应该能够(不包括旁路)推断 ipA 和 ipB 路由到同一台物理机。例如,机器 A 当前的所有服务都不应该监听 ipB。

此外,由于机器 B 仅用于 openvpn,因此我想避免使用基于管理程序的解决方案。我希望有一种方法可以在我现有的操作系​​统下“监禁”openvpn 和 ipB。

在这种情况下我应该使用哪种技术/包?

由于 openvpn 对延迟敏感且资源匮乏,因此轻技术是首选。

答案1

最好的选择是在每个服务配置中执行此操作,并将每个服务设置为侦听特定 ip 而不是任何 ip,但是,您可以这样做,这样iptables您就可以丢弃任何具有目标 ipB 且端口不是openvpn端口或仅允许的数据包目的地 ipB 和端口openvpn,但你在这里将失去使用 ipA 端口的能力。

例如:

iptables -t filter -A INPUT -p udp -d <ipB> --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p tcp -d <ipB> --dport 1194 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 1194 -j DROP
iptables -t filter -A INPUT -p tcp --dport 1194 -j DROP

这里只允许1194目标 ipB 的数据包在端口上进行连接

相关内容