Скажи, что у меня есть server
и client
. Мне нужно создать соединение с client
к website
через server
как это прокси.
Можно ли это сделать с помощью SSH-туннеля или мне нужно установить какой-нибудь прокси-сервер на server
?
Скажи, что у меня есть server
и client
. Мне нужно создать соединение с client
к website
через server
как это прокси.
Можно ли это сделать с помощью SSH-туннеля или мне нужно установить какой-нибудь прокси-сервер на server
?
Ответы:
Вы можете сделать это с помощью SSH
ssh -L 80:remotehost:80 user@myserver
Тогда у вас будет туннель от локального порта 80 до порта 80 удаленного хоста. Это не должно совпадать с myserver. Чтобы сделать это прозрачным, вы должны добавить запись в файл hosts. Если вы этого не сделаете, vhosts не будет работать. Если вы хотите соединение через SOCKS-прокси, вы также можете использовать
ssh -D 5000 user@myserver
Это создаст SOCKS-прокси на локальном порту 5000, который направляет все запросы через myserver.
ssh -L 81:remotehost:80 user@myserver
локальный порт 81 взаимодействует так, как если бы он был 80 на удаленном.
Host myserver User user DynamicForward 5000
Замазка делает это очень хорошо тоже.
Под SSH, goto Tunnels. Внизу поместите 8080 в порт, а для пункта назначения оставьте его черным и выберите переключатель «Динамический». Вот и все, что вам нужно сделать, теперь подключиться к серверу с помощью Putty.
После подключения на локальном хосте у вас работает прокси-сервер с портом 8080, который будет передавать все запросы через ваш сервер.
Теперь используйте веб-браузер и настройте прокси, установив host = localhost и port = 8080, и убедитесь, что вы выбрали SOCKS прокси. Я делаю это все время, поэтому, если вы используете Firefox, обязательно установите плагин FoxyProxy, поскольку он делает включение / отключение прокси одним щелчком мыши.
Внимание: имейте в виду, что по умолчанию ваши DNS-запросы не передаются через прокси. Таким образом, веб-сайт, который вы посещаете через прокси-сервер, все равно будет зарегистрирован (если они регистрируют этот материал). Вы также можете настроить Firefox на DNS-запросы прокси, он просто не делает этого по умолчанию.
sshuttle работает как VPN, но через SSH.
Прозрачный прокси-сервер, который работает как VPN для бедного человека. Нападающие над ssh. Не требует администратора. Работает с Linux и MacOS. Поддерживает DNS-туннелирование.
Чтобы разрешить прокси-серверу запускать компьютер и разрешить другим клиентам подключаться к вам, потребуется опция -g. Например, вы должны запустить это на сервере с именем foo:
ssh -g -ND 9191 root@remotehost
Затем вы можете установить прокси в браузере клиента, чтобы использовать сервер foo и порт 9191 для SOCKS прокси. Клиенты будут отправлять свои запросы слишком foo, которые, в свою очередь, перенаправят запрос через ssh на удаленный хост. Так что в интернете будет похоже, что они используют remotehost.
Если вы также хотите пересылать DNS-запросы с помощью firefox, отредактируйте about: config в firefox и установите для network.proxy.socks_remote_dns значение true.
Вы можете использовать SSHUTTLE, вот учебник о том, как его использовать,
https://etherarp.net/sshuttle-a-vpn-for-the-lazy/
вот учебник, как настроить его для работы в качестве службы,
https://medium.com/@mike.reider/using-sshuttle-as-a-service-bec2684a65fe