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

Перенаправить любой запрос на другой сервер через определенный порт

Предположим 3 сервера.

Сервер A передает потоковое видео в реальном времени через порт 88. Сервер B получает 10 потокового видео с сервера A. Скорость соединения между сервером A -> сервером B составляет 20 Мбит / с.

Сервер C может подключаться к серверу A со скоростью 100 Мбит / с через внутреннюю маршрутизацию. Скорость соединения между сервером C и B также составляет около 20 Мбит / с. Это не мешает соединению ServerA <> ServerB.

Вопрос: Можно ли получить еще 10 потоков (требуется 20 Мбит / с) с сервера A на сервер B при использовании соединения с сервером C. Что нужно сделать на сервере C? Туннелирование?

На сервере B: текущая конфигурация

принять {IP-адрес сервера A}: 88 / поток {stream01-10}

Если то, что я пытаюсь сделать, возможно, окончательная конфигурация будет такой на сервере B

fetch {Server A IP}:88/stream{stream01-10}
fetch {Server C IP}:88/stream{stream11-20}

Схема здесь

Благодаря эом Я понял.

Вот что я сделал на сервере C.

iptables -t nat -A PREROUTING -p tcp --dport 88 -j DNAT --to-destination SERVERA-IP:88
iptables -t nat -A POSTROUTING -p tcp -d SERVERAIP --dport 88 -j SNAT --to-source SERVERC-IP

Если один клиент инициировал TCP-соединение на известном порту, вы можете использовать iptables для перенаправления соединения с сервера C на сервер B с помощью dnat + snat.