Передайте все сетевые пакеты с сервера к серверу B (WAN) Ubuntu

Я в настоящее время выполняю игровой сервер на VPS и буду вскоре перемещать поставщика VPS. Для создания миграции легче на плеерах, я хотел бы, чтобы плееры смогли использовать исходный IP в течение короткого времени путем передачи всех пакетов от старого сервера до нового.

Я знаю, что это добавит дополнительную задержку, но я буду отображать сообщение, показывающее новый IP, и буду предупреждать их о добавленной задержке, если они будут использовать исходный IP.

Эти два сервера не находятся на той же внутренней сети.

Я хотел бы, чтобы все они были допустимы;

Client --> Server A --> Server B
Server B --> Client
Client --> Server B

Например, клиент может соединиться непосредственно с B, но если они соединятся с этим, то перенаправит к B. Сервер B отправляет свои данные непосредственно клиенту во всех случаях.

Сервер A ничего не сделает кроме передач пакетов (например, игровой сервер не работает туда),

Я знаю, что это не могло бы быть возможно, но будет замечательно, если кто-то мог бы выручить меня с этим.

О, поскольку это - игровой сервер, большей частью трафика является UDP, и оба сервера запускают Ubuntu 12.0.4

Спасибо

0
задан 10 April 2014 в 17:55
1 ответ

Клиент --> Сервер A --> Сервер B

Для этого необходимо использовать двойной NAT на Сервере A :

  1. DNAT входящие пакеты на Сервере A на Сервере B
  2. Также необходимо использовать SNAT, чтобы обратный трафик отправлялся обратно через Сервер A

Что-то вроде этого:

iptables -t nat -A PREROUTING -d $Server_A_ip_address -j DNAT --to-destination $Server_B_ip_address
iptables -t nat -A POSTROUTING -d $Server_B_ip_address -j SNAT --to-source $Server_A_ip_address

Другие случаи проще обрабатывать :

Сервер B --> Клиент

На Сервере B : iptables -A OUTPUT -s $Server_B_ip_address -j ACCEPT

Клиент --> Сервер B

На Сервере B : iptables -A INPUT -d $Server_B_ip_address -j ACCEPT


Конечно, для всех этих случаев рекомендуется указывать протоколы и порты. Мои примеры слишком разрешительны, потому что я не знаю ваши порты/протоколы.

.
0
ответ дан 24 November 2019 в 09:48

Теги

Похожие вопросы