порт маршрутизации iptables

Действительно ли возможно перенаправить соединения с определенным IP/портом к внешнему IP/порту?

Пример:

Server A has the external IP xxx.xxx.xxx.xxx
Server B has the external IP yyy.yyy.yyy.yyy

Пользователь отправляет запрос к серверу на порте 25565, я хочу перенаправить его к серверу B в порте 25565, но у людей, которые соединяются с сервером B, должен быть их адреса IP, не адрес IP сервера A.

Это работает, но у всех людей, которые соединяются, есть адрес IP сервера A, и мне нужно это, у них будут свои собственные адреса IP.

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination xxx.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -p tcp -d xxx.xxx.xxx.xxx --dport 25565 -j SNAT --to-source yyy.yyy.yyy.yyy
0
задан 27 January 2017 в 01:18

2 ответа

Используя iptables -t nat -A PREROUTING -p tcp --dport 25565 -j MASQUERADE вместо второй команды не работает также: /

0
ответ дан 7 November 2019 в 02:30

Для выполнения этого Вам нужно DNAT на сервере со следующими правилами:

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to <server B IP> iptables -t nat -A POSTROUTING -p tcp --sport 25565 -j SNAT --to <server A IP>

, Где:

  • <server A IP> IP-адрес на Сервере, клиент видит
  • <server B IP>, IP-адрес хоста, слушающего на tcp/25565

, первое правило устанавливает: Клиент---> Сервер---> Сервер B (запросы)

И второе правило устанавливает: Сервер B---> Сервер---> Клиент (ответы)

Hope это помогает

0
ответ дан 7 November 2019 в 02:30

Другие вопросы по тегам:

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