我的问题真的很简单,但听起来很复杂,但我对此的经验从零到零。
我已经使用 gentoo 设置了一个盒子,它有自己的半静态 WAN-IP 并充当我的 LAN 的路由器。我可以访问网络上其他地方的路由器,该路由器具有动态 IP 并已注册到 dyndns。我的计划是将特定流量从我的 gentoo-box 重定向到路由器以利用隧道和动态 IP。
我的想法是在我的 gentoo-box 上安装一个代理,它默认使用 VPN 连接到路由器。应该允许 LAN 上的每台计算机和 WAN 上的特定计算机(有权访问代理)使用此代理,但不应强制流量通过路由器。这排除了只使用 iptables 的想法。
示例:我想通过 VPN 重定向 Firefox 流量,而不是 Opera 流量。我将 Firefox 设置为使用本地代理,它获取远程路由器的动态 IP,Opera 仍然使用我的半静态 IP 浏览。
这可能吗?要使用哪个软件?任何进一步的想法?
btw: 路由器支持 PPTP、IPSec 和 L2TP
编辑:如果您对标题有更好的想法,请编辑或提出建议,我不知道如何称呼我的问题:(
我的系统运行 Fedora 16,我住在一个校园里,我们使用 LAN 连接到 Internet。为此,我们使用带有身份验证(用户名和密码)的 http 代理。proxyaddress:port转到“网络设置”窗口后,我尝试将其放入网络代理设置。但是,它从不要求身份验证,并且使用 Internet 的程序无法连接,除了 Firefox,因为它要求身份验证。此外,我可以通过手动编辑yum.conf. 我什至尝试http://username:password@proxy:port在 Yum 配置中使用like 但它没有帮助。
这个问题有什么解决办法吗?
谢谢你。
我正在尝试下载通过基本身份验证保护的文件:
curl "http://User:Pass@example.com/blub/bla.bin"
Run Code Online (Sandbox Code Playgroud)
这工作正常。
一旦我告诉 curl 使用我本地安装的 polipo 它就会失败:
$ http_proxy="http://127.0.0.1:8123" curl "http://XXXXX:Pass@example.com/blub/bla.bin"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>Proxy error: 504 Host XXXXX lookup failed: Host not found.</title>
</head><body>
<h1>504 Host XXXXX lookup failed: Host not found</h1>
<p>The following error occurred while trying to access <strong>http://XXXXX:Pass@example.com/blub/bla.bin</strong>:<br><br>
<strong>504 Host XXXXX lookup failed: Host not found</strong></p>
<hr>Generated Wed, 12 Mar 2014 22:46:10 CET by Polipo on <em>hostname:8123</em>.
</body></html>
$
Run Code Online (Sandbox Code Playgroud)
这是由于 Polipo 或 curl 中的错误引起的吗?(还是我做错了?)
编辑:http_proxy="http://127.0.0.1:8123" curl -u …
有没有办法用某种基于 linux 的代理替换 RDS 网关。我知道有一些方法可以通过 ssh/端口转发来实现,但这是为了替换我们的用户用于远程访问的当前 RDS 网关(约 300 个用户)。我需要支持多个 Windows 客户端,使用其原生 RDP 连接到校园内的 Windows 桌面,并在两者之间使用某种 linux 代理。
根据我的搜索,有一些解决方案(xrdp、ssh 代理、端口转发等)可以满足我的需求,但它们要么对用户不友好,要么涉及使用多个/非标准端口。在我放弃搜索并屈服于为 RDS 支付 MS 许可之前,目前是否可以使用 Linux 使用其本机客户端从 Windows 代理 RDP?
[多个远程 Windows 客户端] => [Linux 代理/网关] => [企业 Windows 桌面]
好吧,这似乎是一件容易的事情,但经过大量搜索后,我无法使其正常工作。我有 Ubuntu 14.04。
这个config.json文件包括我朋友的服务器运行 shadowsocks 的配置:
{
"server":"ip address",
"server_port":23,
"local_port":1234,
"password":"password",
"timeout":600,
"method":"aes-256-cfb"
}
Run Code Online (Sandbox Code Playgroud)
我这样做sslocal -c config.json并成功连接到服务器。
例如,现在我可以google-chrome使用以下命令使其工作:google-chrome --proxy-server="socks5://127.0.0.1:1234" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"
问题是我怎样才能使整个互联网连接首先通过该服务器。这样每个应用程序都可以默认使用它。您可以简单地激活和停用的东西。
我尝试过但失败的事情:
使用tsocks-> https://askubuntu.com/questions/532375/launch-program-through-shadowsocks
使用iptablesas sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:1234-> http://adminsgoodies.com/configuring-ubuntu-for-global-socks5-proxy/
使用系统设置 -> 网络 -> 网络代理以及dconf-tools排除主机 -> https://askubuntu.com/questions/70245/how-do-i-make-the-system-wide-proxy-settings-bypass-the -proxy-for-local-addresse
如何在代理网络下使用 yaourt 安装应用程序。对于 pacman,我可以简单地使用:
export http_proxy=http://usernm:passwd@link:port
sudo -E pacman -S application
Run Code Online (Sandbox Code Playgroud)
但是我该怎么做,yaourt因为它不与sudo特权一起使用。
我想通过 SSH 隧道将本地机器的几个端口转发到远程机器。但是,我希望这发生在单个端口上。是否有可以在单个端口和多个应用程序之间进行多路复用的协议或工具?
编辑:我将很多端口从很多机器转发到一个远程,我想在每台机器的应用程序级别对它们进行多路复用,以在该远程上使用尽可能少的端口。我看到像 sshl 这样的解决方案可以多路复用某些协议,但我不知道任何可以以独立于协议的方式包装消息的通用解决方案。
一般接受的是使用HTTP_PROXY/HTTPS_PROXY环境变量来指定代理服务器的使用。身份验证可以包含在该 URL 中,例如HTTP_PROXY=http://user:pass@myproxy.mydomain.tld:3128/。
但是,我使用 Kerberos SSO 通过代理进行身份验证。我该如何配置呢?因此,假设 Squid 代理服务器配置如下所述: https: //wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos。它描述了 Windows 客户端如何通过协商使用代理身份验证,但没有信息如何配置 Linux/Unix 客户端。
对于 cURL,使用--proxy-negotiate -u :可以解决问题,例如:
HTTPS_PROXY=http://myproxy.mydomain.tld:3128/ curl --proxy-negotiate -u : https://www.google.com
Run Code Online (Sandbox Code Playgroud)
如何告诉非 cURL 应用程序使用此机制?例如 Debian/Ubuntu APT 带有Acquire::http::Proxy "http://myproxy.mydomain.tld:3128/";?
我发现cntlm充当中间另一个本地运行的代理,促进来自本地主机的未经身份验证的连接。但是,这仅适用于 NTLM,而我需要 Kerberos。Squid 是否能够使用 Kerberos 作为客户端进行连接?众所周知,在代理服务器的传出连接上找到身份验证功能似乎非常困难。所有这些似乎都集中在侦听套接字上的身份验证功能上。
我工作的地方迫使我使用代理来访问 Internet。正如我们所知,设置代理只不过是将一个字符串export http_proxy=http://account:password@proxy.com:8080放入配置文件中,例如.bashrc. 我这样试过,效果很好。
我只是在想是否有另一种更安全的方法来做到这一点?在我看来,将密码作为明文写入某些配置文件是不安全的。
我有一个只能通过单个端口访问的服务器(我使用带端口转发的 VPN)。我已经使用 NGINX 为我托管的一些 HTTPS 服务器设置了反向代理。
我想知道是否可以做类似的事情,我可以指定一个位置,并将其重定向到带有 ssh 端口 22 的 LAN IP。
location /ssh/ {
proxy_pass 192.168.1.44:22;
}
Run Code Online (Sandbox Code Playgroud)
我知道 proxy_pass 仅适用于 HTTP,但我想知道是否有适用于 ssh 的东西。