【问题标题】:how to force user-apps to resolve "route lookup" using specfic routing table如何强制用户应用程序使用特定路由表解决“路由查找”
【发布时间】:2016-03-23 05:01:31
【问题描述】:

我明白 一个。可以使用“ip route ..... table”在linux中维护多个路由表 湾。从外部网络进入的数据包的转发决策可以使用“ip rule add iif dev table”来完成

但是,如果我希望用户应用使用特定的路由表与外界通信,除了使用“ip netns”之外,我看不到一个简单的出路。

有没有办法通过特定的路由表告诉系统使用“查找路由”?

我的理解是“ip规则”仅在生成数据包后才适用,但用户应用程序甚至在生成数据包之前就查询路由表,以便可以发送网关的ARP。

【问题讨论】:

    标签: linux network-programming


    【解决方案1】:

    这是一个有点复杂的事情。您应该熟悉 SELinux 标签和容器。 RedHat 的 Docker 文档状态:

    默认情况下,docker 会为每个容器创建一个虚拟以太网卡。每个容器都有自己的路由表和 iptables。除此之外,当您请求转发特定端口时,docker 会为您创建某些主机 iptables 规则。 docker 守护进程本身会做一些代理。这里的要点是,如果您将应用程序映射到容器,您可以通过限制每个应用程序的网络访问来为自己提供灵活性。

    【讨论】:

    • 谢谢。但是我试图在不使用容器的情况下做到这一点。据我了解,容器使用命名空间,这意味着网络设备的可见性也是分区的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多