有没有一种简单的方法可以通过不同的网络接口路由某些域(例如 debian.org)。情况如下。我有一个服务器,有两个接口 eth0 连接到本地网络,tun0 连接到 openvpn 网络。我希望所有发往 *.debian.org 的请求都通过 tun0 发出,其余的通过 eth0。有没有一种简单的方法可以使用名称而不是 ip 地址来实现这一点?
答案1
并非如此。路由系统肯定是基于 IP 的,名称没有任何意义。当流量到达路由级别时,它已经从名称变成了数字。任何声称这样做的系统都只是将域名取消引用到其 IP 组件。
答案2
您正在路由哪种类型的流量?
如果是 HTTP,您可以配置 vhosts 并将 *.debian.org 代理为 IP 地址或域名,这些 IP 地址或域名解析为 tun0 子网上的 IP。您可以使用 modproxy 或 modrewrite 来实现这一点。如果您的路由设置正确,并且只是 HTTP 流量,那么这应该可以正常工作。