我有一个主机 A,上面有 2 个 lxc 容器(X 和 Y)。
我最初将主机 (A) 上的端口 22 转发到 X。使用此配置,我无法通过 ssh 退出容器 X,而当通过 ssh 退出容器 Y 时,它导致 ssh 连接以某种方式转发到 X(即使我已通过 ssh 登录到外部计算机)。
当将主机的端口 22 转发更改为将端口 2222 转发至 X:22 时,一切都恢复正常......
有没有办法将端口 22 转发到 lxc 容器?
我使用 Iptables 命令将主机 A 上的端口 22 转发到容器 X:
iptables -t nat -A POSTROUTING -s 10.0.0.4 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 10.0.0.4:22
谢谢。
答案1
通过将 添加-i eth0
到我的 iptable 规则来修复(指定仅外部流量应重定向到容器 X:22。
iptables -t nat -A PREROUTING -p tcp --dport 22 -i eth0 -j DNAT --to-destination 10.0.0.4:22