当我运行lxd init时,我select了这个设置。
Would you like to create a new network bridge (yes/no)? no
因为我在/ etc / network / interfaces中创build了自己的br0
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto br0 iface br0 inet static address xx50.2 netmask 255.255.252.0 broadcast xxx255 network xxx0 gateway xx53.254 dns-nameservers 8.8.8.8 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 iface eth0 inet manual
然后,我启动lxd centos并运行
lxc config device add first eth0 nic nictype=bridged parent=br0 lxc config device set first eth0 ipv4.address xx51.2 lxc config device set first eth0 security.mac_filtering true
并在中更改configuration
/var/lib/lxd/containers/second/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes HOSTNAME=LXC_NAME NM_CONTROLLED=no TYPE=Ethernet IPADDR=xx51.2 NETMASK=255.255.255.255 GATEWAY=xx53.254 DNS1=8.8.8.8 DNS2=xxxx MTU= DHCP_HOSTNAME=xx50.2
当我尝试ping 8.8.8.8我得到连接:networking无法访问
在/etc/resolv.conf
nameserver 8.8.8.8 search lxd nameserver xxxx
我做错了什么我不明白,也许我错过了一些概念?
你是否在为你的容器使用专用网卡? 您不需要在您的网桥上设置静态IP地址:
auto br0 iface br0 inet manual bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 iface eth0 inet manual
如果你在考虑你的IP地址,我倾向于不把它设置在lxcconfiguration级别
lxc config device unset first eth0 ipv4.address
如果您将pipe理接口与LXD容器共享给LXD主机,则可以重置网桥上的IP地址,但我build议使用单独的设备进行两个连接。
如果没有一个工作,你需要findnetworking在哪里坏了。 我在容器外面逐步采取措施,然后在容器内部进行,这涉及到在各个级别检查networking访问:
ping 192.168.0.10吗? 如果是,那么eth0已经启动并正在工作。 如果不是,那么你的网卡有问题。 ping 192.168.0.1吗? 如果是,则2层连接正在工作。 如果不是,那么你有第2层问题。 检查你的连接,开关等(任何基于MAC的过滤)。 ping 8.8.8.8 ? 如果是,那么层3连接正在工作。 如果不是,那么你很可能有一个第3层的问题。 检查路由表ip route show ,router等 ping 192.168.0.10吗? 如果是,那么NIC正在工作,继续。 如果不是,那么网卡本身存在问题,您将无法获得任何networking连接。 检查LXD日志,内核日志,运行以太网testing等。如果是这种情况,那么问题很可能是一个configuration问题,因为你已经testing了主机上的实际eth0设备,发现它正在努力得到这么远。 ping 192.168.0.1吗? 如果是,那么第2层正在工作,继续。 如果不是,那么你有第2层问题。 ping 8.8.8.8 ? 有一个第3层的问题。 检查路由ip route show