![在同一接口上进行 NAT 和端口转发](https://linux22.com/image/642139/%E5%9C%A8%E5%90%8C%E4%B8%80%E6%8E%A5%E5%8F%A3%E4%B8%8A%E8%BF%9B%E8%A1%8C%20NAT%20%E5%92%8C%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91.png)
我在同一接口上的端口转发方面遇到了一些问题。
我有 server1,其公共 IP 为 5.1.1.1,并且一家公司通过仅由 server1 访问的 VPN 发布了 IP 为 10.1.1.1 的 MySQL 数据库。
我需要从任何知道 server1 IP 的客户端连接到 MySQL。我认为将 server1 端口 5000 处的入站连接 NAT 到 10.1.1.1:3306 目标。
clientx ------- server1(5.1.1.1) --- VPN ------ mysql(10.1.1.1:3306)
我在server1上执行下面的语句,但是不起作用。
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 5000 -j DNAT --to-destination 10.1.1.1:3306
iptables -A FORWARD -p tcp -d 10.1.1.1 --dport 3306 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT