我可以使用以下命令进行端口转发:
iptables -t nat -A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to 192.168.161.31:80 iptables -t nat -A POSTROUTING -d 192.168.161.31 -j MASQUERADE
我想使用,如果有可能转发数据包针对一个域名,而不是像XXX.XXX.XXX.XXX IP地址。
比如说,能不能做一些像下面这样的工作? 我的行不通
iptables -t nat -A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to 192.168.161.31:80 iptables -t nat -A PREROUTING -p tcp -d www.example.com --dport 80 -j DNAT --to 192.168.161.32:80
请注意,前面的命令应该转发到不同的机器。
不,这是不可能的。 数据包永远不会针对TCP / IP级别的域名。
如果需要将请求redirect到另一个主机/端口,则需要使用某种负载均衡器(例如使用ProxyPass的apache)。
不,你不能这样做。 netfilter规则中不允许DNS名称。 它们只适用于TCP / IP和ICMP级别。