AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1051805
Accepted
Surender Panuganti
Surender Panuganti
Asked: 2018-07-04 04:58:52 +0800 CST2018-07-04 04:58:52 +0800 CST 2018-07-04 04:58:52 +0800 CST

NAT 桥接 LXC 非特权容器会通过局域网将 http 调用路由到主机 http 服务器吗?

  • 772
  1. 用户 A 在主机 Ubuntu 机器上运行一个 http 服务器,其 IP 为“HostIP”,端口为 8081。
  2. 现在用户 A 创建了一个非特权 lxc 容器(container1)
  3. 用户 A 登录lxc-attach -n container1。
  4. 现在 container1 中的 root 用户进行了类似call 的http://HostIP:8081/api调用

我的问题是这个呼叫是直接还是通过局域网路由到主机。基本上,如果 http 服务器托管在主机上,需要进行哪些配置更改以避免局域网流量。

我们的 LXC 网络配置是:

lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:30:d2:42

所有容器都在主机 Ubuntu 内运行。

networking unprivileged container lxc
  • 1 1 个回答
  • 332 Views

1 个回答

  • Voted
  1. Best Answer
    Thomas Ward
    2018-07-09T07:09:07+08:002018-07-09T07:09:07+08:00

    总结一下你对我说的细节,以便我回答这个问题:

    • LXC 网桥设置为 NAT 连接
    • LXC 网桥不直接连接到主机系统所在的 LAN 网络

    有了这些信息,您的答案是:可能。它完全取决于主机以及它是否足够聪明,不会首先通过 LAN 网络将流量从 LXC 网桥路由到 LAN 地址。(并非总是如此)

    当您将主机的 IP 地址用于 LAN 时,您的计算机完全有可能是愚蠢的并且无法正确路由数据包,这意味着数据包以LAN地址(而不是LXC 网络的私有 IP 范围)可能会传输到 LAN 的其余部分。这并不少见,但绝对不是你所追求的。

    当使用连接到主机的 LXC/LXD 来宾时,您应该使用来自来宾的网关 IP 地址(实际上是主机拥有的 LXC/LXD 网桥上的私有 IP 地址,以便它可以 NAT 将流量路由到其他正确的目的地)当打算流量直接从容器到主机时,反之亦然。这样,从您的客人到您的主机(反之亦然)的流量永远不会离开您的计算机,因为它知道通过该 NAT 链接分别到客人和主机的路由。

    例如,如果您的网桥子网是 192.168.230.0/24,LXC 来宾的 IP 为 192.168.230.10,而您的主机具有 192.168.230.1,因此它充当来宾的路由器(这是典型的 NAT网桥设置,但具有不同的 IP 范围),那么您应该使用192.168.230.1代替主机系统的 LAN 地址,以避免数据泄漏到 LAN 网络。

    • 1

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve