У меня есть два сервера Linux, скажем, X и Y. Между ними есть VPN-соединение, так что X может подключаться к Y через некоторые порты (например, 22, 5901 и т.д.), Но Y не может подключиться к X. Интернет доступен на X.

Я хочу получить доступ в интернет на сервере Y. Как я могу это сделать?

1 ответ1

0

Это нетривиально, и вы не предоставили достаточно подробностей для точного решения, но в общих чертах вы должны предпринять следующие шаги:

  1. Установите шлюз по умолчанию от Y до X, не разрывая соединение VPN. Вероятно, это вопрос добавления определенного маршрута для конечной точки / подсети VPN и изменения шлюза по умолчанию на X.

  2. Брандмауэр (если таковой существует) на Y необходимо изменить, чтобы разрешить трафик к X и обратно.

  3. Переадресация пакетов должна быть включена (echo 1> / proc / sys / net / ipv4 / ip_forward), как правило, должна работать.

  4. Вам нужно настроить маскарадинг / NAT на сервере Y, чтобы перезаписывать оставленные им пакеты. Это будет зависеть от ваших интерфейсов, но обычно работает что-то вроде / sbin / iptables -t nat -A POSTROUTING -o (Ext IF для Y, например, eth0) -j MASQUERADE.

  5. Возможно, вам придется добавить ограничение MTU, если некоторые сайты работают, а другие нет. Что-то вроде iptables -A FORWARD -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu

Обратите внимание, что в зависимости от ваших интернет-требований вам может не понадобиться ничего из этого - вы можете использовать SSH для создания прокси-сервера SOCKS и просто использовать его (но это будет работать, только если интернет-клиенты, которые вы используете в X, поддерживают SOCKS), Это на порядок проще сделать за один раз, если вы можете сойти с рук, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .