linux – 有没有办法共享一个服务,用LXC来宾监听主机的环回?教程
我正在尝试向LXC客户提供服务,但不想将其从主机公开.我也不想为服务提出防火墙规则,因此环回似乎是最直接的解决方案.
有没有办法让一个服务监听与LXC客人共享的lo(loopback),例如类似于绑定安装目录到位?
解决方法:
有不同的方法来实现您的目标.
如果客人共享一个虚拟网络(即不只是桥接到物理接口),这很容易.只需告诉您的服务侦听该接口 – 或者创建一个新的guest虚拟机并让该guest虚拟机托管该服务.
如果guest虚拟机桥接到ethX,您可能仍然需要考虑创建一个虚拟来宾主机接口,因为这种封装对所有类型的服务都有意义(内部邮件服务器,任何数据库服务器,本地DNS等)
(显然,你出于某种原因已经丢弃了这种方式:防火墙规则)
至于lo:每个lxc主机都有自己的,这就是好的imo
我的lxc客户共享一个虚拟接口,对于应该暴露给公共互联网的每个服务,我在主机的iptables上创建端口转发规则.我尝试在主机上运行尽可能少的服务.这样就几乎没有rist意外暴露任何服务.
为了完整起见,这是我的配置:
我的interfaces文件(debian stable):
auto br0
iface br0 inet static
bridge_maxwait 0
bridge_fd 0
bridge_ports dummy0
address 192.168.x.1
netmask 255.255.255.0
# if there are lxc clients that need a public IP, add something like this (a.b.c.d being the public IP) and set the client's `lxc.network.ipv4` config parameter to the same address:
#post-up route add a.b.c.d dev br0
客户端配置的相关部分:
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.veth.pair = lxc-apache # each client gets their own .pair name
lxc.network.ipv4 = 192.168.x.y/24 # ... and of course their own address