Назад | Перейти на главную страницу

Перенаправить сервер memcached localhost на порт 12111 на сервер memcached domain.com

Мои клиенты используют множество скриптов, использующих memcached, но все они используют localhost в качестве адреса. На моем локальном сервере сейчас не хватает ОЗУ, потому что он выполняет множество других задач, например, серверы WWW и MySQL.

Теперь у меня есть совершенно новый сервер с 16 ГБ ОЗУ, который я могу использовать как выделенный сервер memcached. Как перенаправить localhost: 12111 на сервер domain.com:12111?

Я не могу переключить localhost на что-то другое в / etc / hosts, потому что все мои базы данных используют такой адрес.

Приложите усилия, 1 минута поиска в Google даст вам ответ.

В произвольном порядке вы можете использовать:

  1. Xinetd
  2. Ринетд
  3. IPTables
  4. SSH туннель
  5. Netcat
  6. Балансировка уровней 4-7 (например, haproxy)

Или выполните простую команду grep для localhost и замените ее именем хоста, которое вы можете изменить.

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

netcat

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