0

我使用 proxmox,我需要为虚拟机和容器进行端口路由,我使用:

qm set 100 -args "--redir tcp:1000::1001"»

VM 上的端口路由命令。它运行良好,但不适用于容器。我将它用于容器时的错误是:

Configuration file '100.conf' does not exist.

如何为 proxmox 中的容器进行端口路由?

4

1 回答 1

2

proxmox 中的 qm 命令用于 qemu 虚拟机 (kvm),而不用于 LXC 容器。LXC 不工作是正常的,因为在执行时,它会尝试为该 ID 查找 kvm 虚拟机配置。该 id 是 LXC 容器而不是 KVM 机器,没有配置文件。

为了将端口映射到 LXC 容器,您必须使用 iptables(afaik 没有用于 lxc 的类似 qm 工具)。通过 SSH 登录到您的 proxmox 服务器,成为 root 并且端口转发的语法是这样的:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport PORT -j DNAT --to [LXC-container-IP:PORT]

例如,如果您想将 LXC 容器的端口 9999 映射到端口 9999(为了示例,假设 lxc 容器的 ip 为 1.1.1.1),您的 iptables 规则是:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 9999 -j DNAT --to [1.1.1.1:9999]

请记住,您的默认以太网设备可能不是 eth0 而是 vmbr0 或任何其他设备。所以把eth0换成对应的设备。

于 2017-10-19T09:51:42.693 回答