我在主机上使用以下路由,以便将所有流量传递到在端口 8080 运行的 NGINX 服务器。
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
不幸的是,当我启用该规则时,所有 LXD 容器(Ubuntu 的 LXC)都无法使用:
apt-get update
因为它将 repos 解析为我的域。
我能以某种方式阻止这种情况发生吗?
答案1
您正在用规则重定向所有 tcp/80 流量。
为了仅重定向您想要的流量,您必须指定一个接口或 IP 地址。例如,您可以改用:
-A PREROUTING -i $MY_WAN_INTERFACE -p tcp --dport 80 -j REDIRECT --to-port 8080
或者,如果您需要重定向部分 LAN 流量,您可以这样写:
-A PREROUTING -d $MY_PUBLIC_IP -p tcp --dport 80 -j REDIRECT --to-port 8080
-A PREROUTING -d $MY_PRIVATE_IP -p tcp --dport 80 -j REDIRECT --to-port 8080