Port

將埠 12111 上的 localhost memcached 伺服器轉發到 domain.com memcached 伺服器

  • August 27, 2014

我的客戶正在執行許多使用 memcached 的腳本,但他們都使用 localhost 作為地址。我的 localhost 伺服器現在記憶體不足,因為它正在執行許多其他操作,例如 WWW 和 MySQL 伺服器。

現在我有了一個全新的伺服器,它有 16 GB RAM,我可以將它用作專用的 memcached 伺服器。如何將 localhost:12111 重定向到 domain.com:12111 伺服器?

我無法將 localhost 切換到 /etc/hosts 中的其他內容,因為我所有的數據庫都使用這樣的地址。

努力,1分鐘的Google搜尋會給你答案。

沒有特別的順序,您可以使用:

  1. 西網
  2. 里內特
  3. IPTables
  4. SSH隧道
  5. 網貓
  6. 第 4-7 層平衡(例如 haproxy)

或者對 localhost 執行一個簡單的 grep 並將其替換為您可以更改的主機名。

iptables

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp --dport 11211 -j DNAT --to 192.168.1.2:11211
iptables -P FORWARD ACCEPT

rinetd

echo " 127.0.0.1 11211 192.168.1.2 11211" >> /etc/rinetd.conf
/etc/init.d/rinetd restart

網貓

nc -l -p 11211 -c "nc 192.168.1.2 11211"

SSH

ssh user@192.168.1.2 -L 11211:192.168.1.2:11211

xinetd

cat > /etc/xinet.d/memfw << eof
 service memfw {
   disable = no 
   type = UNLISTED 
   socket_type = stream 
   protocol = tcp 
   user = nobody 
   wait = no 
   redirect = 192.168.1.2 11211
   port = 11211
 }
eof

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