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
    • 最新
    • 标签
主页 / server / 问题 / 522478
Accepted
AlexD
AlexD
Asked: 2013-07-12 02:14:30 +0800 CST2013-07-12 02:14:30 +0800 CST 2013-07-12 02:14:30 +0800 CST

具有桥接网络的 LXC 容器将虚假 MAC 地址暴露给外部网络

  • 772

我在 Debian 挤压机上运行 LXC 容器(lxc 0.7.2-1),通过本书配置了公共 IP 的桥接网络,我遇到的问题是它将假 MAC 地址从 LXC 容器暴露到外部网络,并被交换机端口阻止安全性,因此阻止 LXC 容器与世界通信。我在具有相同网络配置的 Ubuntu 12.04.2 LTS (lxc 0.7.5-3ubuntu67) 上运行另一个 LXC 容器,但我没有任何问题,因为它不会将假 MAC 暴露给外部网络,并且所有通信都使用主机的 MAC。

目前我正在尝试找出主机之间网络配置的差异,但没有取得多大成功。它可能是 lxc 本身的版本依赖行为吗?

Debian /etc/network/interfaces

auto br0
iface br0 inet static
    bridge_ports eth0
    bridge_fd 0
    bridge_stp off
    bridge_maxwait 0
    address   y.y.y.9
    netmask   255.255.255.192
    broadcast y.y.y.63
    gateway   y.y.y.1
    pre-up iptables-restore < /etc/iptables.up.rules

Debian LXC 网络配置

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = fe:95:57:4b:b4:9b
lxc.network.ipv4 = y.y.y.12/26

Ubuntu /etc/network/interfaces

auto br0
iface br0 inet static
    bridge_ports eth0
    bridge_fd 0
    bridge_stp off
    bridge_maxwait 0
    address   z.z.z.146
    netmask   255.255.255.0
    broadcast z.z.z.255
    gateway   z.z.z.1
    pre-up iptables-restore < /etc/iptables.rules
    up route add x.x.x.1 br0

Ubuntu LXC 网络配置

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.ipv4 = x.x.x.1/32
lxc.network.hwaddr = 00:16:3e:87:b5:b9
networking
  • 1 1 个回答
  • 5352 Views

1 个回答

  • Voted
  1. Best Answer
    AlexD
    2013-07-12T02:54:43+08:002013-07-12T02:54:43+08:00

    区别在于 Ubuntu 上的 LXC 容器使用来自不同子网的 IP 地址,并将其主机的 IP 作为默认网关,而 Debian 上的 LXC 容器使用与主机相同子网的 IP,并且其默认网关与主机相同。

    当 LXC 容器的 IP 来自与其主机不同的子网并使用其主机作为默认网关时,来自 LXC 容器的数据包被路由,当它们离开主机的网络接口时,它们具有主机的 MAC。当 LXC 容器与主机位于同一子网并使用相同的网关时,数据包将被桥接并保留 LXC 的假 MAC。我的解决方案是强制通过主机路由,即使它们在同一个子网上。在这种情况下,我的 LXC 容器具有以下/etc/network/interfaces:

    auto eth0
    iface eth0 inet static
        address   y.y.y.12
        netmask   255.255.255.255
        post-up route add y.y.y.9 dev eth0
        post-up route add default gw y.y.y.9 
    

    并且 LXC 主机在 sysctl.conf 中有以下内容

    net.ipv4.ip_forward=1
    net.ipv4.conf.bond0.proxy_arp = 1
    

    在/etc/network/interfaces中:

     auto bond0
     iface bond0 inet static
       address y.y.y.9
       netmask 255.255.255.192
       broadcast y.y.y.63
       gateway y.y.y.1
    
     auto lxcbr0
     iface lxcbr0 inet static
        bridge_ports none
        bridge_fd 0
        bridge_stp off
        bridge_maxwait 0
        address   192.168.120.1
        netmask   255.255.255.0
        up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
        up /sbin/ip route add to y.y.y.12 dev lxcbr0
    

    我已经从上面的配置中删除了不相关的选项。

    • 4

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve