我使用proxmox,我需要为虚拟机和容器进行端口路由,我使用:
qm set 100 -args "--redir tcp:1000::1001"»
VM上的端口路由命令。它运作良好,但不适用于容器。我将它用于容器时的错误是:
Configuration file '100.conf' does not exist.
如何在proxmox中为容器创建端口路由?
答案 0 :(得分:2)
proxmox中的qm命令用于qemu虚拟机(kvm),而不用于LXC容器。通常不使用LXC,因为在执行时,它会尝试为该ID找到kvm虚拟机配置。该id是LXC容器而不是KVM机器,没有配置文件。
为了将端口映射到LXC容器,您必须使用iptables(afaik没有类似的qm工具用于lxc)。通过SSH登录您的proxmox服务器,成为root用户,端口转发的语法如下:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport PORT -j DNAT --to [LXC-container-IP:PORT]
例如,如果您想将端口9999映射到LXC容器的端口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。