Domain-Name-System

如何將IP請求轉發到特定埠

  • October 22, 2012

我有 2 台伺服器

  • 第一個(SRV01)正在執行 Bind 和其他 Web 應用程序
  • 第二個(SRV02)正在執行 2 個伺服器 Minecraft(^^)

在綁定中我有 2 個伺服器 MC 的 2 A 錄音

s1.domain.tld    A    SRV02IP
s2.domain.tld    A    SRV02IP

2 MC serv 在 2 個不同的埠 25565 和 25566 上執行

所以我希望來自的請求s1.domain.tld:25565和來自的SRV02IP:25565 請求s2.domain.tld:25565``SRV02IP:25566

我想我需要在 SRV02 iptables 中執行此操作。我正在尋找一些關於 iptables 的主題,但與我無關。

你可以幫幫我嗎 ?

rgds。

只要兩台伺服器都可以公開訪問,這是可能的。將 s1.domain.tld 指向 SRV01IP,將 s2.domain.tld 指向 SRV02IP。s2.domain.tld:25565 已經有效。在 SRV02IP 上的 :25566 上設置 minecraft,然後在 SRV01IP 上的 iptables 中,您需要將 :25565 轉發到 SRV02IP:25566:

iptables -t nat -I PREROUTING -p tcp --dport 25565 -j DNAT --to-destination SRV02IP:25566
iptables -t nat -I POSTROUTING -p tcp --dport 25566 -j MASQUERADE

最後,要使其正常工作,您需要在 proc 中啟用 IP 轉發:

echo "1" > /proc/sys/net/ipv4/ip_forward

可以了,好了。需要注意的一件事是,這不會在重新啟動之間持續存在。要使其持久存在,請確保保存您的 IPTables 規則(因發行版而異)並編輯 /etc/sysctl.conf 以通過編輯以下行來使 ip_forward 持久存在(或者如果它不存在則添加它):

net.ipv4.ip_forward = 1

引用自:https://serverfault.com/questions/440944