我的客户正在运行许多使用 memcached 的脚本,但它们都使用 localhost 作为地址。我的 localhost 服务器现在内存不足,因为它正在执行许多其他操作,例如 WWW 和 MySQL 服务器。
现在我有一台具有 16 GB RAM 的全新服务器,可以将其用作专用的 memcached 服务器。如何将 localhost:12111 重定向到 domain.com:12111 服务器?
我无法在 /etc/hosts 中将 localhost 切换为其他地址,因为我的所有数据库都使用这样的地址。
答案1
努力一下,谷歌搜索一分钟就会给你答案。
您可以使用以下任意顺序:
- 西奈特
- 里奈特
- IP表
- SSH 隧道
- 网猫
- 第 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 [email protected] -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