iptables 不添加 NAT 规则

iptables doesn't add NAT rule

我正在尝试将端口从主机转发到 lxc 来宾: sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 10.0.3.31:3000

在 lxc guest 上 运行 一个为网站提供服务的 nodejs 服务器 我在这里看不到添加的规则:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -i lxcbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i lxcbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i lxcbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -i lxcbr0 -p udp -m udp --dport 67 -j ACCEPT
-A FORWARD -o lxcbr0 -j ACCEPT
-A FORWARD -i lxcbr0 -j ACCEPT
-A fail2ban-ssh -j RETURN

但是我通过调用 iptables -t nat 没有收到任何错误... 显然重定向不起作用

我真的不知道该怎么做。 有人能帮我吗? 谢谢

将主机上的端口转发添加到 LXC 容器:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to XX.XX.XX.XX:80

要查看列表 iptables 规则,请使用:

sudo iptables -t nat -L

应该给你这样的输出:

如果您仍然没有看到您的 Node.js 应用程序,请尝试 curl 以查看它是否确实响应正确。

curl http://10.0.3.31:3000 

另外不要忘记坚持你的端口转发规则,你可以在我的博客中进一步阅读post:https://drifts.io/how-to-setup-http-https-ssh-port-forwarding-to-lxc-container/