@qqqqqewq

Перенаправление трафика сервера через сервер?

здравствуйте.возник вопрос по реализации данного метода.к примеру есть две виртуальные машины
1 машина-сервер 2машина-также сервер и 3 машина-мой компьютер как можно реализовать модель где 1 машина будет как узел через который мы подключаемся к 2 машине и перенаправляем весь трафик 3машины через 2машину?буду очень благодарен за помощь
  • Вопрос задан
  • 1093 просмотра
Решения вопроса 1
@sigterm
Тебе надо по большей части гуглить такую штуку, как маршрутизация и впринципе понимать как работают сети, роутинг, что такой ip, что такое маска подсети. Но в двух словах опишу ниже.

Допустим есть ты, как клиент, который хочет куда-то сходить(послать запрос на какой-нибудь хост а глобальной или локальной сети). Пусть это будет google.

Обычно схему представляют таким образом:
Ты -> google
Но так делают в основном для упрощения.
В реале это может выглядеть так:

Ты(пк, смартфон) -> домашний роутер(уровень локальной сети, L1) -> маршрутизатор провайдера в твоем городе(уровень WAN сети провайдера, L2) -> регинольный маршрутизатор твоей страны(уровень глобальной сети, L3) -> региональный маршрутизатор страны, в которой хостится конечный адрес (L3) -> маршрутизатор датацентра(уровень локальной сети датацентра, L2) -> целевой сервер(google, L1).

L(1,2,3) - так я условно обозначил степень "локальности" сети.

Так вот, фишка в том, что устройства уровнем ниже получают ip адрес(локальный), адрес главного шлюза("gateway"), и все это по протоколоу DHCP(в большинстве случаев) от устройств уровнем Выше.

Например когда ты подключаешься к вифи, роутер говорит твоему устройству следующее: "Вот тебе айпи адрес(192.168.0.139), тебя будут через него узнавать участники сети, в том числе и я. Вот тебе мой айпи адрес(192.168.0.1), я предоставляю тебе эту сеть. По любым вопросам обращайся ко мне.", и отправляет в таблицу маршрутизации твоего устройства такую строчку:
0.0.0.0/0 -> 192.168.0.1 - что означает: "отправлять пакеты на любые адреса (любые - т.е. в диапазоне от 1.1.1.1 до 255.255.255.255) на шлюз, который находится по адресу 192.168.0.1(адрес роутера).

Теперь, когда это ясно, ты можешь просто менять главные шлюзы сети на каждой машине. Просто поменять записи в таблице марщрутизации, и запустив dhcp сервер на кажой из тех, кто будет "шлюзом", а потом подправить настройки фаервола, чтобы у тебя появился NAT. Просто чтобы это сделать, надо чуточку лучше понимать сети и ОС, с которой ты работаешь. И все. Это, на мой взгляд, проще чем поднимать впн-ы всякие.

P.S. - в некоторых моментах я допустил определенные упрощения, т.к. текст ответа и так слишком длинным вышел.

P.P.S. - я тебе дал несколько ниточек, тебе остается гуглить, учить сети и мехнизмы работы целевой ОС.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks
Традиционно для этого используются туннели, в простонародьи VPN. Но, если трафик - это веб-запросы, то можете использовать обычные прокси.
Ответ написан
Комментировать
@unbelieve
1) wireguard (интересная статья есть тут)
2) ipip (гуглится довольно легко)

Проще wireguard, т.к. есть клиенты (программы) под практически любые платформы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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