我對 Linux 系統有要求,其中 Linux 裝置使用 RSYNC 將資料同步到另一台 Linux 電腦。目前工作正常,但我需要將其中一台機器移動到不同的資料中心。
是否有可能使用 iptables 設定機器,以便現在對(例如)本機位址 192.168.100.230 的所有呼叫實際上都會傳送到網路上的公用位址?
答案1
需要啟用 IP 轉送:編輯/etc/sysctl.conf
並確保該行net.ipv4.ip_forward = 1
存在且未被註解掉。
然後你需要執行這個指令:
iptables -t nat -A 輸出 -d [ipaddress1] -j DNAT --to-destination [ipaddress2]
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
並轉發至192.168.100.240:22
。root
如果連接埠號碼大於 1024,則不需要。