Пожалуйста, простите меня за (возможно) вопрос о новичках, но я новичок в сетях Linux. Я уже потратил несколько дней на поиск в Интернете ответа на свой вопрос, но не смог его найти, поэтому решил задать вопрос здесь, потому что я знаю, что этот сайт посещают многие опытные профессионалы.
В любом случае, перейдем к собственному вопросу: у меня есть два доступных сервера. Назовем их Сервер-A и Сервер-B. Я установил VPN-туннель между Server-A и Server-B с помощью OpenSWAN. Я назначил исходные IP-адреса: 192.168.2.1 для Server-A и 172.16.2.1 для Server-B. Я успешно могу пинговать 172.16.2.1 с сервера-A и 192.168.2.1 с сервера-B, поэтому я предполагаю, что я правильно настроил VPN, и оба сервера могут обмениваться данными.
Теперь, на сервере A, я хочу сделать это:
Когда я отправляю HTTP-запрос через libcurl следующим образом:
завиток http://checkip.dyndns.com/
Я бы хотел, чтобы запрос проходил через общедоступный IP-адрес Сервера-A.
Однако, когда я выдаю:
curl --interface 192.168.2.1 same_url_as_in_the_above_request
Я бы хотел, чтобы запрос проходил через VPN, чтобы использовать доступ к Интернету Сервера-B, поэтому я ожидал бы увидеть общедоступный IP-адрес Сервера-B, указанный в контрольном ответе.
Прямо сейчас, когда я отправляю такой запрос, я получаю следующую ошибку:
curl (7): не удалось подключиться к хосту
Что я могу сделать для этого, или я ошибаюсь? Все, что я хочу сделать, это использовать доступ к Интернету Сервера-B с Сервера-A для доступа только к определенным веб-сайтам или когда ISP для Сервера-A по какой-то причине не работает. Мне не нужно автоматизировать это, просто хочу иметь возможность делать это вручную, когда это необходимо.
Я бы предположил, что мне нужно выполнить маршрутизацию или NAT, но я понятия не имею, что именно делать - я прочитал много материалов за последние пару дней, но мне трудно понять, что должны выглядеть точные команды iptables и / или route, и если вообще настройка VPN - правильное решение.
Я очень надеюсь, что кто-нибудь из присутствующих сможет дать мне совет, и мне очень жаль, если я рассмешил всех вас подобным нубским вопросом.
С уважением!
для доступа только к определенным сайтам
На самом деле самый простой способ сделать это - использовать HTTP-прокси и передать варианты маршрутизации на сервер Berowser через файл PAC.
или когда ISP для Server-A не работает по какой-либо причине
Для этого нужно совсем другое решение - использовать маршрутизацию (либо в iptables, либо через iproute2).
VPN на самом деле не обязательный - но если вы хотите запустить удаленный HTTP-прокси и не использовать его всеми внутренними мошенниками, которые могут его найти (*), тогда вы ДОЛЖЕН есть метод ограничения доступа клиентов к сервису - VPN - хороший способ добиться этого.
*) Теперь я вижу больше попыток найти открытые веб-прокси, чем открытые SMTP-реле на ящиках, за которыми я ухаживаю