当前位置: 首页 > 知识库问答 >
问题:

LXC容器作为VPS

申屠黎昕
2023-03-14

我一直在研究LXC容器,我想知道是否可以像普通VPS一样使用LXC容器?

我的意思是;

  1. 如何将外部IP地址分配给LXC容器
  2. 如何直接ssh到LXC容器中

我是LXC容器的新手,所以请告诉我是否还有其他需要注意的差异。

共有2个答案

苏宏逸
2023-03-14

听起来您想要的是将主机NIC桥接到容器。在这种情况下,您需要做的第一件事就是创建一个桥。首先确保系统上安装了桥接UTIL,然后打开/etc/networking/interfaces进行编辑和更改:

auto eth0
iface eth0 inet dhcp

为此:

auto br0
iface br0 inet dhcp
    bridge-interfaces eth0
    bridge-ports eth0
    up ifconfig eth0 up

iface eth0 inet manual

如果你的NIC没有命名为eth0,你应该用你的NIC命名的任何东西替换eth0(我的命名为enp5s0)。一旦你做了改变,你可以通过发出命令来启动网桥

sudo ifup br0

假设一切顺利,您应该保持internet访问,甚至您的ssh会话也应该在此过程中保持在线。我建议您对主机进行物理访问,因为弄乱上述步骤可能会阻止主机访问internet。您可以通过运行ifconfig并检查br0是否有分配的IP地址,而eth0没有,来验证您的设置是否正确。

设置完毕后,打开/etc/lxc/default。形态与变化

lxc.network.link = lxcbr0

lxc.network.link = br0

就这样。您启动的任何容器都将自动桥接到eth0,并将与主机有效地存在于同一LAN上。此时,如果还没有安装ssh,可以使用新分配的IP地址将ssh安装到容器中。

“将eth0转换为br0,并将所有LXC或LXD放到LAN上”

闾丘谦
2023-03-14
lxc-create -t download -n cn_name
lxc-start -n cn_name -d
lxc-attach -n cn_name

然后在容器中cn_name安装openssh服务器,以便您可以使用ssh,然后重新启动它或重新启动ssh服务。

要使任何容器“服务”对世界可用,请配置从主机到容器的端口转发。

例如,如果容器中有Web服务器,要将端口80从主机ip192.168.1.1转发到具有ip的容器10.0.3.1可以使用下面的iptables规则。

iptables -t nat -I PREROUTING -i eth0 -p TCP -d 191.168.1.1/32 --dport 80 -j DNAT --to-destination 10.0.3.1:80

现在,容器端口80上的web服务器将通过主机操作系统的端口80可用。

 类似资料:
  • 我正在ubuntu 14.04上试验lxc。为了管理几个lxc实例,我使用python3lxc。使用pyhthon3 lxc,我确实无法克隆现有容器: 相应地, /var/lib/lxc.vanilla_clone没有根基使用 很好。(python3和lxc克隆,两者都是从sudo开始的。)这是python3_lxc中的一个bug或限制,还是我遗漏了什么? 事后思考:使用lxc。容器create需

  • 我一直在尝试Linux容器(lxc)。安装后,我尝试创建一个容器。我正在用lxc-1.1开发Ubuntu14.04。1.当我尝试创建新容器时,系统会提示我此错误: lxc create:加载共享库时出错:liblxc。所以1:无法打开共享对象文件:没有此类文件或目录。我们非常感谢您对克服此问题的任何帮助。

  • 我通过C API使用LXC,并简单地复制和粘贴了示例代码(如链接所示,但用我自己的函数名替换了)。然后从程序中的另一个代码块中调用它,我无法使容器正常启动。 调用只会返回false。如果我将第二个参数更改为start为0(意味着应该使用而不是/sbin/init),则start“成功”,但容器状态立即设置为,因此我无法连接到容器。 正在尝试通过设置获取日志: 只生成空文件。 想到这可能与我看到的另

  • 我可以更改初始化和保存lxc容器的目录吗?现在它们是在/var/cache/lxc下创建的,我希望它们位于另一个目录中,在另一个分区中,我有更多的空间。Changint分区的安装点不是一个选项,因为它已经用于其他用途。

  • 我在openSuSE 42.1主机上设置了一个LXC容器。 主机可以完全访问Internet,但容器没有。容器可以ping主机,但在LAN或Internet上没有其他功能。 我认为问题可能是如何在主机上配置网桥,但我看不出如何解决这个问题。 主机具有eth0和br0。已为br0分配了静态IP地址等。 在YAST中,我的默认IPv4网关为192.168。2.1和设备为br0 这是主机的网络细节 网关

  • 有没有办法通过在容器的命令行中发送命令来重命名lxc容器主机名?我知道您可以执行类似于的操作,然后使用()重命名配置中的主机名和路径。 但是,我可以不离开容器的控制台,然后在主控制台中键入内容来完成它吗?