Думаю, ви більшість шляхів там, оскільки ви згадали про використання проксі SOCKS. С ssh
, ви можете налаштувати свій локальний проксі-сервер SOCKS на вашому локальному комп'ютері, прокладений через ssh-з'єднання; напр. :
ssh -D 3128 user@remote.host.com
Потім потрібно повідомити веб-переглядачу, щоб він використовував цей локальний проксі-сервер для підключення до Інтернету. Для Firefox ці налаштування знаходяться в Налаштування & gt; & gt; Розширений & gt; & gt; Мережа & gt; & gt; Підключення . Потім можна встановити Ручна конфігурація проксі-сервера & gt; & gt; SOCKS Host до localhost
і 3128
.
Зверніть увагу, що це статичний, і вам потрібно буде оновити його при кожному підключенні / відключенні.
Крім того, ви сказали, що ваш віддалений сервер ....
... підключається до Інтернету за допомогою проксі-сервера LAN.
Я вважаю, що мережа, до якої ви підключаєтеся через SSH, має власний проксі-сервер для мережевих з'єднань, у цьому випадку вам може знадобитися отримати складніші налаштування; Важко бути остаточним без додаткової інформації.
В іншому випадку, залежно від операційної системи, ви зможете використовувати параметри проксі-сервера системи або, якщо ви дійсно захоплюєтеся, ви можете встановити "URL-адресу автоматичного налаштування проксі-сервера: до файлу. Я робив це, коли працював у компанії з Наприклад, тут використовується файл конфігурації, який я використав - багато прикладів, але вам доведеться з'ясувати правильні параметри для вас.
// Personal/Portable Proxy Auto Config -- in -*- conf -*- mode
//
// Point your web-browser or good mail client (e.g. Thunderbird)
// at this automatic configuration script.
//
// Reasonable references for PAC stuff:
// - http://en.wikipedia.org/wiki/Proxy_auto-config
// - http://findproxyforurl.com/example-pac-file/
//
// This is not for the weak of heart. If you want something
// user friendly and still configurable, try:
// - https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard
////
// normal, non-firewalled, non-proxied...
var PROXY = "DIRECT";
var SOCKS = "DIRECT";
var DOMAIN = ".nomatch";
var IPCACHE = "bogus";
var LOCALPROXY = "PROXY localhost:3128";
function MyPACSetup() {
alert("MY IP = " + myIpAddress());
PROXY = "PROXY proxy.corporation.com:8080;" +
"DIRECT";
SOCKS = "DIRECT";
DOMAIN = ".nomatch";
IPCACHE = myIpAddress();
NETMASK = "255.255.0.0";
// Proxy web locally when inside 10.x.x.x nonrouteable
//if (isInNet(myIpAddress(), "192.168.158.0", "255.255.255.0")) {
//if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0")) {
//if (isInNet(myIpAddress(), "128.99.3.0", "255.255.255.0")) {
if (isInNet (myIpAddress(), "164.145.43.0", NETMASK)) {
DOMAIN = ".nomatch";
SOCKS = "SOCKS localhost:1080";
PROXY = "SOCKS localhost:1080;" +
"DIRECT";
}
// Proxies when inside
// if (isInNet(myIpAddress(), "129.235.0.0", "255.255.0.0")
// || isInNet(myIpAddress(), "199.62.0.0", "255.255.0.0")) {
// DOMAIN = ".corporation.com";
// NETMASK = "255.255.0.0";
// PROXY =
// //"PROXY lug.corporation.com:3128;" +
// //"PROXY mspcf01.corporation.com:8080;" +
// //"PROXY tmpproxy.corporation.com:8080;" +
// "DIRECT";
// SOCKS =
// //"SOCKS localhost:1080";
// "SOCKS lug.htc.corporation.com:1080";
// }
// Dwight's world
// if (isInNet(myIpAddress(), "192.168.17.0", "255.255.255.0")) {
// PROXY = "128.99.0.23:500"; // + ";DIRECT";
// SOCKS = "128.99.0.23:500";
// }
alert("PROXY = " + PROXY);
alert("SOCKS = " + SOCKS);
alert("DOMAIN = " + DOMAIN);
}
function FindProxyForURL(url, host) {
// Re-configure proxies when IP changes
// Handles portables moving around different networks
if (myIpAddress() != IPCACHE) { MyPACSetup(); }
//alert("URL: " + url);
// Testing localhost proxy for wfuzz or other hacking
if ( host == "localhost" ) {
alert("localhost: " + host + " -- returning PROXY");
return LOCALPROXY;
}
// local and loopback hosts are always direct
// should non-routable be here too?
if ( isPlainHostName(host)
|| dnsDomainIs(host, DOMAIN)
//|| host == "localhost"
|| isInNet(host, "127.0.0.0", "255.255.255.0")
|| isInNet(host, IPCACHE, NETMASK)
) {
//alert("Plain/local host: " + host + " -- returning DIRECT");
return "DIRECT";
}
// Mostly for Thurderbird
// IF host is local or in DOMAIN, above check will succeed
if (url.substring(0, 5) == "imap:"
|| url.substring(0, 7) == "mailto:"
|| url.substring(0, 5) == "nntp:") {
//alert("Mail/News protocols - returning SOCKS");
return SOCKS;
}
// Tunnel blocked sites through our SOCKS server
if ( shExpMatch(host, "*poker*")
|| shExpMatch(host, "*.emusic.com")
|| shExpMatch(host, "www.myspace.com")
|| shExpMatch(host, "*beer*")
|| shExpMatch(host, "*youtube.com")
|| shExpMatch(host, "*.somethingawful.com")
|| shExpMatch(host, "www.rst38.org.uk")
|| shExpMatch(host, "*videodownloader.net")
|| shExpMatch(host, "*javimoya.com")
|| shExpMatch(host, "gnupg.org")
|| shExpMatch(host, "*.asobrain.com")
|| shExpMatch(host, "*climateprediction.net")
|| shExpMatch(host, "*rsscache.com")
//|| shExpMatch(host, "*winamp.com*")
// || dnsDomainIs(host, ".windowsupdate.com")
// || dnsDomainIs(host, "windowsupdate.microsoft.com")
// || dnsDomainIs(host, ".windowsupdate.microsoft.com")
) {
alert("Corporation Blocked -- returning SOCKS");
return SOCKS;
}
// if (url.substring(0, 5) != "http:") {
// //alert("NON HTTP -- returning SOCKS");
// return SOCKS;
// }
// if (url.substring(0, 5) == "https:") {
// //alert("HTTPS -- returning DIRECT + PROXY");
// return "DIRECT;" + PROXY;
// }
// Otherwise use normal proxy
//alert("Default PROXY");
return PROXY;
}
// eof
Зауважте, що я навіть використовував цей конфігураційний файл для проксі з SMTP і IMAP, коли вони також були заблоковані, тому я міг потрапити до особистої електронної пошти через Thunderbird, який також підтримує параметри файлів PAC.
Як завжди, YMMV ... Сподіваюся, що це допомагає.