有人能告诉我如何为以下情况设置 DB 代理吗?
让我们考虑一下,
- 同一网络中的三台机器 - 172.16.1.10、172.16.1.11 和 172.16.1.12
- 172.16.1.12 在 3306 端口上运行 mysql 实例
来自 172.16.1.10 机器的用户想要通过使用 172.16.1.11 机器和一个端口号(例如 9999)作为直通来连接到上述 mysql 实例。
$> mysql -h 172.16.1.11 -P 9999 -u 用户1 -p pwd1'
为了实现这一点,需要创建哪些 iptables 规则?
谢谢
答案1
您可以在 172.17.1.11 上使用 NAT:
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 9999 -j DNAT --to 172.16.1.12:3306
iptables -A FORWARD -d 172.16.1.12 -p tcp --dport 3306 -j ACCEPT