linux下网络代理的设置
http代理
export http_proxy=http://127.0.0.1:8888
export https_proxy=http://127.0.0.1:8888
也可以使用socks代理
export all_proxy=socks5://127.0.0.1:8888
要注意的是当使用socks代理时,python需要安装pysock包,否则无法使用
这些设置可以直接添加在~/.bashrc
文件中,以便于系统启动时自动使用代理,如果用在命令行里,则只对当前会话有效。
windows下网络代理的设置
windows下的代理设置分为传统cmd和powershell两种情况
传统cmd
set http_proxy=socks5://127.0.0.1:8888
set https_proxy=socks5://127.0.0.1:8888
cmd这个也可以使用 http代理,但这个设置放到powershell里是不起作用的
powershell
$env:http_proxy = "http://127.0.0.1:8888"
$env:https_proxy = "http://127.0.0.1:8888"
powershell里只支持http代理,设置成socks5://xxxx
是不起作用的
ssh的一些解决网络问题有用的参数
-L 参数
ssh -L localhost:8787:remote1:9999 user@remote2
此命令可以将对本地8787端口的访问通过remote2映射到remote1的9999端口上,remote2算是中间跳板服务器,对remote1来说看到的就是remote2对remote1的访问,实际这个访问是由localhost发起的,当然这里的remote2也可以是remote1本身,即remote1充当了这个转发者
-R 参数
ssh -R remote:8787:localhost:3000 user@remote
此命令可以将对remote的8787端口的访问转发到本机3000端口上,这其实就是一个反向代理,让内网服务可以被remote所在的网段的其他机器所访问(如果remote是运行在公网之上,local的服务可以被公网访问
-D 参数
ssh -D 127.0.0.1:9999 user@remote
此命令可以开启一个TCP代理,其端口号就是9999,当其他程序使用该代理地址时,即可代理其他程序的TCP访问请求