我在 Linux 系统上有一个需求,其中 Linux 设备使用 RSYNC 将数据同步到另一台 Linux 机器。目前这运行良好,但我需要将其中一台机器移至不同的数据中心。
是否可以使用 iptables 配置机器,以便现在所有对(例如)本地地址 192.168.100.230 的调用实际上都发送到互联网上的公共地址?
答案1
需要启用 IP 转发:编辑/etc/sysctl.conf
并确保该行net.ipv4.ip_forward = 1
存在且没有被注释掉。
然后需要执行这个命令:
iptables -t nat -A OUTPUT -d [ip地址1] -j DNAT --to-destination [ip地址2]
ipaddress1
您想要重定向到的地址是哪里ipaddress2
。
注意--此命令在重启后无效。
答案2
192.168.100.230
例如,客户端连接到旧地址,而新地址可能会更改192.168.100.240
。您可以使用 ssh 隧道而不是 iptables 进行端口转发。
ssh -TNnfaq -L 192.168.100.230:22:192.168.100.240:22 user@localhost
或者
ssh -L 192.168.100.230:22:192.168.100.240:22 user@localhost # for test
所有请求都发送到192.168.100.230:22
并转发到。如果端口号大于 1024,则192.168.100.240:22
不需要。root